Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/05/2011, 12h22   #1
Invité de passage
 
Homme Anice GNAMPA
Étudiant
Inscription : mai 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme Anice GNAMPA
Localisation : Burkina Faso

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

Informations forums :
Inscription : mai 2011
Messages : 1
Points : 0
Points : 0
Par défaut Formulaire problème submit.php

Bonjour,

J'ai a partir du tuto de création de formulaire php essayé de créer un formulaire, donc voila au lieu de faire le formulaire entièrement en html j'ai conçu une page contact.html dont l'action (on post) renvoie à ma page submit.php. Seulement lorsque je fait un test sa marche pas (le script php contient pourtant un else qui spécifie qu'en cas d'erreur retourner le message : message_erreur).
Alors le code submit.php :
Code :
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
if (isset($_POST["envoyer"])){ // Si le formulaire a été soumis
 
 // On récupère les champs du formulaire, et on arrange leur mise en forme
    if (isset($_POST["nom"])) $_POST["nom"]=trim(stripslashes
($_POST["nom"])); // trim()  enlève les espaces en début et fin de chaine
 
 // On récupère les champs du formulaire, et on arrange leur mise en forme
    if (isset($_POST["prenom"])) $_POST["prenom"]=trim(stripslashes
($_POST["prenom"])); // trim()  enlève les espaces en début et fin de chaine
 
    if (isset($_POST["email"])) $_POST["email"]=trim(stripslashes
($_POST["email"])); // stripslashes()  retire les backslashes ==> \' devient '
 
    if (isset($_POST["tel"])) $_POST["tel"]=trim(stripslashes(
$_POST["tel"]));
 
    if (isset($_POST["sujet"])) $_POST["sujet"]=trim(stripslashes
($_POST["sujet"]));
 
    if (isset($_POST["message"])) $_POST["message"]=trim(stripslashes
($_POST["message"]));
 
}
?>
 
<?php
 
else { //  on envoie le mail
    $nom = $_POST["nom"]; // On stocke les variables récupérées du formulaire
    $prenom = $_POST["prenom"];
    $email = $_POST["email"];
    $tel = $_POST["tel"];
    $sujet = $_POST["sujet"];
    $message = $_POST["message"];
 
    $mon_email = "contact@e-afrik.com"; // Mise en forme du message que vous recevrez
    $mon_pseudo = "Staff e-AFRIK";
    $mon_url = "www.e-afrik.com";
    $msg_pour_moi = "- Nom : $nom \n
	- Prénom : $prenom \n
    - Son E-mail : $email \n
    - Son N° de Tél. : $tel \n
    - Sujet : $sujet \n
    - Message : \n $message \n\n";
 
    // Mise en forme de l'accusé réception qu'il recevra
    $accuse_pour_lui = "Bonjour $prenom $nom,\n
    Une requête viens d'être transmise à l'équipe du grooupe e-AFRIK par le possesseur de l'adresse $email.\n\n
    L'objet de votre message : $sujet \n
    Votre message : \n $message \n\n
    Merci et à bientôt sur http://e-afrik.com !\n\n
    S'il s'agit d'une erreur, merci d'ignorer ce mail.";
 
    // Envoie du mail
    $entete = "From: " . $mon_pseudo . " <" . $mon_email . ">\n"; // On prépare l'entête du message
    $entete .='Content-Type: text/plain; charset="iso-8859-1"'."\n"; 
	$entete .='Content-Transfer-Encoding: 8bit';
 
    if (@mail($mon_email,$sujet,$msg_pour_moi,$entete) && 
@mail($email,$sujet,$accuse_pour_lui,$entete)){ // Si le mail a été envoyé
        echo "<p style=\"text-align:center\">Votre message a &eacute;t&eacute; 
envoy&eacute;, vous recevrez une confirmation par mail.<br /><br />\n"; 
// On affiche un message de confirmation
        echo "<a href=\"" . $mon_url . "\">Retour</a></p>\n"; 
// Avec un lien de retour vers l'accueil du site
    }
    else { // Sinon il y a eu une erreur lors de l'envoi
        echo "<p style=\"text-align:center\">Un probl&egrave;me s'est produit lors de 
l'envoi du message.\n";
        echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a></p> <br>Si des probl&egrave;mes persiste contacter l'administrateur de e-AFRIK : <a href="mailto:support@e-afrik.com">support@e-afrik.com</a></p>\n\n"; 
// On propose un lien de retour vers le formulaire
    }
}
?>
Lorsque je clique sur le bouton d'envoi du formulaire (contact.html) je suis redirigé vers submit.php seulement la page reste blanche.
Pouvez vous svp éclairer ma lanterne.
Encore une petite question, si je veux intégrer un champ sélection de fichier, ce type de procéder de récupération de donnée est il approprié.
Merci d'avoir pris le temps de lire mon post.
gnanice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 12h42   #2
Débutant
 
Inscription : février 2009
Messages : 559
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 559
Points : 138
Points : 138
bonjour il me semble avoir vu une erreur à la ligne 71
noobyyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 12h55   #3
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 270
Points : 7 270
Bonsoir,

Citation:
if (isset($_POST["envoyer"])){ // Si le formulaire a été soumis
or que dans le bloc else tu récupères des variables $_POST si ton formulaire n'est pas soumis

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 14h29   #4
Membre éclairé
 
Avatar de humitake
 
Homme Olivier
Étudiant
Inscription : novembre 2010
Messages : 303
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 303
Points : 384
Points : 384
Sa fonctionne de faire un if dans un premier bloc php de fermer ce bloc et de lancer un else dans un autre bloc ??
humitake est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 14h33   #5
Membre expérimenté
 
Avatar de amoiraud
 
Homme Adrien
Développeur Web
Inscription : octobre 2006
Messages : 405
Détails du profil
Informations personnelles :
Nom : Homme Adrien
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : octobre 2006
Messages : 405
Points : 531
Points : 531
Envoyer un message via MSN à amoiraud
Citation:
Envoyé par humitake Voir le message
Sa fonctionne de faire un if dans un premier bloc php de fermer ce bloc et de lancer un else dans un autre bloc ??
Je ne sait pas mais même si ca marche je vois pas l’intérêt de fermer la balise PHP pour la rouvrir la ligne d'après sans avoir mis de HTML entre les 2
amoiraud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 14h43   #6
Membre éclairé
 
Avatar de humitake
 
Homme Olivier
Étudiant
Inscription : novembre 2010
Messages : 303
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 303
Points : 384
Points : 384
Non sa ne marche pas je viens d'essayer.

Par contre gnanice affiche tu les erreurs de php ?
Lorsque j’exécute ton code la page n'est pas blanche mais me retourne l'erreur du else :
Code :
Parse error: syntax error, unexpected T_ELSE
humitake est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 14h40   #7
Membre régulier
 
Homme
Développeur Web
Inscription : octobre 2009
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Vietnam

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2009
Messages : 72
Points : 99
Points : 99
Tu as des erreurs qui ne sont pas affichées, ajoute

ini_set(display_errors,1)

au début de submit.php

Sinon ligne 71 tu as un problème sur la concaténation du html
corrige
Code :
<a href="mailto:support@e-afrik.com">support@e-afrik.com</a></p>\n\n";
par
Code :
<a href=\"mailto:support@e-afrik.com\">support@e-afrik.com</a></p>\n\n";
AU final il te faudrait vérifier si la situation ou le formulaire n'as pas été soumit :
Code :
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
<?php
if (!isset($_POST["envoyer"])) // Si le formulaire a été soumis
{
	echo "erreur envoi formulaire";
}else{
 // On récupère les champs du formulaire, et on arrange leur mise en forme
    if (isset($_POST["nom"])) $_POST["nom"]=trim(stripslashes($_POST["nom"])); // trim()  enlève les espaces en début et fin de chaine
 
 // On récupère les champs du formulaire, et on arrange leur mise en forme
    if (isset($_POST["prenom"])) $_POST["prenom"]=trim(stripslashes($_POST["prenom"])); // trim()  enlève les espaces en début et fin de chaine
 
    if (isset($_POST["email"])) $_POST["email"]=trim(stripslashes($_POST["email"])); // stripslashes()  retire les backslashes ==> \' devient '
 
    if (isset($_POST["tel"])) $_POST["tel"]=trim(stripslashes($_POST["tel"]));
 
    if (isset($_POST["sujet"])) $_POST["sujet"]=trim(stripslashes($_POST["sujet"]));
 
    if (isset($_POST["message"])) $_POST["message"]=trim(stripslashes($_POST["message"]));
 
	//  on envoie le mail
    $nom = $_POST["nom"]; // On stocke les variables récupérées du formulaire
    $prenom = $_POST["prenom"];
    $email = $_POST["email"];
    $tel = $_POST["tel"];
    $sujet = $_POST["sujet"];
    $message = $_POST["message"];
 
    $mon_email = "contact@e-afrik.com"; // Mise en forme du message que vous recevrez
    $mon_pseudo = "Staff e-AFRIK";
    $mon_url = "www.e-afrik.com";
    $msg_pour_moi = "- Nom : $nom \n
	- Prénom : $prenom \n
    - Son E-mail : $email \n
    - Son N° de Tél. : $tel \n
    - Sujet : $sujet \n
    - Message : \n $message \n\n";
 
    // Mise en forme de l'accusé réception qu'il recevra
    $accuse_pour_lui = "Bonjour $prenom $nom,\n
    Une requête viens d'être transmise à l'équipe du grooupe e-AFRIK par le possesseur de l'adresse $email.\n\n
    L'objet de votre message : $sujet \n
    Votre message : \n $message \n\n
    Merci et à bientôt sur http://e-afrik.com !\n\n
    S'il s'agit d'une erreur, merci d'ignorer ce mail.";
 
    // Envoie du mail
    $entete = "From: " . $mon_pseudo . " <" . $mon_email . ">\n"; // On prépare l'entête du message
    $entete .='Content-Type: text/plain; charset="iso-8859-1"'."\n"; 
	$entete .='Content-Transfer-Encoding: 8bit';
 
    if (@mail($mon_email,$sujet,$msg_pour_moi,$entete) && @mail($email,$sujet,$accuse_pour_lui,$entete)){ // Si le mail a été envoyé
        echo "<p style=\"text-align:center\">Votre message a &eacute;t&eacute; 
envoy&eacute;, vous recevrez une confirmation par mail.<br /><br />\n"; 
// On affiche un message de confirmation
        echo "<a href=\"" . $mon_url . "\">Retour</a></p>\n"; 
// Avec un lien de retour vers l'accueil du site
    }
    else { // Sinon il y a eu une erreur lors de l'envoi
        echo "<p style=\"text-align:center\">Un probl&egrave;me s'est produit lors de l'envoi du message.\n";
        echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a></p> <br>Si des probl&egrave;mes persiste contacter l'administrateur de e-AFRIK : <a href=\"mailto:support@e-afrik.com\">support@e-afrik.com</a></p>\n\n"; 
// On propose un lien de retour vers le formulaire
    }
}
?>
matlow est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h16.


 
 
 
 
Partenaires

Hébergement Web