Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 25/02/2011, 20h07   #1
Membre actif
 
Avatar de solaar
 
Homme
Inscription : septembre 2007
Messages : 355
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : septembre 2007
Messages : 355
Points : 163
Points : 163
Envoyer un message via Yahoo à solaar
Par défaut envoi de mail

Bonsoir je vous présente mon code:

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
//fonction non commune envoye de message
function do_message_form_html()
{
?>
<div id="mail_form">
 <?php
@ $mail=$_POST['mail'];
@ $nom=$_POST['nom'];
@ $prenom=$_POST['prenom'];
@ $sujet=$_POST['sujet'];
@ $message=$_POST['message'];
$toadresse='xxxxx';
if (empty($_POST['nom'])||empty($_POST['mail'])||empty($_POST['sujet']))
{
echo("<form action='index.php' method='post'>
<table width='0' border='0' cellpadding='0'  >
  <tr>
   <td><label>Nom </label></td>
   <td><input name='nom' tabindex='1' type='text' title='nom' maxlength='20' />*</td>
  </tr>
  <tr>
    <td><label>Prenom</label></td>
    <td><input name='prenom' tabindex='2' type='text'   maxlength='30'  /></td>
  </tr>
  <tr>
    <td><label>Mail</label></td>
    <td><input name='mail'   tabindex='3'  type='text'   maxlength='30' size='30' />*</td>
 
</tr>
 
   <tr>
    <td><label>Sujet</label></td>
    <td><input name='sujet'  tabindex='4'  type='text'   maxlength='30' size='50'/>*</td>
  </tr>
 
   <tr>
    <td><label>Message</label></td>
    <td><textarea name='message' tabindex='4' cols='40' rows='8'></textarea></td>
    </tr>
</table>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type='submit' name='envoye_message' tabindex='5' value='Envoyer Message'  style='font-size:11px;float:center;cursor:pointer;'/>
</form>");
}
else{
$mail=trim($mail);
valid_email($mail);
$nom=trim($nom);
$prenom=trim($prenom);
$sujet=trim($sujet);
 
$message=trim($message);
$conteneur= $prenom ." ".$nom."\n\n";
mail($toadresse,$sujet,$message,$mail);
echo'<p align=\'center\'>';
    echo'<a   href=\'../index.php\'> Retour à la page d\'Accueil</a>';
echo("<br/><br/>");
echo nl2br("$conteneur");
echo'Vos message a été envoyé avec succè.';
echo'</p>';
}
?>
</div>
<?php
}
je sais vraiment pour quoi j'ai aucun résultat.
je travail sur mon formulaire (index.php).


Merci pour l'aide.
solaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 20h13   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Pourrais-tu être plus précis sur le problème rencontré ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 20h23   #3
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 465
Points : 8 465
enlève les @
il faut aussi tester si le mail a été envoyé
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 23h40   #4
Membre actif
 
Avatar de solaar
 
Homme
Inscription : septembre 2007
Messages : 355
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : septembre 2007
Messages : 355
Points : 163
Points : 163
Envoyer un message via Yahoo à solaar
message d'erreur sur chaque @ enlevé:

Code :
Notice: Undefined index: mail in C:\EasyPHP\www\contacts\mes_fonctions.php on line 53
j'arrive pas en envoyer de mail.

oké voilà!
sur mon site j'ai le répertoire contact.
j'ai une page index.php et dans la page index j'ai sa:
Code :
1
2
3
4
5
6
7
<?php 
include'mes_fonctions.php';
do_html_heater('NOS CONTACTS');
include 'corps_contacts.php';
do_html_footer();
 
?>
dans include 'corps_contacts.php'; j'ai une fonction do_message_form_html() qui vient de include'mes_fonctions.php';.
et c'est le code de do_message_form_html() qui se trouve au dessus.
je comprend vraiment et lorsque j'envois un message je ne reçois rien dans ma messagerie.
solaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 00h09   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 465
Points : 8 465
Citation:
Envoyé par solaar Voir le message
message d'erreur sur chaque @ enlevé:

Code :
Notice: Undefined index: mail in C:\EasyPHP\www\contacts\mes_fonctions.php on line 53
j'arrive pas en envoyer de mail.
le champ mail n'est pas envoyé par ton formulaire

sinon c'est
Code :
1
2
3
4
5
6
7
8
if(mail($toadresse,$sujet,$message,$mail))
{
    echo 'mail envoyé';
}
else
{
    echo 'mail pas envoyé';
}
EDIT : le 4eme paramètre de mail n'est pas bon non plus :
http://php.net/manual/fr/function.mail.php
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 01h19   #6
Membre actif
 
Avatar de solaar
 
Homme
Inscription : septembre 2007
Messages : 355
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : septembre 2007
Messages : 355
Points : 163
Points : 163
Envoyer un message via Yahoo à solaar
Attend je comprend rien là !
je mon serveur local apache j'ai des messages d'erreur après enlèvement de plusieurs @.
mon
Citation:
EDIT : le 4eme paramètre de mail n'est pas bon non plus
mais c'est tout les paramètre après l'enlèvement des @.

Question je sais pas si c'est ce que j'envoie les infos sur la même page:
Code :
"<form action='index.php' method='post'>
.
je tente de l'envoyer sur une autre page exemple <form action='register_mail_from.php' method='post'>
solaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 10h15   #7
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Déjà, ton début est moche : couper une fonction pour mettre une ligne de HTML je trouve ça vraiment moche
Code :
1
2
3
function do_message_form_html()
{
echo '<div id="mail_form">';
Ensuite ta logique est mauvaise, tu commences par traiter tes variables $_POST et tu vérifies ensuite si elles existent ou non.
C'est dans le else{} que doit etre le traitement
Code :
1
2
3
4
5
6
7
8
9
10
 
$toadresse='xxxxx';
if (empty($_POST['nom'])||empty($_POST['mail'])||empty($_POST['sujet']))
{
....
}
else {
$mail=trim($_POST['mail']);
$nom=trim($_POST['nom']);
etc.
Pour continuer, on se demande si tu as relu ton code, le premier paramètre de la fonction mail() c'est l'adresse de destination.
Je ne pense pas que tu veuilles écrire à toi même donc ton premier paramètre c'est le $mail saisi dans le formulaire.
Comme te l'indique Stealth35, le 4ème paramètre indique des en-tête supplémentaire, pas une adresse email.

Pour finir
Citation:
Vos message a été envoyé avec succè.
Tes utilisateurs apprécieront un minimum d'orthographe
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 17h02   #8
Membre actif
 
Avatar de solaar
 
Homme
Inscription : septembre 2007
Messages : 355
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : septembre 2007
Messages : 355
Points : 163
Points : 163
Envoyer un message via Yahoo à solaar
Bonjour je vous présente tout mon code, j'ai du le modifier selon vos remarques :
SVP Montrer de l'indulgence, il y a longtemps que j'ai laissé le langage 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
 
function do_message_form_html()
{
if (empty($_POST['nom'])||empty($_POST['mail'])||empty($_POST['sujet']))
{
echo(
"<div id=\'mail_form\'>
<form action='index.php' method='post'>
<table width='0' border='0' cellpadding='0'  >
  <tr>
   <td><label>Nom </label></td>
   <td><input name='nom' tabindex='1' type='text' title='nom' maxlength='20' />*</td>
  </tr>
  <tr>
    <td><label>Prenom</label></td>
    <td><input name='prenom' tabindex='2' type='text'   maxlength='30'  /></td>
  </tr>
  <tr>
    <td><label>Mail</label></td>
    <td><input name='mail'   tabindex='3'  type='text'   maxlength='30' size='30' />*</td>
 
</tr>
 
   <tr>
    <td><label>Sujet</label></td>
    <td><input name='sujet'  tabindex='4'  type='text'   maxlength='30' size='50' />*</td>
  </tr>
 
   <tr>
    <td><label>Message</label></td>
    <td><textarea name='message' tabindex='4' cols='50' rows='10'  > </textarea></td>
    </tr>
</table>
<input type='submit' name='envoye_message' tabindex='5' value='Envoyer Message'  style='font-size:11px;float:center;cursor:pointer;'/>
</form></div>");
}
$nom=trim($_POST['nom']);
$prenom=trim($_POST['prenom']);
//@$mail=trim($_POST['mail']);
//valid_email($mail);	
 
$sujet=trim($_POST['sujet']);	
$message=trim($_POST['message']);
 
$conteneur= $prenom ." ".$nom."\n\n";
$toadresse='ledestinataire';
//$headers = "From:" .$mail. "\r\n";
 
if(mail($toadresse,$sujet,$message))
{
echo'<div id=\'mail_form\'>';	
echo("<p align='center'>");
echo("<a   href='../index.php'> Retour Accueil</a>");
echo("<br/><br/>");
echo nl2br("$conteneur");
echo'Votre message a été envoyé.';
echo'</p>';
echo '</div>';
}
else
{
echo'<div id=\'mail_form\'>';	
echo("<p align='center'>");
echo("<a   href='../index.php'> Retour Accueil</a>");
echo("<br/><br/>");
echo nl2br("$conteneur");
echo'message non envoyé.';
echo'</p>';
echo '</div>';
}
j'ai besoin de correction car l'envoi du message ne passe toujours pas.
Merci.
solaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 17h05   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 465
Points : 8 465
et qu'est qui marche pas y'a un message d'erreur ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 19h50   #10
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Citation:
j'ai du le modifier selon vos remarques
Ba non
- le else{} a disparu
- le destinataire est toujours $toadresse
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2011, 00h58   #11
Membre actif
 
Avatar de solaar
 
Homme
Inscription : septembre 2007
Messages : 355
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : septembre 2007
Messages : 355
Points : 163
Points : 163
Envoyer un message via Yahoo à solaar
slt!
c'est ma première fois de rencontrer un tel problème.
Le code ci-dessous marche bien et ne pose pas de problème sur un second hébergeur libre où je me suis inscrit pour le tester.
Mais par contre sur un autre hébergeur non libre, il ne marche pas et je ne voix aucune erreur ( le message: Votre message a été envoyé).

Est ce un problème d'hébergeur ?
solaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 12h34   #12
Membre actif
 
Avatar de solaar
 
Homme
Inscription : septembre 2007
Messages : 355
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : septembre 2007
Messages : 355
Points : 163
Points : 163
Envoyer un message via Yahoo à solaar
Merci à tout le monde en particulier sabotage. j'ai repris mon code et bien utilisé le else{}. mon code est bon.
j'ai contacté mon hébergeur de site "un ami à moi"... il me dit que le problème vient de lui.
Mais ce que je comprend pas il me demande de mettre sur $toadresse='ledestinataire';, une de mes boites ( gmail ou yahoo) ?
solaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 00h07   #13
Membre actif
 
Avatar de solaar
 
Homme
Inscription : septembre 2007
Messages : 355
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : septembre 2007
Messages : 355
Points : 163
Points : 163
Envoyer un message via Yahoo à solaar
Merci mon problème est résolut... c'est mon hébergeur de site web,qui a mal fait sa config.
solaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h06.


 
 
 
 
Partenaires

Hébergement Web