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 :

action="<?php echo $_SERVER['PHP_SELF'];?>


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 29
    Points : 23
    Points
    23
    Par défaut action="<?php echo $_SERVER['PHP_SELF'];?>
    Salut,

    voila quand j'ecrit ce code ya un message d'erreur :

    echo "<FORM METHOD=POST NAME='MonFormulaire' action="<?php echo $_SERVER['PHP_SELF'];?> >";

    le message d'erreur est :

    Parse error: parse error, unexpected '?' in d:\chakib\trust\test\divers\mes listes.php on line 61

    Merci d'avance.

  2. #2
    Membre régulier Avatar de PuppeT mAsTer
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 75
    Points
    75
    Par défaut
    Ce pb m'est aussi arrivé, je ne sais pas ce qui va pas dans le code mais pour le solutionner tu peux remplacer action="<?php echo $_SERVER['PHP_SELF'];?>"
    par action ="lenomdetonformulaire.php" et ça doit marcher.

    ++

    PuppeT
    Webmaster en herbe Mugenien pour toujours

  3. #3
    Invité
    Invité(e)
    Par défaut Une simple erreur de syntaxe
    Ton erreur vient du fait que tu as essaye d'inclure un code PHP dans un echo. PHP identifie une fermeture de la chaine de caractère au niveau de action=" et un caractère ? qui suit ne fait pas partie de la syntaxe standard.
    Pour afficher une variable dans un affichage de type echo, 2 solutions :
    1. En utilisant les double quotes ("), il suffit de placer le nom de la variable dans la chaîne :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      echo "<FORM METHOD=\"POST\" NAME=\"MonFormulaire\" action=\"$_SERVER['PHP_SELF']\">";
    2. En utilisant les simple quotes ('), il faut concatener la variable avec la chaîne de caractère en utilisant l'opérateur point (.) :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      echo '<FORM METHOD="POST" NAME="MonFormulaire" action="'.$_SERVER['PHP_SELF'].'">';


    Pour information, l'utilisation du double quote nécessite d'échapper les guillemets utilisés dans la chaîne et réciproquement pour les simple quote avec les apostrophes (mais ils sont souvent moins nombreux).
    Par ailleurs, la 2nde méthode est plus lisible avec les éditeurs à coloration syntaxique.

  4. #4
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2006
    Messages : 56
    Points : 49
    Points
    49
    Par défaut
    Je vais juste ajouter mon petit grain de sel de conseil, les balises html doivent etre ecrit en minuscule pour etre compatible avec la norme w3c.
    Voilà, c'est une mauvaise habitude qu'il faut perdre... mais bon ceci dit aucun rapport avec ton prob puisque edno a très bien répondu à ta question

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    pour en rajouter un peu, personnellement je préfère la seconde solution de edno à la première : je la trouve plus lisible

    par ailleurs, tu n'es pas obligé de concaténer la chaîne se trouvant dans le echo, tu peux utiliser des virgules (j'ai lu quelque part que c'est plus rapide, même si tu ne le verras sans doute pas)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<form method="post" name="MonFormulaire" action="', $_SERVER['PHP_SELF'], '">';

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par francis m
    par ailleurs, tu n'es pas obligé de concaténer la chaîne se trouvant dans le echo, tu peux utiliser des virgules (j'ai lu quelque part que c'est plus rapide, même si tu ne le verras sans doute pas)
    En effet, les virgules sont plus rapides car PHP ne fera pas d'opérations sur la chaîne. La vigule ne fonctionne qu'avec la fonction echo() et sert à indiquer une succession de valeurs à afficher.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 19/03/2015, 18h14
  2. petite question avec $_SERVER['PHP_SELF']
    Par akara dans le forum Langage
    Réponses: 4
    Dernier message: 04/09/2007, 07h06
  3. faire une Quote en php " ' '
    Par budylove dans le forum Langage
    Réponses: 4
    Dernier message: 26/04/2006, 14h13
  4. [Configuration] affichage $_SERVER['PHP_SELF']
    Par laloupiote dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 14
    Dernier message: 12/01/2006, 16h40

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