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

Serveurs (Apache, IIS,...) Discussion :

Redirection et variables _POST


Sujet :

Serveurs (Apache, IIS,...)

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Août 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2012
    Messages : 1
    Par défaut Redirection et variables _POST
    Bonjour,

    Je rencontre un problème avec des variables _POST qui sont vides après une réécriture d'URL et une redirection.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        <form name="myform" id="contactForm" action="http://example.com/sendcontact.php" method="post">  
    
                        <article class="span6">
                            <textarea  id="msg" rows="3" cols="40" name="message" placeholder="Message">Détails</textarea>
                        </article>
                            
                        <article class="span6">
                            <input type="text" name="adresse" id="adresse">
    						<input size="100" type="text" name="name" id="name" placeholder="Nom">
                            <input type="text"  size="30" id="email" name="email" placeholder="Adresse e-mail">
                            <button type="submit" name="submit" id="submit" class="btn btn-renova-alt add-top-half">Send message</button>                    </article>
                            
                        </form>

    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
     <?php
    if($adresse != "" ){
    
    }
    else{
    if(isset($_POST['submit']))
    {
    $to = "daniel@example.com";
    $subject = "Email from";
    $name_field = stripslashes($_POST['name']);
    $email_field = $_POST['email'];
    $message = stripslashes($_POST['message']);
    $body = "<html>\n";
    $body .= "<body style=\"font-family:Verdana, Verdana, Geneva, sans-serif; font-size:12px; color:#666666;\">\n";
    $body .= "From: $name_field <br/> E-Mail: $email_field <br/> Message: <br/> $message";
    $body .= "</body>\n";
    $body .= "</html>\n";
    
    $headers  = 'MIME-Version: 1.0' . "\n";
    $headers .= 'Content-type: text/html; charset=utf-8' . "\n";
    $headers .= 'Reply-to: '.$name_field. '<'.$email_field.'>' . "\n" ;
    $headers .= 'Return-path: '.$name_field. '<'.$email_field.'>' . "\n" ;
    $headers .= 'From: MGS < contact@example.com >' . "\r\n";
    $name_field = stripslashes($name_field);
    $message = stripslashes($message);
    mail($to, $subject, $body, $headers);
    unset($name_field);
    unset($email_field);
    unset($message);
    }
    else
    {
    echo "Failure!";
    }
    }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    RewriteEngine on
    #RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
    #RewriteCond %{HTTP_HOST} ^www\.example\.com$
    #RewriteRule ^/?$ "https\:\/\/www\.example\.com\/" [R=301,L]
    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
    L'URL est correctement réécrite mais je récupère des valeurs vides pour mes variables POST.
    PS: En fait je ne récupère aucune des variables passées par le formulaire,

    Avez-vous une solution à ça ?
    Merci !

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Désolé, pas de solution simple. Le POST n'est pas "propagé" par les navigateurs sur les redirections : un POST sur une URL qui redirige le navigateur et le navigateur fait un GET. On ne peut pas lutter. Il faut trouver un moyen pour récupérer les données autrement (cookie, session, base de données, etc.).

  3. #3
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 309
    Par défaut
    Tu ne fais pas de redirection !

    ici tu fais du code php3
    pour avoir tes variables c'est uniquement $_POST
    pour vérifier tu peux faire unici ton problème vient de ton if ligne 2

Discussions similaires

  1. Variable $_POST sans formulaire !
    Par Metallic-84s dans le forum Langage
    Réponses: 3
    Dernier message: 01/06/2006, 08h42
  2. Garder des variable $_POST
    Par highman dans le forum Langage
    Réponses: 3
    Dernier message: 12/05/2006, 14h26
  3. [MySQL] Redirection PHP + variable
    Par baudmail dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 30/04/2006, 16h56
  4. Variable $_POST[]
    Par gwen-al dans le forum Langage
    Réponses: 10
    Dernier message: 17/01/2006, 11h48
  5. Recuperer les variables $_POST
    Par casa13 dans le forum Langage
    Réponses: 15
    Dernier message: 03/01/2006, 16h33

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