question peut-etre u peu bete.. mais t'es sur au moins que t'arrives dans cette page??? genre une petite erreur dans le chemin du fichier dans le action="" du formulaire ??
Version imprimable
question peut-etre u peu bete.. mais t'es sur au moins que t'arrives dans cette page??? genre une petite erreur dans le chemin du fichier dans le action="" du formulaire ??
.. et ça a rien a voir mais t'as pas fermé la balise center... :wink: juste pour le signaler...
C'est le code du formulaireCode:
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 <html> <head> <title>Connexion</title> </head> <body background="index.jpg"> <br> <br> <br> <br> <br> <br> <br> <br> <br> <form method="post" action="envoi_pass.php"> <center> <TABLE BORDER="0" CELLPADDING="2" CELLSPACING="2" width="25%" BGCOLOR=#ffffcc> <tr bgcolor=#ffffcc> Ce formulaire vous permet de redemander votre mot de passe qui vous sera envoyé sur votre boite e-mail </tr> <tr> <td>Votre adresse mail :</td> <TD ALIGN="LEFT" HEIGHT=35 valign="middle" CLASS="text8"> <input type="text" name="mail" /> </TD> </tr> <tr> <TD> <input type="submit" name="envoi" value="Envoyer le mail" /> </TD> </tr> </TABLE> </form> </body> </html>
La feuille que j'appelle se nomme bien envoi_pass.php et si elle n'existai pas je n'aurai pas une page blanche mais une page de page non trouvé justement
c'est bizarre, si meme le texte 'mail' ne s'affiche pas ça veut dire que ton script n'est pas executé du tout!
Finalement ce code me renvoie bien ce que j'ai entré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 <?php echo 'mail'.$_POST['mail']; /* error_reporting(E_ALL); if (isset( $_POST['mail']) ) { $verif="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!"; $mail=$_POST['mail']; $from=htmlentities("From: ".$mail); $to = $_POST['mail']; $sujet="Mot de passe perdu"; $message="Votre mot de passe vient de vous etre envoye"; if(!preg_match($verif,$mail)) { header("location: envoi_pass_pb.html"); } else { $result = mail( $to $sujet $message $from); if ($result == true) { header("location: envoi_pass.html"); } else { header("location: envoi_pass_pb.html"); } } } else { header("location: envoi_pass_pb.html"); } */ ?>
et ca ca ne marche plus
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php echo 'mail'.$_POST['mail']; error_reporting(E_ALL); if (isset( $_POST['mail']) ) { header("location: envoi_pass_pb.html"); } else { header("location: envoi_pass_pb.html"); } ?>
et je viens d'avoir une jolie erreur avec le code ci dessus
Citation:
Warning: Cannot modify header information - headers already sent by (output started at c:\documents and settings\richard chbeir\mes documents\enseignement\projet tut\05-06\alma\webalma\envoi_pass.php:2) in c:\documents and settings\richard chbeir\mes documents\enseignement\projet tut\05-06\alma\webalma\envoi_pass.php on line 28
fais un peu attention, tu as mis un echo juste avant un header...
normal que ca marche pas ;)
cette erreur est dûe à l'utilisation de fonction modifiant les headers de la page html générée par PHP. (en l'occurence dans ton code les fonctions header() )
donc mets les en commentaire et mets à la place un simpleetCitation:
echo "erreur email";
pour commencer...Citation:
echo "mail ok"
autant pour moi aussi :oops: je me suis fié à l'indentation ...
essaie
Code:print_r($_POST);
au début du fichier
Après une analyse poussée du code, je sais que la ligne qui fait buggé la page estJe remet le code en entierCode:$result = mail( $to‚ $sujet ‚ $message ‚ $from);
Et je suis sur que la fonction mail est active sur le serveurCode:
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 <?php //echo 'mail'.$_POST['mail']; error_reporting(E_ALL); if (isset( $_POST['mail']) ) { $verif="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!"; $mail=$_POST['mail']; $from=htmlentities("From: ".$mail); $to = $_POST['mail']; $sujet="Mot de passe perdu"; $message="Votre mot de passe vient de vous etre envoye"; if(!preg_match($verif,$mail)) { header("location: envoi_pass_pb.html"); } else { $result = mail( $to‚ $sujet ‚ $message ‚ $from); if ($result == true) { header("location: envoi_pass.html"); } else { header('location: envoi_pass_pb.html'); } } } else { header('location: envoi_pass_pb.html'); } ?>
Merci
essaies pour test d'envoyer un mail basique
si ça fonctionne, affiches alors les variables qui sont passées en paramètre de la fonction mail pour voir si tout va bienCode:
1
2 mail ("tonadresse@email","test","ceci est mon test");
le pb est apparemment resolu avec ce code:
Merci!Code:mail ( $mail,$sujet,$message);