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 :

réécrire une variable lorsque register_globals est à Off


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de loopback
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 170
    Par défaut réécrire une variable lorsque register_globals est à Off
    Bonjour,
    j'ai un formulaire de support sur mon site que je n'arrive pas à envoyer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    if (empty($pseudo) || empty($email) || empty($texte))
    {
    Header("Location: champs.php");
    }
    else
    {
    include "envoisupport.php";
    }
    ?>
    Car le register globals est à Off

    Je ne sais pas comment réécrire le script pour qu'il soit accepter lorsque le register_globals est à Off.

    Voici ce que j'ai fait mais sans succès:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    if (empty $_POST['$pseudo'] || empty $_POST['$email'] || empty $_POST['$texte']) 
    {
    Header("Location: champs.php");
    }
    else
    {
    include "envoisupport.php";
    }
    ?>
    il me met une erreur de syntax mais je ne vois pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in /usr/home/www/zapto.org/www/formsupport.php on line 2

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    empty() est une fonction il faut donc penser a mettre les parenthèses et entre les crochets il faut mettre le nom du champ de ton formulaire (donc sans le $)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (empty ($_POST['pseudo']) || empty ($_POST['email']) || empty ($_POST['texte']))

  3. #3
    Membre confirmé Avatar de loopback
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 170
    Par défaut
    Salut,

    j'ai fait comme tu as dit mais j'ai une multitude d'erreurs sur le script appelé:
    est-ce que je dois réécrire tous les script ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    if (empty ($_POST['pseudo']) || empty ($_POST['email']) || empty ($_POST['texte']))
    {
    Header("Location: champs.php");
    }
    else
    {
    include "envoisupport.php";
    }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Notice: Undefined variable: pseudo in /usr/home/www/zapto.org/www/envoisupport.php on line 11
     
    Notice: Undefined variable: email in /usr/home/www/zapto.org/www/envoisupport.php on line 12
     
    Notice: Undefined variable: texte in /usr/home/www/zapto.org/www/envoisupport.php on line 14
     
    Notice: Undefined variable: REMOTE_ADDR in /usr/home/www/zapto.org/www/envoisupport.php on line 17
     
    Warning: gethostbyaddr() [function.gethostbyaddr]: Address is not a valid IPv4 or IPv6 address in /usr/home/www/zapto.org/www/envoisupport.php on line 17
     
    Notice: Undefined variable: REMOTE_ADDR in /usr/home/www/zapto.org/www/envoisupport.php on line 17
     
    Warning: Cannot modify header information - headers already sent by (output started at /usr/home/www/zapto.org/www/envoisupport.php:11) in /usr/home/www/zapto.org/www/envoisupport.php on line 19
    Voici le script appelé "envoisupport.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
    20
    <?php
    $to = "monadress@mail.comt";
    $sujet = "Support demonsite";
    $headers = "";
    $headers .= "";
    $message = "";
     
    $message .= "Un message vous a été envoyé depuis monsite !";
    $message .= "Voici le récapitulatif de ce message :";
    $message .= "----------------------------------------------";
    $message .= "Pseudo : $pseudo";
    $message .= "Adresse email : $email";
    $message .= "Message :";
    $message .= "$texte";
    $message .= "----------------------------------------------";
     
    $message .= "Envoyé par ".gethostbyaddr($REMOTE_ADDR). " ($REMOTE_ADDR)";
    mail($to,$sujet,$message,$headers);
    Header("Location: confirmsupport.php");
    ?>

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    tu l'as dit toi meme, $pseudo n'existe pas, c'est $POST['pseudo'] qu'il faut utiliser !

    donc si dans tes scripts tu veux utiliser $pseudo il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pseudo = $_POST['pseudo'];
    (idem pour les autres variables)

  5. #5
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    C'est la 2eme fois que je conseil ce lien : formulaires et php
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par loopback
    Je ne sais pas comment réécrire le script pour qu'il soit accepter lorsque le register_globals est à Off.
    Il y a, entre autres, la fonction extract mais exactement les mêmes problèmes que ceux induits par register_globals se poseront : vos variables pourront mutuellement s'écraser avec les risques que ça peut comporter. Cela dit, vous avez peut être la possibilité de réactiver ce paramètre par htaccess ?

    Citation Envoyé par loopback
    est-ce que je dois réécrire tous les script ?
    A terme vous y serez contraints (PHP 6, mais je vous accorde que vous avez encore de la marge ).

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/10/2009, 17h39
  2. Réponses: 2
    Dernier message: 10/05/2007, 22h19
  3. [VBA-E] masquer une combo lorsqu'elle est vide
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 46
    Dernier message: 04/02/2007, 21h16
  4. Faire passer une variable à un CSS, est-ce possible?
    Par miltonis dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 04/10/2006, 16h05
  5. Réponses: 9
    Dernier message: 06/02/2006, 14h12

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