Savoir si son formulaire fonctionne.

Résolu
Synerz Messages postés 1234 Date d'inscription   Statut Membre Dernière intervention   -  
Synerz Messages postés 1234 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je travail sur l'HTML et le PHP via un livre et j'attaque la partie formulaire sauf que j'ai un problème et un truc que je comprends pas trop.

Donc le livre me donne un exemple de formulaire à modifier selon nos "variables" et je l'ai fais.

Voila cette partie :
<?php
// Récupération des données du formulaire

$nom = $_post='nom';
$prenom = $_post='prenom';
$email = $_post='email';
$password = $_post='password' ;
$message = $_post='message';
$choix = $_post='choix' ;
$janvier = $_post='Janvier';
$février = $_post='Février';
$mars = $_post='Mars';
$conaissance = $_post='conaissance[]'

//Texte à envoyer

$texte = 'Monsieur $nom $prenom \n' ;
$texte = "Vous vous etes inscrit via l'adresse mail : $email \n" ;
$texte = 'Merci de noter votre mot de passe qui est : $password \n' ;
$texte = 'Nous avons bien pris en compte votre message qui est : $message \n';
$texte = 'Le jour choisi ainsi que les mois sont : $choix $janvier $février $mars \n';
$texte = 'Vous avez connu le site via : $connaissance ';


Ensuite il m'explique comment envoyer ces informations par mail et vérifier si l'envoie à fonctionné.
// Destinataire et object du message 

$destinataire = 'adresse.mail@gmail.com' ;
$object = 'Formulaire du site web' ;

// En-tête masqué (définition du codage)

$headers = 'content-type : text/plain charset=utf-8';

//Envoie du formulaire par mail ainsi que confirmation 

$envoi_bon = mail ($destinataire, $object, $texte, $hearders);
 
 if($envoi_bon) {echo'Envoi OK';}
 else {echo 'Erreur';}
?>

Mais ça fonctionne pas :/
Quand j'exécute mon formulaire avec Wamp ça me met " Parse error: syntax error, unexpected '$texte' (T_VARIABLE) in D:\wamp\www\WebApp1\Formulaire.php on line 17"

Soit la ligne qui corresponds à "$texte = 'Monsieur $nom $prenom \n' ;"
Puis je me demande si avec Wamp l'envoie du mail ce fais.
Puis normalement les informations récupérés sur un formulaire sont enregistrer sur une base de données.

Voila j’espère que vous pourrez m'aider :)

Un peu d'aide contre un topic résolu !

3 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Si ton formulaire envoie les données en utilisant la méthode post, il faut récupérer ces variables en php via la superglobale $_POST.

Par exemple :
// recommandé (en utilisant l'opérateur ternaire)
$nom = isset($_POST['nom']) ? $_POST['nom'] : '';

// équivalent à (sans l'opérateur ternaire)
if (isset($_POST['nom'])) {
    $nom = $_POST['nom'];
} else {
    $nom = '';
}

// équivalent à (avec l'opérateur d'union nul) depuis PHP 7
$nom = $_POST['nom'] ?? '';


Bonne journée
2
Synerz Messages postés 1234 Date d'inscription   Statut Membre Dernière intervention   116
 
Salut,

Je t'avoue que la je te suis pas :/
J'ai aucune idée de ce qu'est une opération ternaire ainsi que la différence entre les trois exemple que tu m'as mis.
0
Tatanos Messages postés 966 Date d'inscription   Statut Membre Dernière intervention   156
 
Ah oui j'avais même pas fait attention aux lignes au dessus :) merci Pitet
0
Tatanos Messages postés 966 Date d'inscription   Statut Membre Dernière intervention   156
 
Salut,

A la place de $texte = 'Monsieur $nom $prenom \n' ;
essaies : $texte = "Monsieur $nom $prenom \n"; //(avec des doubles quottes)

Je pense aussi qu'il faudrait échapper le backslash (mais c'est à vérifier)

Comme ceci : $texte = "Monsieur $nom $prenom \\n" ;
1
Synerz Messages postés 1234 Date d'inscription   Statut Membre Dernière intervention   116
 
Bonjour,

Merci de me venir en aide :)

J'ai modifié les lignes comme ceci :
$texte = "Monsieur $nom $prenom \\n";
$texte = "Vous vous etes inscrit via l'adresse mail : $email \\n" ;
$texte = "Merci de noter votre mot de passe qui est : $password \\n" ;
$texte = "Nous avons bien pris en compte votre message qui est : $message \\n";
$texte = "Le jour choisi ainsi que les mois sont : $choix $janvier $février $mars \\n";
$texte = "Vous avez connu le site via : $connaissance ";

Mais ça change pas l'erreur.
0
Firoxyd Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   45
 
Bonjour,

Il manque un point-virgule à la ligne 13.
0
Synerz Messages postés 1234 Date d'inscription   Statut Membre Dernière intervention   116
 
Bonjour,

Effectivement j'avais pas vu et en l'ajoutant j'ai des nouvelles erreurs qui sont :


Deuxième : "Notice: Undefined variable: hearders in D:\wamp\www\WebApp1\Formulaire.php on line 35"

Troisième :"Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\wamp\www\WebApp1\Formulaire.php on line 35"

La troisième erreur vient surement de l'envoie du mail.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753 > Synerz Messages postés 1234 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Il suffit de lire le message d'erreur.... et de se relire ....
Tu as écris ceci :
$headers = 'content-type : text/plain charset=utf-8';

//Envoie du formulaire par mail ainsi que confirmation 

$envoi_bon = mail ($destinataire, $object, $texte, $hearders);

Ne vois tu pas une différence entre :$headers et $hearders ?
0
Synerz Messages postés 1234 Date d'inscription   Statut Membre Dernière intervention   116 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Bonjour,

Effectivement ce une erreur bete..

Pour la derniere c'est juste une histoire de port via ma box ou un truc a modifier via wamp ?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753 > Synerz Messages postés 1234 Date d'inscription   Statut Membre Dernière intervention  
 
Si tu travailles en LOCAL ... il faut paramétrer ton wamp avec un serveur SMTP....
Tu trouveras toute la doc nécessaire sur le net.....
0
Synerz Messages postés 1234 Date d'inscription   Statut Membre Dernière intervention   116
 
ça roule merci je vais regarder ça
0