notice avec $_GET[variable] [Résolu]

notice avec $_GET[variable] [Résolu] - PHP - Programmation

Marsh Posté le 10-12-2002 à 18:10:24    

Salut a tous j'ai un big problème avec mon serveur http local quand je lance ce script avec l'url http://10.0.0.1/test.php?p=comments
 

Code :
  1. <?
  2. if (isset($_GET[p])) 
  3. switch($_GET[p]) 
  4.         { 
  5.          case "comments": 
  6.                  include("$_GET[p].php" ); 
  7.                         echo "test";
  8.                         break
  9.                        
  10.                 default
  11.                  include("$_GET[p].htm" ); 
  12.                         echo "defaulf";
  13.                         break
  14.         } 
  15. }
  16. ?>


 
mon serveur et surtout php me renvoie ca :
 
Notice: Use of undefined constant p - assumed 'p' in e:\wwwfiles\test.php on line 2
 
Notice: Use of undefined constant p - assumed 'p' in e:\wwwfiles\test.php on line 4
 
J'ai apache 1.3.27 et php 4.2.3
 
Merci de votre aide.


Message édité par MoRp][eUs le 10-12-2002 à 18:32:44

---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Marsh Posté le 10-12-2002 à 18:10:24   

Reply

Marsh Posté le 10-12-2002 à 18:13:56    

Reply

Marsh Posté le 10-12-2002 à 18:14:28    

if (isset($_GET["p"]))  
 

Reply

Marsh Posté le 10-12-2002 à 18:14:30    

je précise, ayant le meme prob, que register_globals est Off et display_errors est On...

Reply

Marsh Posté le 10-12-2002 à 18:18:35    

Code :
  1. <?
  2. if (isset($_GET["p"])) 
  3. switch($_GET["p"]) 
  4.        { 
  5.         case "comments": 
  6.                 include("$_GET[p].php" ); 
  7.                        echo "test";
  8.                        break
  9.                        
  10.                default
  11.                 include("$_GET[p].htm" ); 
  12.                        echo "defaulf";
  13.                        break
  14.        } 
  15. }
  16. ?>

 
 
C'est donc les guillemets de l'include qui posent problemes ?

Reply

Marsh Posté le 10-12-2002 à 18:21:00    

Bon il faut lire un peu la doc là... $_GET[] c'est un tableau associatif, donc ce qu'il attend entre les crochet c'est une chaine de caractères. Donc on écrit $_GET["p"]. Si on est déjà dans une chaine de caractère (cas du include) on peut écrire include("{$_GET["p"]}.htm" );


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 10-12-2002 à 18:24:22    

ouai avec les guillemets ca marche mais pas ds l'include  
l'include marche sans faire d'erreur en laissant comme c'est la  
mais je viens de voir ce que gm_superstar a ecrit je v vite tester  
 
 
merci pour l'aide  
 

Code :
  1. <?
  2. if (isset($_GET['p'])) 
  3. switch($_GET['p']) 
  4.         { 
  5.          case "comments": 
  6.                  include("$_GET[p].php" ); 
  7.                         echo "test";
  8.                         break
  9.                        
  10.                 default
  11.                  include("$_GET[p].htm" ); 
  12.                         echo "defaulf";
  13.                         break
  14.         } 
  15. }
  16. ?>


 


---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed