#Tigre Postado Janeiro 11, 2008 Denunciar Share Postado Janeiro 11, 2008 Olá pessoal,estou usando uma função de paginação que encontrei e está funcionando corretamente, mas na primeira página aparecem dois probleminhas que não consigo identificar a causa.A função está neste link:http://forum.wmonline.com.br/index.php?showtopic=129828E os problemas são essas duas mensagens de erro:Notice: Undefined index: pagina in c:\classificados\admanuncios_ativos_usuarios.php on line 110Notice: Undefined variable: html in c:\classificados\admanuncios_ativos_usuarios.php on line 73A linha 110 é essa em azul:$lpp = "10";$pagina = $_REQUEST['pagina'];if ($pagina == "") {$pagina = 1;}$inicio = ($pagina * $lpp) - $lpp;E a linha 73 essa:while ($primeira <= $ultima) {if ($primeira == $pagina) {$html .= $primeira;}As mensagens só aparecem na primeira página.Se alguém souber o porque das mensagens e puder passar a dica, agradeço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Janeiro 11, 2008 Denunciar Share Postado Janeiro 11, 2008 O índice "pagina" não existe no array $_REQUEST. Use isset() para verificar a existência de uma variável.Inicie $html com o valor nulo antes de concatenar um valor a ela. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 #Tigre Postado Janeiro 11, 2008 Autor Denunciar Share Postado Janeiro 11, 2008 Olá Beraldo, vou testar as suas dicas. Agradeço pela atenção. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Henderson Postado Janeiro 11, 2008 Denunciar Share Postado Janeiro 11, 2008 só completando o que o beraldo disse, pra pegar o valor dá página sem dar aquele erro, faça assim$pagina = (isset($_GET['pagina'])) ? $_GET['pagina'] : 1;;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Janeiro 12, 2008 Denunciar Share Postado Janeiro 12, 2008 Exatamente, Henderson. Essa sintaxe nos poupa linhas de código. Essa simples linha resume isto:if (isset($_GET['pagina'] )) { $pagina = (int)$_GET['pagina']; } else { $pagina = 1; }Coloquei o (int) para ter certeza de que o retorno será um inteiro. ;) Como nem todos conhecem o Operador Ternário, eis o link explicativo:http://www.php.net/manual/pt_BR/language.o....comparison.php Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 #Tigre Postado Janeiro 14, 2008 Autor Denunciar Share Postado Janeiro 14, 2008 (editado) Fazendo assim também funcionou, mas será que tem lógica?a primeira linha eu eliminei.//$pagina = $_REQUEST['pagina']; (linha eliminada) if (isset($pagina)){ $pagina=""; } if ($pagina == "") {$pagina = 1;} $inicio = ($pagina * $lpp) - $lpp;Corrigiu o problema, mas o esquema que vocês passaram parece ser mais confiável. Editado Janeiro 14, 2008 por #Tigre Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Janeiro 14, 2008 Denunciar Share Postado Janeiro 14, 2008 $pagina só existirá automaticamente se register_globals estiver ativado, o que não é padrão desde o PHP 4.2.0. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 #Tigre Postado Janeiro 14, 2008 Autor Denunciar Share Postado Janeiro 14, 2008 $pagina só existirá automaticamente se register_globals estiver ativado, o que não é padrão desde o PHP 4.2.0.Beraldo, isto quer dizer o que? Que o modo que passei depende do register_globals estar ou não ativo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Janeiro 14, 2008 Denunciar Share Postado Janeiro 14, 2008 você comentou aquela primeira linha. logo, seu código só funcionará com register_globals = on.Opte por usar a dica do Henderson. ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 #Tigre Postado Janeiro 15, 2008 Autor Denunciar Share Postado Janeiro 15, 2008 Dica usada e aprovada.Valeu. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
#Tigre
Olá pessoal,
estou usando uma função de paginação que encontrei e está funcionando corretamente, mas na primeira página aparecem dois probleminhas que não consigo identificar a causa.
A função está neste link:
http://forum.wmonline.com.br/index.php?showtopic=129828
E os problemas são essas duas mensagens de erro:
Notice: Undefined index: pagina in c:\classificados\admanuncios_ativos_usuarios.php on line 110
Notice: Undefined variable: html in c:\classificados\admanuncios_ativos_usuarios.php on line 73
A linha 110 é essa em azul:
$lpp = "10";
$pagina = $_REQUEST['pagina'];
if ($pagina == "") {$pagina = 1;}
$inicio = ($pagina * $lpp) - $lpp;
E a linha 73 essa:
while ($primeira <= $ultima) {
if ($primeira == $pagina) {
$html .= $primeira;
}
As mensagens só aparecem na primeira página.
Se alguém souber o porque das mensagens e puder passar a dica, agradeço.
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.