IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

probleme de syntaxe avec $_SERVER['PHPSELF']


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut probleme de syntaxe avec $_SERVER['PHPSELF']
    salut tout le monde,

    j'explique mon problème j'ai dans ma page indexe ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <ul id="menu">
    			<li><a href="<? echo '$_SERVER["PHP_SELF"]?choix=1'; ?>" >Accueil - 
     
    Pr&eacute;sentaion</a></li>
    			<li><a href="<? echo '$_SERVER["PHP_SELF"]?choix=2'; ?>">Catalogue - 
     
    Calendrier</a></li>
    			<li><a href="<? echo '$_SERVER["PHP_SELF"]?choix=3'; ?>">Demande 
     
    Sp&eacute;cifique</a></li>
    			<li><a href="<? echo '$_SERVER["PHP_SELF"]?choix=4'; 
     
    ?>">R&eacute;f&eacute;rences - Partenaires</a></li>
    			<li><a href="<? echo '$_SERVER["PHP_SELF"]?choix=5'; ?>">Nous 
     
    Contacter</a></li>
     
    		</ul>
     
    		<div id="contenu">
    			<? 
    			/* traitement du choix effectué dans le menu du haut */
     
    			include("menu.php"); 
     
    			/* si le formulaire de personnalisation de stages est validé, traiter 
    
    l'envoi */
     
    			if ($envoi==1)
    				{
    			include("envoi.php");
    				}
     
    ?>
    $_SERVER["PHP_SELF"]?choix=X permet d'envoyer la variable choix vers le fichier "menu.php" pour être évaluer et envoyer la page qu'il faut, et le fichier php se présente ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <?
     
    /* menu.php					*/
    /* ================================ */
     
    /* script permettant de gérer le choix de l'utilisateur en le 
    
    redirigeant vers la page sélectionnée */
    $choix = $_SERVER['choix'] ;
     
    switch ($choix)
    	{
    	case null: include("accueil.php");
    	break;
    	case 1 : include("accueil.php");
    	break;
    	case 2 : include("formation.php");
    	break;
    	case 3 : include("catalogue.php");
    	break;
    	case 4 : include("calendrier.php");
    	break;
    	case 5 : include("personnaliser.php");
    	break;
    	case 6 : include("nouscontacter.php");
    	break;
    	}
    mais là il me met l'erreur : Notice: Undefined variable: choix in c:\program files\easyphp1-8\www\projet1\menu.php on line 8.

    donc il n'arrive pas à faire passer la variable. avec easyphp 1.6 il suffisait que j'utilise $PHPSELF?choix=X ça marchait impaccable mais avec la version 1.8 (PHP 4.3) ça marche pas ! et sachant en plus que mon hebergeur à la version PHP 4.4.
    comment faire pour récupérer la variable ? je n'arrive pas à résoudre mon problème. merci d'avance.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Ca ne serait pas plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $choix = $_GET['choix'];

  3. #3
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    merci jeca, non il me met toujours l'erreur : Notice: Undefined variable: choix in c:\program files\easyphp1-8\www\projet1\menu.php on line 8. et je n'arrrive à accéder à aucune page par le biais du manu

    la syntaxe de ceci est-elle bonne pour envoyer une valeur ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    li><a href="<? echo '$_SERVER["PHP_SELF"]?choix=1'; ?>" >Accueil - 
     
    Pr&eacute;sentaion</a></li>

  4. #4
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Ce qui est étrange, c'est que ton lien soi correct.

    <a href="<? echo '$_SERVER["PHP_SELF"]?choix=1'; ?>" >
    Entre simple quotes, $_SERVER["PHP_SELF"] ne devrait pas etre évalué. Même entre doubles quotes ça n'irait pas, il faut concatener :

    <? echo $_SERVER['PHP_SELF'].'?choix=1' ; ?>

    Et comme on l'a dit avant, dans ton autre script il faut utiliser
    $choix = $_GET['choix'] et non $_SERVER...

  5. #5
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    Désolé, j'ai pas tout lu votre discussion, mais j'ai envie de dire plutot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="<? echo $_SERVER["PHP_SELF"].'?choix=1'; ?>" >
    mais pourquoi tu cours?

  6. #6
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    oui en effet gofono_bass, la syntaxe est bonne. je vois dans mon url quand je clique index.php?choix=x qui varie mais les pages ne change pas donc il n'évalue rien dans mon fichier "menu.php":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    $choix = $_GET['choix'];
     
    switch ($choix)
    	{
    	case null: include("accueil.php");
    	break;
    	case 1 : include("accueil.php");
    	break;
    	case 2 : include("formation.php");
    	break;
    	case 3 : include("catalogue.php");
    	break;
    	case 4 : include("calendrier.php");
    	break;
    	case 5 : include("personnaliser.php");
    	break;
    	case 6 : include("nouscontacter.php");
    	break;
    	}
    c'est comme ci le $_GET['choix'] ne renvoyait pas la valeur !
    merci.

  7. #7
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    ok ça marche !!!! merci à vous deux !

  8. #8
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    bon je pense que je me suis trop vite fait une joie. l'erreur :
    Notice: Undefined index: choix in c:\program files\easyphp1-8\www\projet1\menu.php on line 8

    apparait toujours quand je lance le navigateur, en fait on tombe sur la page d'acceuil. mais lorsque je clique sur mes boutons pour passer d'une pas à une autre l'erreur disparait. je pense que le pb se situe au niveau de ma variable choix qui n'a aucune valeur en lançant ma page. à la rigueur s'il existe un moyen de dire à php d'ignorer cette erreur se serait cool.

    merci. vous pouvez vous referencer au code de mes précédentent poste.

Discussions similaires

  1. [MySQL] Problem de syntax avec LIMIT
    Par pasqual dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/11/2009, 17h05
  2. Réponses: 3
    Dernier message: 28/08/2009, 11h06
  3. Probleme de syntaxe avec des calculs integrant des variables
    Par trigger00 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/06/2009, 09h20
  4. Probleme de syntax avec SQL
    Par hydroxyproline dans le forum Développement
    Réponses: 4
    Dernier message: 07/04/2009, 10h23
  5. Réponses: 2
    Dernier message: 11/04/2007, 22h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo