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 :

Nouvelles conditions pour formulaire


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Nouvelles conditions pour formulaire
    Bonjour,

    Quelqu'un pourrait m'aider avec le code qui suit ?

    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
     
     
    <?php
    $TO = "<admin@mail.fr>";
     
    $h  = "From: " . $TO;
     
    $message = "";
     
    If (isset($_POST['nom']) AND isset($_POST['email']) AND isset($_POST['message'])) {
     
                 while (list($key, $val) = each($HTTP_POST_VARS)) 
               {
                 $message .= "$key : $val\n";
                }
     
               mail($TO, $subject, $message, $h);
     
               Header("Location: http://pagederemerciements.com");
     
    }
    Else {
    echo "Vous n'avez pas saisi toutes les informations";
    }
     
    ?>
    Je voudrais rediriger le visiteur vers une page d'erreur, s'il n'a pas saisi tous les champs correctement, au lieu de l'envoyer vers une page blanche où est seulement indiqué le message "Vous n'avez pas saisi toutes les informations".

    En somme, comme pour la page de remerciement, quelles lignes dois-je mettre dans la dernière partie du code ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Else {
    echo "Vous n'avez pas saisi toutes les informations";
    }
    J'espère avoir été clair.

    Merci d'avance.

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Points : 41
    Points
    41
    Par défaut
    Et si tu fais comme pour la page de remerciements :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Header("Location: http://pagederreur.com");
    Ca ne marche pas ?

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Pour le Javascript, tu peux voir sur la FAQ.

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci.

    A bientôt.

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Points : 41
    Points
    41
    Par défaut
    Merci ça a marché ? Ca a pas marché ? Si oui, tu peux mettre le topic en Résolu ?

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Non,ça ne marche pas.
    Je reprends donc, étape par étape.

    J'ai un blog sous wordpress, avec une page contact, dans laquelle se trouve ce formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <form action="http://monsite.com/wp-form.php" method="post" id="mailform">
    <p>
    <input name="author" type="text" id="author" size="22" tabindex="1"><label for="author"><small> Nom (requis)</small></label></p>
    <p>
    <input name="email" type="text" id="email" size="22" tabindex="2"><label for="email"><small> Mail (ne sera pas rendu public) (requis)</small></label></p>
    <p>
    <input name="url" type="text" id="url" size="22" tabindex="3"><label for="website"><small> Website</small></label></p>
    <p><textarea name="comment" cols="100%" rows="10" style="overflow:hidden" tabindex="4"></textarea><br />
    <small> </small><br />
    <input name="submit" type="submit" id="submit" value="Envoyer votre message" tabindex="5"></p>
    </form>
    Pour les inquisiteurs du css, ce n'est pas d'actualité, car mon style et l'aspect du formulaire correspondent à ce que je veux.
    Donc, qu'ils passent leur chemin.

    Important ! Les textes sont à droite des champs.



    En cliquant sur le bouton, le visiteur envoi les informations via le fichier wp-form.php.
    En voici le code :

    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
     
    <?php
    $TO = "mail@adresse.com";
     
    $h  = "From: " . $TO;
     
    $message = "";
     
    while (list($key, $val) = each($HTTP_POST_VARS)) {
      $message .= "$key : $val\n";
    }
     
    mail($TO, $subject, $message, $h);
     
    Header("Location: http://pagederemerciements.com");
     
    ?>
    Ici, ça marche, je reçois les infos.
    Le visiteur est bien redirigé sur la page de remerciements.

    Sauf que : double problème !!

    1 - le visiteur qui ne rempli rien, envoie un mail sur ma boite.
    2 - Celui qui rempli n'importe quoi, envoie aussi un mail sur ma boite.
    Et là, ça craint.... spamms....

    J'ai cherché, cherché, testé, testé ... rien ... des semaines de galère.
    Et puis, il y a ceux qui filent un bout de code, un lien, mais j'y arrive pas. Je NE connais pas le php.
    J'attends un miracle.
    Je sais, c'est trop facile pour certains (règles du forum...), mais bon ... c'est pour ça que ce serait un miracle.

    En tout cas, si quelqu'un VEUT s'inspirer de mon formulaire, de mon wp-form ... je ne lui en voudrais pas.

    Merci.

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Tu testes les valeurs postées si elles sont vides avec isset avant de faire l'envoie.
    $HTTP_POST_VARS
    Quelle version de PHP tu utilises?
    Utilises $_POST pour récupérer les variables.

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Un truc du genre ?

    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 = "<Admin@mail.fr>";
     
    $h  = "From: " . $TO;
     
    $message = "";
     
    If (isset($_POST['nom']) AND isset($_POST['email']) AND isset($_POST['message'])) {
     
                 while (list($key, $val) = each($HTTP_POST_VARS)) 
               {
                 $message .= "$key : $val\n";
                }
     
               mail($TO, $subject, $message, $h);
     
               Header("Location: http://mapagederemerciements");
     
    ?>
    Sinon, pour la version de php, j'en sais rien.
    J'ai dezipé le fichier wordpress (téléchargé sur leur site fr) et l'ai envoyé entier sur le serveur. Puis j'y ai créé mon compte, intallé mes themes, créé mes pages dont celle du contact ...
    C'était la version 2.7 je crois.

  9. #9
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Il n'y a aucun test d'effectué sur ton code.
    Tu dois nettoyer tous les champs
    Tu dois vérifier que le mail est correct qu'il permet l'envoi d'email.
    Que l'URL est bien une URL en la nettoyant également.

    BREF comme tu n'y connais rien, balance ce code sur le serveur dans un fichier que tu appelleras ensuite et tu nous donneras la version de PHP :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo phpinfo();
    -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
    Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
    Pensez également à cocher

    Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

    Dimension Internet

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Voici la version php :


    PHP Version 5.2.10

Discussions similaires

  1. Réponses: 47
    Dernier message: 27/03/2017, 18h49
  2. Macro avec plusieurs conditions pour ouverture formulaire
    Par Jacques-Henri dans le forum IHM
    Réponses: 2
    Dernier message: 05/08/2008, 22h44
  3. Le code dans une condition pour fermer le formulaire
    Par nicolas2603 dans le forum VBA Access
    Réponses: 2
    Dernier message: 16/06/2008, 17h11
  4. Problème de condition pour un formulaire
    Par druzillia dans le forum Langage
    Réponses: 6
    Dernier message: 31/01/2008, 14h07
  5. Conditions pour remplissage d'un Formulaire
    Par budiste dans le forum Langage
    Réponses: 6
    Dernier message: 15/12/2005, 15h36

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