Ir para conteúdo

POWERED BY:

Arquivado

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

Jaderdj

[Resolvido] problema Undefined variable: PHP_SELF

Recommended Posts

ola pessoal

 

estou com o seguinte problema tenho um site e estou fazendo uma area de noticias com cadastro ne noticias e tals. oque acontece é o seguinte se eu acessar ela pelo localhost na minha maquina funciona normal, mas se agora se eu colocar ele no servidor ele da um erro :

 

Notice: Undefined variable: PHP_SELF in /var/www/html/wordpress/pt/noticias/noticias_admin.php on line 134

 

alguem sabe me dizer oke pode ser isso

 

 

 

 

valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste esse trecho de código ai.

Mas antes de usar uma variável você deve testá-la, se existe. Se não gera notices ou warnings..

Compartilhar este post


Link para o post
Compartilhar em outros sites

humm

cara ta ai um trecho do codigo que da o erro

 

# Mostra os dados que estão no Banco de Dados

echo "<form method=\"post\" action=\"$PHP_SELF\">

<p><b>" . $linha["titulo"] . "</b><br>" . $linha["corpo"] . "<br><i>" . $linha["DATA"] . " - " . $linha["hora"] . "</i></p>

<p><input type='hidden' name=\"id\" value=\"" . $linha["id"] . "\">

<input type='hidden' name=\"pass\" value=\"$senha\">

<input type=\"submit\" name=\"recuperar\" value=\"Editar\"> <input type=\"submit\" name=\"deletar\" value=\"Deletar\"></p>

</form>";

 

faloww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso aqui:

echo "<form method=\"post\" action=\"$PHP_SELF\">
realmente não existe.

deveria ser:

echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">'.

http://br2.php.net/manual/en/reserved.variables.server.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara agora deu esse erro aqui :

 

 

Parse error: syntax error, unexpected '<' in /var/www/html/wordpress/pt/noticias/noticias_admin.php on line 135

 

mas eu nao achei nada errado!!!

 

# Mostra os dados que estão no Banco de Dados

echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">'.

<p><b>" . $linha["titulo"] . "</b><br>" . $linha["corpo"] . "<br><i>" . $linha["DATA"] . " - " . $linha["hora"] . "</i></p>

<p><input type='hidden' name=\"id\" value=\"" . $linha["id"] . "\">

<input type='hidden' name=\"pass\" value=\"$senha\">

<input type=\"submit\" name=\"recuperar\" value=\"Editar\"> <input type=\"submit\" name=\"deletar\" value=\"Deletar\"></p>

</form>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isto é erro de sintaxe.

echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">
<p><b>' . $linha['titulo'] . '</b><br>' . $linha['corpo'] . '<br><i>' . $linha["DATA"] .' - '. $linha['hora'] . '</i></p>
<p><input type="hidden" name="id" value="' . $linha['id'] . ' ">
<input type="hidden" name="pass" value="'.$senha.'">
<input type="submit" name="recuperar" value="Editar"> <input type="submit" name="deletar" value="Deletar"></p>
</form>';

Deve funcionar

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh pq nessa primeira linha onde aparece a tag form...parece q você colocou um ponto, depois da aspas, ae ele pensa r <p faz parte do codigo e gera o erro...da uma olhadinha ae....

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal eu dei uma olhada e alterei ali

 

so que agora ele aparece esse erro:

 

Notice: Undefined index: DATA in /var/www/html/wordpress/pt/noticias/noticias_admin.php on line 135

 

 

# Mostra os dados que estão no Banco de Dados

echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">

<p><b>' . $linha['titulo'] . '</b><br>' . $linha['corpo'] . '<br><i>' . $linha["DATA"] .' - '. $linha['hora'] . '</i></p>

<p><input type="hidden" name="id" value="' . $linha['id'] . ' ">

<input type="hidden" name="pass" value="'.$senha.'">

<input type="submit" name="recuperar" value="Editar"> <input type="submit" name="deletar" value="Deletar"></p>

</form>';

 

}

 

nao sei oque pode estar acontecendo !!

 

 

obrigado pessoal .

Compartilhar este post


Link para o post
Compartilhar em outros sites

a própria mensagem de erro diz a resposta

 

"Notice: Undefined index" http://forum.imasters.com.br/public/style_emoticons/default/seta.gif índice "DATA " indefinido na linha 135

 

o que tem na lnha 135 contendo a palavra "DATA" ?

 

palpite:

<p><b>' . $linha['titulo'] . '</b><br>' . $linha['corpo'] . '<br><i>' . $linha["DATA"] .' - '. $linha['hora'] . '</i></p>

 

O quê fazer ?

 

certifique-se qual o nome correto para o índice.

 

aparentemente é um array provindo de alguma consulte ao banco de dados

se for isso, verifique qual o nome correto do indice no banco de dados ou uso de "alias" na query SQL que faz a consulta ao banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A mensagem Notice: Undefined index: DATA apenas avisa que $linha["DATA"] nao tem um valor (ou nao existe), mensagens do tipo NOTICE nao atrapalha a execucao do script. Para tirar estas mensagens notice use:

error_reporting(6135);

ou

 

error_reporting(0);
para tirar todas mensagens de erro.

 

Assim o script nao exibira mais estas mensagens de erro, voce pode tbm colocar @ antes da variavel que esta dando a mensagem notice

@$linha["DATA"];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sugiro que você não faça como o Rafael WapBrasil colocou, de suprimir as mensagens de erro, pois, neste seu caso o script não vai funcionar como deveria e você não vai nem saber o porque. Em ambiente de desenvolvimento é importante exibir TODAS as mensagens, inclusive NOTICE (pelo menos na minha opinião).

 

Apenas complementando o que o hinon disse, veja que o PHP é case-sensitive. Então, $linha["DATA"] é DIFERENTE de $linha["data"].

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal por um lado consegui resolver

 

mas agora ele apareceu essa mensagen denovo ai eu tentei fazer mas nao deu certo :

 

Notice: Undefined variable: PHP_SELF in /var/www/html/wordpress/pt/noticias/noticias_admin.php on line 110

 

 

# Mostra os dados a serem atualizados

echo "<form method=\"post\" action=\"$PHP_SELF\">

<p>Titulo da notícia:<br><input type=\"text\" name=\"titulo\" size=\"30\" value=\"" . $linha["titulo"] . "\"></p>

<p>Corpo da notícia:<br><textarea name=\"corpo\" rows=\"6\" cols=\"40\">" . $linha["corpo"] . "</textarea></p>

<p><input type='hidden' name=\"id\" value=\"" . $linha["id"] . "\">

<input type='hidden' name=\"pass\" value=\"$senha\">

<input type='hidden' name=\"data\" value=\"" . $linha["data"] . "\">

<input type='hidden' name=\"hora\" value=\"" . $linha["hora"] . "\">

<input type=\"submit\" name=\"update\" value=\"Postar\"></p>

</form>";

 

agradeço a ajuda desde ja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

oO

mas voltamos para o mesmo erro ??

echo "<form method=\"post\" action=\"$_SERVER['PHP_SELF']\">
Poxa vida.. tentei te apontar o erro, sugerir como fazer melhor.. eu esperava que você tentasse ao menos entender oque fiz, porque mudei as aspas.. porque postei um link para o manual... http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

conforme o post do Matiaz_resende no post 11, não é aconselhável o que o Rafael sugeriu no post 10

 

também não entendi porque você voltou ao mesmo erro do post numero 3, o qual já havia sido solucionado.

 

aparentemente você está mexendo numa outra página, mas o erro é praticamente o mesmo.

 

o erro maior está sendo falta de atenção e empenho de sua parte em querer aprender.

 

não estamos aqui para julgar o seu nivel de conhecimento, mas pelo nivel das perguntas aparentemente você está pegando um serviços feito pro terceiros sem ter mínimo de conhecimento sobre o que ou como fazer.

 

estude desde o começo sobre o que é o PHP, que são variáveis, o que é HTML, etc.

 

obs: o comentário fora de contexto [e apenas um conselho, não se ofenda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hoje em dia a maioria das hospedagens nao apresenta estes tipos de erros NOTICE. "As mensagens NOTICE irão avisar a você sobre mal estilo. Por exemplo, $arr[item] é melhor que seja escrito como $arr['item'] já que o PHP irá tratar "item" como uma constante. Se não for uma constante, o PHP irá considerar como uma string de índice para a matriz." (php.net).

A variavel $PHP_SELF troque para $_SERVER["PHP_SELF"];

 

Ainda recomendo que desative as mensagens NOTICE, pois por exemplo em um formulario, se a pessoa nao digitar nada em um campo vai aparecer a tal NOTICE, que nao e nada legal um site apresentando estas mensagens. Obviamente voce so vai desativar as mensagens quando terminar o script. Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagina se no caso dele estivesse sem exibir os erros??? Quando que ele ia ver que o problema estava no PHP_SELF? Ou no $linha[DATA]??? Ele ia ficar 1 semana no mínimo para achar estes erros. Por isso eu disse:

 

Em ambiente de desenvolvimento é importante exibir TODAS as mensagens, inclusive NOTICE (pelo menos na minha opinião).

Veja que eu disse em ambiente de desenvolvimento, ou seja, em casa, no servidor de testes. No servidor de produção, aí é outra história...

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom pessoal eu agradeço a ajuda de vcs.

 

vcs me ajudarao bastante e consegui resolver o problema

 

so olhei o codigo de novo com calma e consegui resolver. So espero que não tenham ficado chateado comigo, peço desculpa a vcs e vou prestar um pouco mais de ateção nos codigos tambem.

 

ate pq eu tenho outra duvidas que gostaria de tirar com vcs ..

 

 

 

 

abraços

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.