Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
Olá galera
Segui a orientação de hinon nesse forum e resolvi meu problemas,
mas valeu a dica de uatex.
Apenas fiz isso da orientação dele:
Verifique se no php.ini o register_globals está "on" ou "off"
segue o link:
http://www.imasters.com.br/forum/index.php...efined+variable
Grato a todos e a hinon
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".
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
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".
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
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+> 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?GratoTem 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 $codautoOlá 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...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?
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