Jump to content


Photo

Problemas Com Query String


  • Faça o login para participar
9 replies to this topic

#1 rlmax

rlmax

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Não informado
  • Interesses:Webdesign, Jogos

Posted 27/12/2003, 23:05

Bem eu estou desenvolvendo meu primeiro site em php e usei query string ... Esta funcionando normalmente, entra em todas paginas tals, soh q na index mostra o seguinte erro:

Notice: Undefined index: id in c:\easyphp1-7\www\cmnet\index.php on line 159

O codigo q estou usando eh esse

<?
if ($_GET["id"] == ""){ <-- esta eh a linha 159 , qual o erro?
include "principal.php";
} else {
include $_GET["id"].".php";
}
?>


Eh soh isso , vlw galera

#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 28/12/2003, 00:19

Isso não é bem um erro, é um aviso. A index é acessada como index.php e não index.php?id= . Então na prática, não existe a query id. Aí ele dá esse aviso. Nada para se preocupar. Isso pode ser desativado editando o php.ini se não me engano é em error_reporting, tem que muda para ERR_ALL & ~ERR_NOTICE, bom tem lá esse exemplo é só dar uma lida.

#3 [tiago]

[tiago]

    Taekwondo SP

  • Usuários
  • 193 posts
  • Sexo:Não informado

Posted 28/12/2003, 00:51

tem que mudar pra off o error_reporting, estava com esse problema, depois da alteração, não tive mais

fui>>>
Tiago Mendes Cold Fusion

||CF Studio RIA - cfstudioria.com.br||

#4 kartesus

kartesus

    ich bin der Geist der stets verneint

  • Usuários
  • 210 posts
  • Sexo:Não informado
  • Localidade:Rio Grande do Sul
  • Interesses:PHP e sexo

Posted 28/12/2003, 02:36

o q acontece é que se tu rodar o script sem nenuma querystring tu estarás testando uma coisa q naum existe... eu testaria o vetor antes:

if (empty ($_GET['id'])) { include 'principal.php'}
else {include $_GET['id'] . '.php';}

ou ainda de uma forma simplificada usando um operador ternário:
include empty($_GET['id'] ? 'principal.php' : $_GET['id'] . '.php';

Ainda com dúvidas? Poste-as aki

#5 [C]oOkiE

[C]oOkiE

    Normal

  • Usuários
  • 82 posts
  • Sexo:Não informado

Posted 28/12/2003, 09:38

bom a minha dica é usa query com if e elseif...
eu sempre usei assim e nunca deu problema algum :) por ex:

if(id=="1") {
include "sessao/papainoel.php";
}elseif(id=="2") {
include "exemplo/legal.php";
}elseif(id=="3") {
include "exemplo/legal.php";
}elseif(id=="4") {
include "exemplo/legal.php";
}elseif(id=="5") {
include "exemplo/legal.php";
}elseif(id=="") {
include "exemplo/index.php";
}

tu pode incluir qntas tu precisar e onde tem o id == "" eh o default...se n tiver chamando nada inclui a index...entendeu?
PS: ali tu pode por oq tu quiser(precisar) n soh include mas qq outro comando seja ele php, html ,sql etc etc :)
Espero ter ajudado, e nao confundido! []!

#6 apolo

apolo

    Php my life...

  • Usuários
  • 227 posts
  • Sexo:Masculino
  • Localidade:Rio das Ostras - RJ
  • Interesses:PHP e MYSQL

Posted 28/12/2003, 12:19

ke cookie..
quanto if..
kkkkkkk..
fica lento..
=\

[]'s
Apolo
QUE DEUS ABENÇOE TODOS !!!!
---------------
Espero ter Ajudado alguém,
----------------------
Antes de postar, veja se realmente não tem outro jeito..

#7 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 28/12/2003, 14:57

vixi cara... com if assim carrega o site... fica muito lerdo...
tenta usar desta forma:

<HTML>
<HEAD>
</HEAD>
PARTE DE CIMA DO SEU SITE!

<?
########################
#     Modo de usar     #
########################
// Basta você modificar as linhas abaixo.
// Salve uma página *.php e depois digite:
// http://www.seusite.com.br/?pag=NOME_DA_PAGINA

// Nome da pasta onde ficarão as páginas .php (sem barra no final)
$paginas="paginas";
// Arquivo da página inicial
$inicio="home.php";
// Arquivo de erro
$erro="erro.php";

########################
#   Não Edite Abaixo   #
########################
// verifica se o arquivo existe
// se existir "include" nele
if(file_exists("$paginas/$pag.php")){
include("$paginas/$pag.php");
}
// se não existir, ou se pag for igual a home
// ou igual a index "include" no arquivo inicial
else if($pag == index  || $pag == home || $pag == ''){
include("$paginas/$inicio");
}
// caso o arquivo não exista
// "include" no arquivo de erro
else{
include("$paginas/$erro");
}
########################
#   Não Edite Acima    #
########################
?>

PARTE DE BAIXO DO SEU SITE!<BR>
AKI VOCÊ PODE MEXER
</HTML>

qualquer dúvida posta ae
Site: GustavoPaes.net

^ Rumo ao Topo ^

#8 kartesus

kartesus

    ich bin der Geist der stets verneint

  • Usuários
  • 210 posts
  • Sexo:Não informado
  • Localidade:Rio Grande do Sul
  • Interesses:PHP e sexo

Posted 28/12/2003, 19:30

COOKIE ... pra evitar esse amontoado de if/elseif/else desde os anos 70 (quase) toda linguagem tem switch ()...
Ainda com dúvidas? Poste-as aki

#9 Tô+!

Tô+!

    Normal

  • Usuários
  • 60 posts
  • Sexo:Não informado

Posted 13/01/2004, 00:30

Bem eu estou desenvolvendo meu primeiro site em php e usei query string ... Esta funcionando normalmente, entra em todas paginas  tals, soh q na index mostra o seguinte erro:

Notice: Undefined index: id in c:\easyphp1-7\www\cmnet\index.php on line 159

O codigo q estou usando eh esse


<?
if ($_GET["id"] == ""){ <-- esta eh a linha 159 , qual o erro?
include "principal.php";
} else {
include $_GET["id"].".php";
}
?>


Eh soh isso , vlw galera

Opa blz?!!

Olha.. quando eu usava a versão 1.6 do Easyphp num aparecia nada... quando instalei a versão 1.7 começou a mostrar esse tipo de coisa..... ai eu fui consertando.. mas cheguei a ter esse mesmo problema...... fiquei acho ki meia hora prorcurando saber na apostila do php.......

cheguei a conclusao ki checar se ela (a variavel) existe..... demorei um tempão.. mas consegui :rolleyes:

era só usar o isset ex:

<?php
if (!isset($secao)){
include "pagina1.php";
}
?>

Thomaz

#10 ffmm

ffmm

    Veterano

  • Usuários
  • 1224 posts
  • Sexo:Não informado

Posted 13/01/2004, 03:09

Esse "erro" (na verdade, um simples aviso), acontece pq vc está tentando usar uma variável que não foi definida (acessar a pagina sem id=algumacoisa). A maneira mais simples de evitar isso, é, ao invés de ver se ela é igual a "", checar de ela está vazia.
if(empty($_GET['id'])){

Esse negócio de resolver problemas mexendo no php.ini não da certo, pois quando vc for enviar pro host, vc não vai poder modificar o php.ini ;)

E usar o error_reporting(0) é uma maneira de "enganar" os olhos, pois o aviso ainda existe, mas ele não reporta (mostra), e isso pode te atrapalhar as vezes, pois se vc colocar isso no começo do código, e por acaso ocorrer algum erro, vai ficar mais dificil achar o erro, pois o script não vai mostrar nenhum erro.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq