Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

meujovem

Notice: Undefined variable: codauto1 in

Recommended Posts

Caros Jovens

Estou com problema nessa mensagem de erro:

 

Notice: Undefined variable: codauto1 in c:\inetpub\wwwroot\autonet\detalhes.php on line 17

 

Esta é a linha 17

$sql = $sql . "WHERE codauto = '$codauto1' ";

 

Antes os scripts funcionavam normalmente, depois que procisei trocar de máquina, pronto a minha vida mudou, essses codigos nao funcionam..

Antes eu usava o:

pws, php e mysql ( funcionava normalmente )

 

hoje

Trabalho com:

IIS, PHP e MySQL

 

Tenho um arquivo que chama uma tabela em DB, até ai tudo Bem, mas no link para expor os detalhes do produto, nao funciona...

 

Veja uma parte do codigo do arquivo detalhes.php

 

<?php//requer arquivo para conexão com o banco de dadosrequire("include/abreconexao.inc");// Cria a sentença SQL$sql = "SELECT * ";$sql = $sql . "FROM automoveis ";$sql = $sql . "WHERE codauto = '$codauto1' ";// Carrega os registros selecionados$rs = mysql_query($sql, $conexao) or die ("Não foi possível efetuar a consulta 2");$numReg = mysql_num_rows($rs);?>

// aqui em baixo o código continua

 

qualquer ajuda será bem vinda..

Grato..

meujovem

Compartilhar este post


Link para o post
Compartilhar em outros sites

tal vez isso seja questão de configuração do php tenta usar(POST ou GET)$_POST[nome_variavel]dai se funciona se pode atualizar seus scripts ou mudar no php.ini

Compartilhar este post


Link para o post
Compartilhar em outros sites

O correto mesmo é você usar os arrays $_GET, $_POST, $_COOKIE, $_SESSIONS e por aí vai. Por que por padrão (questão de segurança) o PHP vem com a register_globals setada pra "off" e se você for hospedar um script em um servidor que esteja configurado dessa maneira seu script vai ter sérios problemas.Mas se você usar os arrays.. não vai ter problema nenhum mesmo a register globals estando em "on" ou "off".Você tem que simular ao máximo o ambiente de produção quando tá desenvolvendo alguma coisa.. estrutura de diretórios, configuração de servidores e etc! Pra evitar aqueles problemas de quando você muda o servidor "o site para de funcionar".

Compartilhar este post


Link para o post
Compartilhar em outros sites

ZeholiveiraRealmente você tem toda razao, apesar de o script estar funcionando aqui localmente na minha máquina, nao sei se esse php.ini o register_globals está "on" ou "off" no servidor que irei hospedar o site...Por isso gostaria de sua ajuda para configurar meus códigos utilizando os arrays $_GET, $_POST, $_COOKIE, $_SESSIONS Posso contar com a sua ajuda..???? Mas sou iniciante em php..Gratomeujovem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lógico que é evidente que claro que pode contar.. Hehehe =)Basicamente todas as variáveis recuperadas por formulário ou pela query string você tem que usar o array com o método que está usando ($_GET ou $_POST).E quando for usar session, sempre use $_SESSION! Esqueca session_register e etc.. isso é das antigas Hehe! Basta fazer $_SESSION['foo'] = "bar"; pra gravar uma sessão...Vá tentando rodar seus scripts, consertando esses erros aos poucos... onde aparecer undefined variable é muito provável que você esteja usando uma variável vinda de um form sem usar os arrays "mágicos".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu zeholiveira

 

Então vou te pedir sua ajuda....

Logo abaixo está uma parte do codigo de um arquivo:

 

<?php//requer arquivo para conexão com o banco de dadosrequire("include/abreconexao.inc");// Cria a sentença SQL$sql = "SELECT * ";$sql = $sql . "FROM automoveis ";$sql = $sql . "WHERE codauto = '$codauto1' ";// Carrega os registros selecionados$rs = mysql_query($sql, $conexao) or die ("Não foi possível efetuar a consulta 2");$numReg = mysql_num_rows($rs);?>

Como seria o código dessa linha usando array:

$sql = $sql . "WHERE codauto = '$codauto1' ";

No meu db uma das tabelas tem o seguinte campo:

codauto

 

Tenho um link onde chama o arquivo detalhes com o seguinte código:

<a href="detalhes.php?codauto1=<?php echo $codauto; ?>"
Como seria o código desse link acima usando array?

 

O arquivo que carrega os registros tem também essa linha:

$codauto = $linha ["codauto"];
Como seria o código dessa linha acima usando array?

 

Não sei se deu pra voce entender..

 

Eu estou impossibilitado de fazer ftp, por isso nao posso facilitar os arquivos completos, mas se você permitisse por e-mail eu te mandaria os arquivos completos...

mas se puder me orientar com essas informações que apresentei eu ficarei muito grato...

 

meujovem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi você pode resolver o seu problema assim:<?php// Recupera a querystring enviada pelo browser$codauto1 = $_GET["$codauto"];//requer arquivo para conexão com o banco de dadosrequire("include/abreconexao.inc");// Cria a sentença SQL$sql = "SELECT * ";$sql = $sql . "FROM automoveis ";$sql = $sql . "WHERE codauto = '$codauto1' ";// Carrega os registros selecionados$rs = mysql_query($sql, $conexao) or die ("Não foi possível efetuar a consulta 2");$numReg = mysql_num_rows($rs);?>Isso deve resolver, basta recuperar o código enviado pelo $_GET atribuindo o valor para variável usada na busca no caso $codauto1Espero que seja isto..t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi você pode resolver o seu problema assim:<?php// Recupera a querystring enviada pelo browser$codauto1 = $_GET["$codauto"];//requer arquivo para conexão com o banco de dadosrequire("include/abreconexao.inc");// Cria a sentença SQL$sql = "SELECT * ";$sql = $sql . "FROM automoveis ";$sql = $sql . "WHERE codauto = '$codauto1' ";// Carrega os registros selecionados$rs = mysql_query($sql, $conexao) or die ("Não foi possível efetuar a consulta 2");$numReg = mysql_num_rows($rs);?>Isso deve resolver, basta recuperar o código enviado pelo $_GET atribuindo o valor para variável usada na busca no caso $codauto1Espero que seja isto..t+

beleza msjE agora me resta a seguinte dúvida. como faço o seguinte link usando a array?
<a href="detalhes.php?codauto1=<?php echo $codauto; ?>
Fiz isso e não deu certo:
<a href="detalhes.php?$codauto1=<?php echo $_GET["$codauto"]; ?>
Alguma sugestão? onde estou errando?Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem que ser assim:<a href="detalhes.php?$codauto1=<?php echo $_GET["codauto"]; ?> :P Você tá recuperando um valor do GET e não a variável $codauto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá meujovem mjsEu fiz o que você orientou mas nao deu...Veja bem, aqui está um teste, eu deixei as duas linhas// Recupera a querystring enviada pelo browser$codauto = $linha ["codauto"];$codauto1 = $_GET["$codauto"];// Cria a sentença SQL$sql = "SELECT * ";$sql = $sql . "FROM automoveis ";$sql = $sql . "WHERE codauto = '$codauto1' ";E aqui eu coloquei esses links:<a href="detalhes.php?codauto1=<?php echo $codauto; ?>" <a href="detalhes.php?$codauto1=<?php echo $_GET["codauto"]; ?>"O primeiro link funciona, mas não estou utilizando array, mas o segundo link nao funciona, aqui a mensagem de erro:Notice: Undefined variable: codauto1 in c:\inetpub\wwwroot\autonet\detalhes.php on line 17 Linha 17:$sql = $sql . "WHERE codauto = '$codauto1' "; Grato...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala meujovemO certo é assim:// Recupera a querystring enviada pelo browser$codauto = $linha ["codauto"];$codauto1 = $_GET["codauto"];// Cria a sentença SQL$sql = "SELECT * ";$sql = $sql . "FROM automoveis ";$sql = $sql . "WHERE codauto = '$codauto1' ";Quanto ao link (não tinha notado aquele $codauto1), faça assim:<a href="detalhes.php?codauto1=<?php echo $_GET["codauto"]; ?>"Uma pergunta esses códigos estão todos no mesmo arquivo? Certo? Qual o nome do arquivo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.