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 :

Erreur de paramètre dans mon formulaire


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Points : 63
    Points
    63
    Par défaut Erreur de paramètre dans mon formulaire
    Bonjour,

    J'ai un problème avec mon formulaire il m'indique ce message d'erreur "
    Warning: mail() expects at most 5 parameters, 9 given in /home/a4030010/public_html/verifbuy.php on line 12
    , je ne trouve pas l'erreur pouvez vous voir mon code ci dessous ,

    formulair.html
    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
     
    <form action="form.php" method="post">
    page.<br />
     
    <p>Name : <br />
    <input name="objet" type="text" /></p>
     
    <p>First Name : <br />
    <input prenom="objet" type="text" /></p>
     
    <p>Address : <br />
    <input adresse="objet" type="text" /></p>
     
    <p>Postcode : <br />
    <input codepostal="objet" type="text" /></p>
     
    <p>City : <br />
    <input ville="objet" type="text" /></p>
     
    <p>Country : <br />
    <input pays="objet" type="text" /></p>
     
    <p>Your email : <br />
    <input email="email" type="text" /></p>
     
    <p><input type="submit" value="Send" /> </p>
    </form></td>

    form.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
     
    <?php
    $TO = "cdevl@hotmail.com";
     
    $h  = "From: " . $TO;
     
    $message = "";
     
    while (list($key, $val) = each($_POST)) {
      $message .= "$key : $val\n";
    }
     
    mail($TO, $name, $prenom, $adresse, $codepostal, $ville, $pays, $email, $h);
     
    ?>

  2. #2
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    effectivement, tout est dans l'erreur...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mail($TO, $sujet, $message, $h);

  3. #3
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Points : 63
    Points
    63
    Par défaut
    pouvez vous m'indiquer se que je dois faire ?

    un grand merci à vous

  4. #4
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    je l'ai écrit dans mon premier post...

    remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mail($TO, $name, $prenom, $adresse, $codepostal, $ville, $pays, $email, $h);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mail($TO, $sujet, $message, $h);

    comme dit dans le manual PHP : mail()

  5. #5
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Points : 63
    Points
    63
    Par défaut
    je recois bien le mail maintenant, mes sans aucun des champs repris dans mon formulaire ?

    Je dois indiquer quelque chose en plus ?

    merci encore pour votre aide.

  6. #6
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Plus concrètement un mail possède un message, il te faut créer un message qui va contenir les informations de nom, prénom, adresse code postal etc...Soit une variable $message qui est une chaine de caractères et va contenir du HTML afin d'afficher les informations du contact, dans le mail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sujet = 'Envoi email d\'informations contact';
     
    $message = '<p>Nom '.$name.'<br/>Prénom '.$prenom.'<br/>Adresse'.$adresse.'<br/>CP '.$codepostal.'<br/>Ville '.$ville.'<br/>Pays '.$pays.'</p>';
     
    mail($to, $sujet, $message);

  7. #7
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Points : 63
    Points
    63
    Par défaut
    Merci encore pour votre aide

  8. #8
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Citation Envoyé par ThomasR Voir le message
    Bonjour,

    Plus concrètement un mail possède un message, il te faut créer un message qui va contenir les informations de nom, prénom, adresse code postal etc...Soit une variable $message qui est une chaine de caractères et va contenir du HTML afin d'afficher les informations du contact, dans le mail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sujet = 'Envoi email d\'informations contact';
     
    $message = '<p>Nom '.$name.'<br/>Prénom '.$prenom.'<br/>Adresse'.$adresse.'<br/>CP '.$codepostal.'<br/>Ville '.$ville.'<br/>Pays '.$pays.'</p>';
     
    mail($to, $sujet, $message);
    hmmm utiliser des balises HTML c'est pas une bonne idée. Vu qu'il n'a déjà pas trouvé son erreur avec le nombre de variables passées en paramètres...
    Utiliser des balises HTML implique l'ajout de headers(), autant ne pas l'embrouiller tout de suite non ?

    De plus, il le construisait déjà son message

    la variable qui n'est pas définie est $sujet, que j'ai rajouté car elle est obligatoire (contrairement à toutes les variables qui suivent $message).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $to = "monadresse_email@domaine.ext";
    $sujet = "Yoohoo ! Voici un mail !";
    $message = "";
    foreach ($_POST AS $k => $v) {
         $message .= "$k : $v\r\n";
    }
    mail ($to, $sujet, $message);

  9. #9
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Points : 63
    Points
    63
    Par défaut
    Je ne parviens toujours pas à récupérer tout mon formulaire j'ai bien l'objet du msg mes pas le contenu juste la premier zone de texte" le nom "

    Pouvez vous m'aider ?

    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 = "cdevl@hotmail.com";
     
    $h  = "From: " . $TO;
     
    $sujet = "Formulaire d'inscription !";
     
    $message= "";
     
    while (list($key, $val) = each($_POST)) {
       $message.= "$key : $val\n";
    }
     
    mail($TO, $sujet, $message);
     
    ?>

  10. #10
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Citation Envoyé par cdevl32 Voir le message
    Je ne parviens toujours pas à récupérer tout mon formulaire j'ai bien l'objet du msg mes pas le contenu juste la premier zone de texte" le nom "

    ton formulaire est mal fait... voici comment on en crée un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <form method="post" action="form.php">
         <div>
              <label for="nom">Nom : </label>
              <input type="text" id="nom" name="nom" />
              <input type="submit" value="Envoyer" />
         </div>
    </form>
    Qu'est-ce qui est important là-dedans ?
    - <label> </label> avec un attribut FOR permet, quand on click dessus, de donner le focus à l'INPUT qui contient le meme ID que dans le FOR
    donc FOR="nom" donnera le focus à l'input ID="nom"
    - EXTREMEMENT IMPORTANT, et c'est ton erreur principale : il faut ajouter un attribut NAME. C'est grâce à ce nom que tu pourras récupérer les valeurs de ton formulaire.
    name="nom" permettra de récupérer la valeur apres soumission du formulaire dans $_POST['nom']

  11. #11
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Peut-être que jeter un coup d'oeil à quelques tutos serait utile...
    Envoyer un mail en php
    Php 5 et les formulaires

Discussions similaires

  1. Erreur dans mon formulaire
    Par WebDup dans le forum Langage
    Réponses: 22
    Dernier message: 23/04/2014, 14h16
  2. supprimer "entrer une valeur de paramètre" dans un formulaire
    Par Noline dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 24/08/2010, 17h19
  3. [MySQL] Erreur dans mon formulaire
    Par rane dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/07/2006, 14h06
  4. Problème de paramètres dans mon code javascript
    Par cocacollection dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/03/2006, 10h53

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