Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
pessoal já vi varios undefined variable mas nunca vi um parecido com esse:
if (!$pag) {
como resolvo?
codigo completo
if (!$pag) {
$pc = "1";
} else {
$pc = $pag;
}
>
Notice: Undefined variable: pag in F:\Guilherme\www\wamp\mural.php on line 9
a paginaçao
if (!$pag) {
$pc = "1";
} else {
$pc = $pag;
}
$inicio = $pc - 1;
$inicio = $inicio * $total_reg;
$limite = mysql_query("$busca LIMIT $inicio,$total_reg");
$todos = mysql_query("$busca");
$tr = mysql_num_rows($todos); // total registros
$tp = $tr / $total_reg; // total paginas
$total_por_pagina = $pag * $total_reg;
echo"<table cellspacing=0 cellpadding=0 width=504 border=0 style=border-collapse: collapse bordercolor=#111111><tbody><tr><td>";
echo"<font face=Tahoma size=1> São <b>$tr</b> comentários.
</font>
so nao funciona no localhost
acho q é a configuraçao
:seta: Usando a diretiva Register Globals
>
Este recurso tornou-se OBSOLETO a partir do PHP 5.3.0 REMOVIDO do PHP 6.0.0. Confiar neste recurso é extremamente não recomendado.
>
Talvez a mudança mais controversa no PHP foi quando o valor padrão da diretiva do PHP register_globals passou de ON (Ligado) para OFF (Desligado) na versão » 4.2.0. Era muito comum as pessoas dependerem da diretiva e muitas delas nem sabiam que ela existia e presumiam que era a maneira como o PHP funcionava. Essa página explica como alguém pode escrever código inseguro com essa diretiva, mas tenha em mente que a diretiva em si não é insegura, o uso incorreto dela é que é.
Quando ligada, a diretiva register_globals criará para seus scripts vários tipos de variáveis, como as variáveis oriundas de formulários HTML. Isso, combinado com o fato de que o PHP não requer inicialização de variáveis, significa que é mais fácil escrever código inseguro. Foi uma decisão difícil, mas a comunidade do PHP decidiu que, por padrão, essa diretiva deveria ser desabilitada. Quando habilitada, é possível usar variáveis sem saber ao certo de onde elas vieram. Variáveis internas que são definidas no script em si se misturam com dados enviados pelos usuários e desabilitando a diretiva muda isso.
<?php
$pag = isset( $_GET[ 'pag' ] ) ? $_GET[ 'pag' ] : 1;carlos, pode me dar um exemplo?
li o manual
obrigado. só não entendi o "1" no final
nessa linha tb teria q usar get, post?
$mensagem= $dados["comentario"];
A grosso modo, tudo o que vier pela URL use $_GET[ 'nome-da-variavel' ], se vier por formulário e ele tiver o method definido como post use $_POST[ 'nome-da-variavel' ];
:seta: [$_GET](http://www.php.net/manual/pt_BR/reserved.variables.get.php)
:seta: [$_POST](http://www.php.net/manual/pt_BR/reserved.variables.post.php)
:seta: Variáveis de fontes externas
ok obrigado.
e onde ficaria o $dados?
Como vou saber?
De onde vem essa variável?
O que ela deveria conter?
eu tenho
$mensagem= $dados["comentario"];
é uma variavel nao definida
creio q eu tenha q usar post pq é formulario
$i = 0;
while ($dados = mysql_fetch_array($limite)) {
$id = $dados["id"];
$nome = $dados["nome"];
$email = $dados["email"];
$color = ( $i % 2 == 0 ) ? '#F5F5F5' : '#FFFFFF';
echo"<tr bgcolor='$color'>";
echo"<TD align=center><br>";
echo"<font face=Tahoma size=1><b>Adicionado por:</b> $nome</font><br>";
echo"<font face=Tahoma size=1><b>Comentário:</b> $comentario</font><br>";
$mensagem= $dados["comentario"];
$mensagem= $dados["comentario"];
é um mural de recados
nessa parte os recados sao exibidos
Não, essa variável não, esse é um array associativo que contém dados vindos de uma consulta ao banco de dados.
poxa entao o que eu vou fazer?
O seu problema é bem maior do que você falou.
Vamos por partes. Configure seu código para exibir TODAS as mensagens de erro, adicionando este código à primeira linha do script.
<?php
ini_set( 'display_errors', true );
error_reporting( E_ALL );
Execute o script novamente, veja os erros e corrija-os.
fiz isso no codigo apesar de meu servidor ja estar configurado pra fazer isso
so falta esse
Notice: Undefined variable: comentario in F:\Guilherme\www\wamp\mural.php on line 53
tenho isso
$mensagem= $dados["comentario"];
$mensagem= $dados["comentario"];
$mensagem=str_replace("<", "[",$mensagem);
$mensagem=str_replace(">", "]",$mensagem);
$mensagem=str_replace(":anj:", "<IMG src=smilies/001.gif >",$mensagem);
$mensagem=str_replace(":ner:", "<IMG src=smilies/002.gif >",$mensagem);
$mensagem=str_replace(":olh:", "<IMG src=smilies/003.gif >",$mensagem);
$mensagem=str_replace(":lov:", "<IMG src=smilies/004.gif >",$mensagem);
$mensagem=str_replace(":bol:", "<IMG src=smilies/005.gif >",$mensagem);
$mensagem=str_replace(":enj:", "<IMG src=smilies/006.gif >",$mensagem);
$mensagem=str_replace(":cho:", "<IMG src=smilies/007.gif >",$mensagem);
$mensagem=str_replace(":tim:", "<IMG src=smilies/008.gif >",$mensagem);
$mensagem=str_replace(":cor:", "<IMG src=smilies/009.gif >",$mensagem);
$mensagem=str_replace(":bej:", "<IMG src=smilies/010.gif >",$mensagem);
$mensagem=str_replace(":lua:", "<IMG src=smilies/011.gif >",$mensagem);
$mensagem=str_replace(":msn:", "<IMG src=smilies/012.gif >",$mensagem);
$mensagem=str_replace(":mid:", "<IMG src=smilies/013.gif >",$mensagem);
$mensagem=str_replace(":esp:", "<IMG src=smilies/014.gif >",$mensagem);
$mensagem=str_replace(":tel:", "<IMG src=smilies/015.gif >",$mensagem);
$mensagem=str_replace(":pre:", "<IMG src=smilies/016.gif >",$mensagem);
$mensagem=str_replace(":ale:", "<IMG src=smilies/017.gif >",$mensagem);
$mensagem=str_replace(":flo:", "<IMG src=smilies/018.gif >",$mensagem);
$mensagem=str_replace(":tri:", "<IMG src=smilies/019.gif >",$mensagem);
$mensagem=str_replace(":ocu:", "<IMG src=smilies/020.gif >",$mensagem);
$mensagem=str_replace(":est:", "<IMG src=smilies/021.gif >",$mensagem);
$mensagem=str_replace(":sor:", "<IMG src=smilies/022.gif >",$mensagem);
$mensagem=str_replace(":lin:", "<IMG src=smilies/023.gif >",$mensagem);
$mensagem=str_replace("[br /]", "<br>",$mensagem);
sao os smiles
quando envio o comentario tem mais varios, mas eu quero aprender a resolver esses undefined variable
isso so acontece quando eu executo no localhost pq uma versao mais superior
quem é $pag ? oque deveria ser ?