PHPNET Assistance

Informations PHPNET => Forum Technique et Commercial => Discussion démarrée par: artb54 le 05 juin 2004 à 14:32:05

Titre: Message
Posté par: artb54 le 05 juin 2004 à 14:32:05
Bonjour,

j'ai placer un formulaire sur mon site.

Lorsque quelqu'un le rempli et l'envoie je reçoit le mail provenant de root@cluster2.phpnet.org . Est-ce possible que le nom de l'envoyeur soit plus proche du nom de mon site?

Merci

Bien à vous.
Titre: Message
Posté par: alex le 05 juin 2004 à 14:32:17
Ajoute un champ From: dans les headers du mail... Fais une recherche sur le forum, le sujet a déjà été évoqué...
Titre: Message
Posté par: artb54 le 05 juin 2004 à 17:25:15
Merci de la réponse mais je ne suis pas un pro du header et truc bazar...

J'ai fait une recherche mais rien trouvé.

Pourrais-tu être plus complet dans ta réponse?

Merci
Titre: Message
Posté par: 2ae le 05 juin 2004 à 17:39:00
$headers.="From:tonNom <tonEmail@tonDomaine>\n";
$headers.="Reply-To:tonAdresseDeRetour\n";
$headers.="Bcc:quiTuVeux\n";
$headers.="Date: ".date("r")."\n";

mail($dest, $titre, $message_enforme,$headers);


Si tu n'es, comme la plupart d'entre nous j'imagine, pas un pro mais que tu souhaites progresser :
http://php.benscom.com/manual/fr/function.mail.php (http://php.benscom.com/manual/fr/function.mail.php)
Titre: Message
Posté par: artb54 le 05 juin 2004 à 17:50:43
Salut et merci,

en fait je ne sais pas comment cela fonctionne mais pour l'envoi de formulaire, je modifie un formulaire qui fonctionne que j'ai trouver sur le net je dois également mettre à la racine de mon site un fichier nommé mailler.php.

Voici le contenu de ce fichier  



<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>'."\n";
$tabInfos = array('TO','GOTOURL','REPLYTO','SUBJECT');

if ( isset($_POST['TO']) ) {
   $strTo = stripslashes($_POST['TO']);
}

if ( isset($_POST['GOTOURL']) ) {
   $strRedirect = $_POST['GOTOURL'];
}

if ( isset($_POST['FROM']) ) {
   $strFrom = stripslashes($_POST['FROM']);
}

if ( isset($_POST['REPLYTO']) ) {
   $headers .= 'Reply-To: '.$_POST['REPLYTO'].'\n';
} else if ( $strFrom!='' ) {
   $headers .= 'Reply-To: '.$strFrom.'\n';
}

if ( isset($_POST['SUBJECT']) ) {
   $strSubject = stripslashes($_POST['SUBJECT']);
}

foreach ($_POST as $key=>$value) {
   if ( !in_array($key,$tabInfos) ) {
      $strMsg .= $key . '=' . $value . "\n";
   }
}
$strMsg = stripslashes($strMsg);
mail($strTo,$strSubject,$strMsg,$headers);
?>
<!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
   <head>
      <title>Envoi de message</title>
      <meta name="Description" content="Courriel envoyé" />
      <meta name="Keywords" content="message, mail, Yan Morin, YanSanMo" />
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><?php
if ($strRedirect!='') {
   echo '<meta http-equiv="refresh" content="0;url='.$strRedirect.'"/>'."\n";
} ?>
   </head>

   <body>

      <h1>Envoi du message</h1>

      <div class="entete">
         <p class="de">DE: <?php echo htmlentities($strFrom); ?></p>
         <p class="a">À:  <?php echo htmlentities($strTo); ?></p>
         <p class="sujet">SUJET: <?php echo htmlentities($strSubject); ?></p>
         <pre class="body"><?php echo htmlentities($strMsg); ?></pre>
      </div>

   </body>
<?php die('</html>'); ?>


De plus je dois mettre ceci dans mon formulaire

<p></p>
<form action="mailer.php" enctype="multipart/form-data" method="POST">
<table border="0">
<tr>

Je ne vois pas comment changer le from.

Si vous avez la soluce?

Merci


 
Titre: Message
Posté par: Ice le 05 juin 2004 à 17:56:42
if ( isset($_POST['FROM']) ) {
$strFrom = stripslashes($_POST['FROM']);
$headers.="From: ".$strFrom."\n";
}
Titre: Message
Posté par: artb54 le 05 juin 2004 à 18:17:39
Merci mais je ne comprend rien??

je dois mettre ou le nom de mon site? ainsi que tous cela?

Merci
Titre: Message
Posté par: bob413242 le 05 juin 2004 à 19:46:08
bah où Ice te dit de le mettre ...  :unsure:  
Titre: Message
Posté par: artb54 le 05 juin 2004 à 19:56:21
J'adore...y a pas un forum ou les gens arrivent a comprendre que quand on note qu'on n'y connait rien, on n'y connait rien, ...je vois pas ou il est indiqué l'endroit. je vois une correction en rouge mais par contre j'aimerais voir en from le nom de mon site.

Si vous désirez répondre merci d'avance, mais alors d'une manière clair qui ne nécessite pas 15 question à votre réponse.

Merci
Titre: Message
Posté par: bob413242 le 05 juin 2004 à 20:12:07
entre ne rien connaitre, et ne pas faire d'effort, il y a un monde !

donc si tu sais mieux que tout le monde, tu retournes jouer avec tes amis les esquimos de papouasie.
sinon, tu essayes au moins la modif qu'Ice te proposes ........
Titre: Message
Posté par: Droopy le 05 juin 2004 à 20:20:51
Lol, Prof_Vince est de sortie  :D  :D

Blagues à part, la modification proposée par Ice est on ne peut plus explicite.
Insère la ligne en rouge dans ton code à l'endroit indiqué par Ice et voit ce que ca donne...

On va pas tout faire à ta place non plus  :lol:

@+
Droopy
Titre: Message
Posté par: Ice le 05 juin 2004 à 21:08:21
Boudiou !!

Dans le code que tu as montré : il y a ces lignes :
if ( isset($_POST['FROM']) ) {
$strFrom = stripslashes($_POST['FROM']);
}

Au lieu de ces lignes : tu mets :
if ( isset($_POST['FROM']) ) {
$strFrom = stripslashes($_POST['FROM']);
$headers.="From: ".$strFrom."\n";
}  
Titre: Message
Posté par: artb54 le 05 juin 2004 à 21:10:47
?c'est bien
Titre: Message
Posté par: artb54 le 05 juin 2004 à 21:16:37
Voila ice,

j'ai fait la modif mais voila le résultat  


La page XML ne peut pas être affichée
Impossible d'afficher l'entrée XML en utilisant la feuille de style . Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement.


--------------------------------------------------------------------------------

Non valide au niveau supérieur du document. Erreur de traitement de la ressource http://xxxx.phpnet.org/mailer.php (http://xxxx.phpnet.org/mailer.php). Ligne 1, Position 44

<?xml version="1.0" encoding="iso-8859-1"?>'."\n";
-------------------------------------------^

Que faire?

Merci
Titre: Message
Posté par: Ice le 05 juin 2004 à 21:25:14
Essaie de mettre au lieu de
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>'."\n";
 sur la premiere ligne de ton fichier maileur.php

le code suivant :

<?xml version="1.0" encoding="iso-8859-1" ?> <?
Titre: Message
Posté par: artb54 le 05 juin 2004 à 21:31:51
Merci mais maintenant c'est une autre erreur


Parse error: parse error in /home/users/a/artb54/www/mailer.php on line 1

Merci

 
Titre: Message
Posté par: bob413242 le 05 juin 2004 à 21:33:29
Citer
Merci,

mais faut toujours des gens qui se sentent obliger de faire les malins.

Quand je donne une explication a quelqu'un je m'assure de son niveau de connaissance et ensuite aussi de voir s'il a compris.

Moi je débute et quand je demande une explication je tente de faire comprendre la raison de la modif.

Sur ce Prof je ne te salue pas car je ne vois pas ou je donne l'impression de connaitre mieux que tout le monde en posant une question.

Du con
ton attitude n'est pas celle d'une personne qui veut apprendre, mais celle de quelqu'un qui attend que ça lui tombe tout mâché dans le bec. hé bien moi, ces gens-là, je ne les supporte pas. en fait, tu n'as même pas essayé de comprendre ce qu'Ice voulait t'expliquer ... tu aurais pu faire des essais, comparer son code au tien, mais non, surtout pas, ça fatigue trop ...

et en plus, ça se permet de donner des leçons. désolant ...
Titre: Message
Posté par: Ice le 05 juin 2004 à 21:36:26
Citer
Merci mais maintenant c'est une autre erreur


Parse error: parse error in /home/users/a/artb54/www/mailer.php on line 1

Merci
Là, je ne vois pas .....
Faut dire , je ne connais pas trop les notations xml.
Titre: Message
Posté par: artb54 le 05 juin 2004 à 21:35:55
Toi tu vis avec moi pour voir si je n'ai pas fait pleins d'essais avant?

Ta réponse était inutile et non constructive.

Merci Ice d'avoir pris du temps pour me répondre plus constructivement que l'autre "prof"?? qui n'a certainement pas de certificat d'aptitude pédagogique

 
Titre: Message
Posté par: Ice le 05 juin 2004 à 21:38:07
peut être supprimer l'espace avec le ?

c'est à dire, mettre ceci :
<?xml version="1.0" encoding="iso-8859-1"?> <?
Titre: Message
Posté par: bob413242 le 05 juin 2004 à 21:46:19
Citer
Toi tu vis avec moi pour voir si je n'ai pas fait pleins d'essais avant?

non et heureusement que je ne vis pas avec toi, sinon j'en connais un qui serait déjà passé dans le mixer !  :D

Citer
Merci Ice d'avoir pris du temps pour me répondre plus constructivement que l'autre "prof"?? qui n'a certainement pas de certificat d'aptitude pédagogique

non je n'ai pas "certificat d'aptitude pédagogique" ... si tout se passe bien, j'aurai l'agreg de maths dans deux ans, mais la n'est pas la question. comme s'il fallait avoir un quelconque diplôme pour aider les autres ......... heureusement que tout le monde ne pense pas comme toi, sinon la seule réponse que tu aurai eu serait un "RTFM" ou un "google est ton ami !"
 
Titre: Message
Posté par: artb54 le 05 juin 2004 à 21:52:10
J'avais bien vu que tu ne l'avais pas ma copine par contre est déjà prof de math, elle , et beaucoup plus pédagogique que toi en tout cas maintenant tu arrêtes de poluer ma question avec tes conneries.

Au fait Ice, j'ai essayé mais j'ai toujours la même ligne d'erreur, pas grave ne perds pas ton temps j'essayerais de trouver une autre solution.

Bonne soirée.
Titre: Message
Posté par: alex le 05 juin 2004 à 21:55:18
On dit être pédagogue... pas pédagogique...
Titre: Message
Posté par: artb54 le 05 juin 2004 à 21:58:07
c'est  vrai, c'est la colère qui me fait écrire vite...
Titre: Message
Posté par: Ice le 05 juin 2004 à 21:56:34
je ne vois plus que la solution de virer ce xml :
Remplacer tout ce qu'il y a dans mailer.php par :

<?php
$tabInfos = array('TO','GOTOURL','REPLYTO','SUBJECT');

if ( isset($_POST['TO']) ) {
$strTo = stripslashes($_POST['TO']);
}

if ( isset($_POST['GOTOURL']) ) {
$strRedirect = $_POST['GOTOURL'];
}

if ( isset($_POST['FROM']) ) {
$strFrom = stripslashes($_POST['FROM']);
$headers.="From: ".$strFrom."\n";
}

if ( isset($_POST['REPLYTO']) ) {
$headers .= 'Reply-To: '.$_POST['REPLYTO'].'\n';
} else if ( $strFrom!='' ) {
$headers .= 'Reply-To: '.$strFrom.'\n';
}

if ( isset($_POST['SUBJECT']) ) {
$strSubject = stripslashes($_POST['SUBJECT']);
}

foreach ($_POST as $key=>$value) {
if ( !in_array($key,$tabInfos) ) {
$strMsg .= $key . '=' . $value . "\n";
}
}
$strMsg = stripslashes($strMsg);
mail($strTo,$strSubject,$strMsg,$headers);
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html
<head>
<title>Envoi de message</title>
<meta name="Description" content="Courriel envoyé" />
<meta name="Keywords" content="message, mail, Yan Morin, YanSanMo" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><?php
if ($strRedirect!='') {
echo '<meta http-equiv="refresh" content="0;url='.$strRedirect.'"/>'."\n";
} ?>
</head>

<body>

<h1>Envoi du message</h1>

<div class="entete">
<p class="de">DE: <?php echo htmlentities($strFrom); ?></p>
<p class="a">À: <?php echo htmlentities($strTo); ?></p>
<p class="sujet">SUJET: <?php echo htmlentities($strSubject); ?></p>
<pre class="body"><?php echo htmlentities($strMsg); ?></pre>
</div>

</body>
<?php die('</html>'); ?>
Titre: Message
Posté par: artb54 le 05 juin 2004 à 22:02:35
Au fait Profvince, pour quelqu'un qui dit que google est mon ami apparement c'est également le tien puisque tu as mis un lien direct sur ton site, bien vu l'astronome...


http://www.profvince.com/ (http://www.profvince.com/)

a bon entendeur
Titre: Message
Posté par: bob413242 le 05 juin 2004 à 22:04:04
ah heu ...  :blink:

bon :|

les bras m'en tombent là ^^
Titre: Message
Posté par: artb54 le 05 juin 2004 à 22:06:23
Merci ice,  cela fonctionne mais pas mieux qu'avant puisque j'ai toujours comme adresse de from root@cluster2.phpnet.org

Pas évident de comprendre la raison

Merci
Titre: Message
Posté par: alex le 05 juin 2004 à 22:04:52
http://www.google.fr/search?q=comment%20fonctionne%20google (http://www.google.fr/search?q=comment%20fonctionne%20google)
Titre: Message
Posté par: ElDino le 05 juin 2004 à 22:06:06
artb54, fait des recherches sur ce forum, il y a déja eu pas mal de posts a propos de ce problème ...

Google n'est pas ton ami, et la fonction 'rechercher' non plus ...

@++
Titre: Message
Posté par: Ice le 05 juin 2004 à 22:10:15
Citer
Merci ice,  cela fonctionne mais pas mieux qu'avant puisque j'ai toujours comme adresse de from root@cluster2.phpnet.org

Pas évident de comprendre la raison

Merci
Ca veut dire que le formulaire correspondant à DE: est vide. et normalement devrait contenir une adresse mail.

Comment envoies tu le mail par ton site ?
 
Titre: Message
Posté par: artb54 le 05 juin 2004 à 22:12:27
comme inscrit plus haut j'ai tenter aussi la recherche vous croyez vraiment que j'essaie en premier la solution longue de poser la question en supportant certaines réponses inutiles?
Titre: Message
Posté par: artb54 le 05 juin 2004 à 22:17:59
le mail est envoyé via lformulaire type :

<html>
<head>
</head><body bgproperties="fixed" bgcolor="#0767BE">
&nbsp;<p><b><font color="#0000FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>
Abscence</b></p>
<p><font color="#0000FF"><b>&nbsp; </b></font></p>
<p></p>
<form action="mailer.php" enctype="multipart/form-data" method="POST">
<table border="0">
<tr>
<td><b>Votre nom et prénom :</b></td>
<td><input type="text" name="Nom" maxlength="35" size="37" value=""></td>
</tr>
<tr>
<td><b>Votre e-mail :</b></td>
<td><input type="text" name="mail" maxlength="35" size="37" value=""></td>
</tr>
<tr>
<td><b>commentaires :</b></td>
<td><textarea rows="6" name="commentaires" cols="20"></textarea></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Envoyer">&nbsp;<input type="reset" value="Effacer"></td>
</tr>
</table>
<input type="hidden" name="TO" value="xxx@xxx.be,xxxxx@skynet.be,xxxxx@skynet.be">
<input type="hidden" name="SUBJECT" value="absence">
<input type="hidden" name="GOTOURL" value="http://xxxxxx.be">
</form>
</body>
</html>

voila

Merci
Titre: Message
Posté par: ElDino le 05 juin 2004 à 22:24:52
Petit tutorial pour utiliser la fonction 'rechercher'.

Cliquer sur 'recherche'
Attendre
Lire la page, rentrer un (ou plusieurs) mot clé (ici : mail expediteur)
Sélectionner le menu déroulant 'rechercher les messages' et prendre 'de toutes les dates'
Cliquer sur 'Lancer la recherche'
Attendre
Consulter les résultats

Tu tombes sur 'http://www.phpnet.org/forum/index.php?showtopic=917&hl=mail+expediteur'

@++
Titre: Message
Posté par: artb54 le 05 juin 2004 à 22:31:40
Merci Eldino, le problème c'est que j'ai l'impression que dans le code peut de chose correspondent a ce que j'ai comme code donc difficile pour moi qui n'y connait rien de savoir quoi faire en lisant ce post.

Mais merci quand même

 
Titre: Message
Posté par: Ice le 05 juin 2004 à 22:36:07
Citer
le mail est envoyé via lformulaire type :

<html>
<head>
</head><body bgproperties="fixed" bgcolor="#0767BE">
&nbsp;<p><b><font color="#0000FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>
Abscence</b></p>
<p><font color="#0000FF"><b>&nbsp; </b></font></p>
<p></p>
<form action="mailer.php" enctype="multipart/form-data" method="POST">
<table border="0">
<tr>
<td><b>Votre nom et prénom :</b></td>
<td><input type="text" name="Nom" maxlength="35" size="37" value=""></td>
</tr>
<tr>
<td><b>Votre e-mail :</b></td>
<td><input type="text" name="mail" maxlength="35" size="37" value=""></td>
</tr>
<tr>
<td><b>commentaires :</b></td>
<td><textarea rows="6" name="commentaires" cols="20"></textarea></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Envoyer">&nbsp;<input type="reset" value="Effacer"></td>
</tr>
</table>
<input type="hidden" name="TO" value="xxx@xxx.be,xxxxx@skynet.be,xxxxx@skynet.be">
<input type="hidden" name="SUBJECT" value="absence">
<input type="hidden" name="GOTOURL" value="http://xxxxxx.be">
</form>
</body>
</html>

voila

Merci
Vu ton code , je ferai un fichier maileur.php avec :
<?php
$strTo = $TO;
$strSubject = $SUBJECT;
$strMsg = strip_slashes($commentaires);
$strFrom = $Nom."<".$mail.">";
$headers = "From: ".$Nom."<".$mail.">\n";
mail($strTo,$strSubject,$strMsg,$headers);
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html
<head>
<title>Envoi de message</title>
<meta name="Description" content="Courriel envoyé" />
<meta name="Keywords" content="message, mail, Yan Morin, YanSanMo" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><?php
if ($strRedirect!='') {
echo '<meta http-equiv="refresh" content="0;url='.$strRedirect.'"/>'."\n";
} ?>
</head>

<body>

<h1>Envoi du message</h1>

<div class="entete">
<p class="de">DE: <?php echo htmlentities($strFrom); ?></p>
<p class="a">À: <?php echo htmlentities($strTo); ?></p>
<p class="sujet">SUJET: <?php echo htmlentities($strSubject); ?></p>
<pre class="body"><?php echo htmlentities($strMsg); ?></pre>
</div>

</body>
<?php die('</html>'); ?>
Titre: Message
Posté par: artb54 le 05 juin 2004 à 23:14:35
Merci mais dans ce cas j'ai l'erreur suivante   Fatal error: Call to undefined function: strip_slashes() in /home/users/a/artb54/www/mailer.php on line 4

A+
Titre: Message
Posté par: maverick78 le 05 juin 2004 à 23:16:59
la doc officielle php peux te renseigner
Titre: Message
Posté par: artb54 le 05 juin 2004 à 23:20:11
merci de ta réponse qui fait bien avancer le problème
Titre: Message
Posté par: ElDino le 05 juin 2004 à 23:24:38
Le problème est peut être que tu ne t'es jamais penché dessus ...


@++
Titre: Message
Posté par: maverick78 le 05 juin 2004 à 23:24:19
ya pas de problemes ^_^ si tu avais cherché "strip slashes" dans le manuel php tu aurait vu la cause de l'erreur mais apparement ca n'est pas dans tes capacités
Titre: Message
Posté par: Sasayaki no karasu le 05 juin 2004 à 23:24:39
si problème il y a il n'est pas dans la réponse de maverick...
prenons un site de doc php au hasard : www.nexen.net
recherche > strip_slashes
propositions de réponses : "1 lettre de trop : stripslashes"
et la oh miracle, 2 secondes de reflexion, et paf ta réponse tout seul comme un grand, et en plus tu apprends a faire une recherche !

Allez un peu de courage tu peux le faire toi meme je suis sur...
Titre: Message
Posté par: artb54 le 05 juin 2004 à 23:31:15
Bon les gars je ne veux pas de réponses comme a un gamin je n'y connais rien mais je suis pas débile, si vous ne savez pas me donner la réponse clairement alors ne notez rien merci

Vous vous sentez obliger de voir si on a suffisament fait des efforts, suffisament chercher...Pourquoi pour donner des leçons? je demande de l'aide avec un question clair, je ne demande pas une leçon de morale...

Je ne veux plus de réponse ni bonne ni mauvaise..maintenant je m'en fout de ce formulaire de m***e qui m'a bousillé la fin d'après midi et soirée.

Salutations
Titre: Message
Posté par: alex le 05 juin 2004 à 23:33:41
Topic powered by too much cafeine.

(Et oui, gringo sait aussi faire un bon café !)

Edit: Ma signature s'applique parfaitement ici  :D  
Titre: Message
Posté par: Sasayaki no karasu le 05 juin 2004 à 23:32:12
Donne un poisson à un homme, il mangera un jour.
Apprend lui à pecher, il viendra t'emprunter tes hameçons. Ah c'est pas ça ? pardon :)

(PS : au fait si tu veux les réponses sans jamais chercher, je te conseille d'aller faire un tour sur : http://www.phpdebutant.org (http://www.phpdebutant.org) :) zont un très bon forum)
Titre: Message
Posté par: alex le 05 juin 2004 à 23:36:50
Citer
(PS : au fait si tu veux les réponses sans jamais chercher, je te conseille d'aller faire un tour sur : http://www.phpdebutant.org (http://www.phpdebutant.org) :) zont un très bon forum)
C'est pas un peu trop technique pour ce cas ?  :huh:  
Titre: Message
Posté par: artb54 le 05 juin 2004 à 23:37:42
réponse  inutile tu t'écoutes parler  
Titre: Message
Posté par: alex le 05 juin 2004 à 23:38:35
Constatation inutile, tu te lis écrire.
Titre: Message
Posté par: Sasayaki no karasu le 05 juin 2004 à 23:39:29
Citer
réponse inutile tu t'écoutes parler
Ouaip mais le plus drole c'est tout de meme de te lire répondre :)

Dire que la solution est dans mon premier post... mais non faudrait peut etre qu'on te remercie d'avoir posé la question ?

Edit : si tu veux qu'on ne te réponde pas comme à un gosse, évite de te comporter en tant que tel.
Titre: Message
Posté par: artb54 le 05 juin 2004 à 23:40:55
Super bonne ambiance ici j'ai eu le malheur de poser une question désolé on peut supprimer le forum d'entraide technique puisqu'il n'y a pas d'entraide.

Pas besoin de répondre
Titre: Message
Posté par: ElDino le 05 juin 2004 à 23:42:10
Y'a entraide, il suffit de voir les autres posts, mais il faut un minimum de bonne volonté ...

(Et de recherches préalable)

@++
Titre: Message
Posté par: alex le 05 juin 2004 à 23:44:31
Si si, il y en a... lorsque les gens font un effort pour être agréâbles, quand ils ne croient pas que tout leur est dû...

De plus, avec toutes les réponses postées, ton problème est résolu. A toi de faire l'effort d'assembler les éléments postés pour te débrouiller... On n'est pas non plus à ta disposition pour réaliser ton site Web...
Titre: Message
Posté par: Ice le 05 juin 2004 à 23:42:46
<?php
$strTo = $TO;
$strSubject = $SUBJECT;
$strMsg = stripslashes($commentaires);
$strFrom = $Nom."<".$mail.">";
$headers = "From: ".$Nom."<".$mail.">\n";
mail($strTo,$strSubject,$strMsg,$headers);
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html
<head>
<title>Envoi de message</title>
<meta name="Description" content="Courriel envoyé" />
<meta name="Keywords" content="message, mail, Yan Morin, YanSanMo" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><?php
if ($strRedirect!='') {
echo '<meta http-equiv="refresh" content="0;url='.$strRedirect.'"/>'."\n";
} ?>
</head>

<body>

<h1>Envoi du message</h1>

<div class="entete">
<p class="de">DE: <?php echo htmlentities($strFrom); ?></p>
<p class="a">À: <?php echo htmlentities($strTo); ?></p>
<p class="sujet">SUJET: <?php echo htmlentities($strSubject); ?></p>
<pre class="body"><?php echo htmlentities($strMsg); ?></pre>
</div>

</body>
<?php die('</html>'); ?>
Ca peut servir à d'autres , au cas où :D
Titre: Message
Posté par: Sasayaki no karasu le 05 juin 2004 à 23:42:54
hmm t'es meme pas dans le forum d'entraide :)

Et va réviser ta définition d'entraide, entraide != "faites moi mon code MAINTENANT" :)

Pas la peine de lire ma réponse (tu vois moi aussi je peux faire le sale gosse =))

Edit : Ice t'es trop gentil, sauf avec moi tu m'obliges à éditer mon post mais euh :D
Titre: Message
Posté par: Droopy le 05 juin 2004 à 23:45:19
mouarf.... C'est fini de troller les mecs :D

Grosso modo, le message qu'on veut te faire passer artb54, c'est que le premier pas en programmation php, c'est de se référencer à la doc php avant toute chose...

Exemple concret...
Ton message d'erreur c'est :
Citer
Fatal error: Call to undefined function: strip_slashes() in /home/users/a/artb54/www/mailer.php on line 4
Prend ta ligne 4 qui est
Citer
$strMsg = strip_slashes($commentaires);
Si tu lis la doc php, tu voit que le message indique que tu fait appel à une fonction incorrecte. Donc, strip_slashes est une fonction incorrecte...
un petit tour sur http://www.php.net/manual/fr/ (http://www.php.net/manual/fr/) et on peut lire, en effectuant une petite recherche rapide en haut à droite que "strip_slashes" n'existe pas...
Par contre, la fonction "stripslashes", elle existe...
Petit détail de la fonction ici ==> http://ca3.php.net/manual/fr/function.stripslashes.php (http://ca3.php.net/manual/fr/function.stripslashes.php)

Comme l'ont dit Sasayaki et Maverick78, la réponse elle est facile, et sous ton nez en plus...
Mais si tu fait pas l'effort de regarder la documentation php avant de venir poster ici, t'étonnes pas de recevoir des réponses abruptes.
Même si t'y connais rien, la procédure, c'est :
1 - lire le message d'erreur et regarder dans la doc à quoi il fait référence
2 - vérifier la syntaxe de la fonction foireuse dans la doc
3 - poster si vraiment la syntaxe est bonne et que tu comprend pas l'erreur...

Or, là, tu n'a ni vérifier le message d'erreur (pourtant clair), ni regarder la syntaxe de la fonction dans la doc (solution immédiate)
Alors avant de faire la martyr "bouh, ils sont pas gentils avec moi, ils m'aident pas", fait deja la base du travail de programmation et utilies la doc.

La réponse, elle a été donnée une dizaine de posts plus haut...

@+
Droopy
Titre: Message
Posté par: artb54 le 05 juin 2004 à 23:47:17
C'est bien ce que je dis vous imposer un effort en imaginant que il n'y en a pas, vous ne pouvez pas comprendre que cela peut-être du chinois pour certains comme moi.

Encore un fois je rajoutes que si j'avais pu m'économiser ce débat inutile grace à mes connaissances et recherche cela aurait été avec plaisir.

Je vais essayé de comprendre encore.

Bonne nuit.

Vous êtes super en tout cas, je vous envie.....
Titre: Message
Posté par: ElDino le 05 juin 2004 à 23:49:59
De rien, ce fut avec plaisir :P

@++
Titre: Message
Posté par: artb54 le 05 juin 2004 à 23:51:07
Pour info mon formulaire fonctionnait bien je voulais juste savoir comment faire pour changer l'expéditeur et effectivemnt je ne sais pas du tout comment faire si je connaissais la réponse je crois que je n'aurais pas posé la question mais bon..

Vous êtes extraordinaire

 
Titre: Message
Posté par: ElDino le 05 juin 2004 à 23:51:25
Merci, merci ... mais relis les posts, la réponse s'y cache surement ;)

@++
Titre: Message
Posté par: Sasayaki no karasu le 05 juin 2004 à 23:53:58
Mais tu as eu ta réponse :)
Seulement voila, ce qu'on te reproche c'est que certaines erreurs évidentes sont résolues en 2 secondes en faisant une recherche (google ou site spécialisé en php) et que si tu avais cherché (regarde bien je t'ai montré comment faire, juste avant de te donner la réponse à ton histoire de fonction non-existante [ sisi si tu avais lu tu aurais vu la réponse ET la façon d'avancer par toi même, waouh super innaccessible aux débutants ça) ]
Titre: Message
Posté par: artb54 le 05 juin 2004 à 23:59:18
Pour info j'ai effectivement compris qu'il fallait enlever le _ mais maintenant j'ai un autre message d'erreur mais je n'ose plus en parler

Pour celui qui dit qu'on ne va pas faire mon site web à ma place, je lui réponds: Crois-tu que le site web se compose juste d'un formulaire? pas de charte graphique pas de rédactionnel....tu es super aussi

Effet de groupe on s'accahrne sur une personne pour se sentir plus fort.
Titre: Message
Posté par: Sasayaki no karasu le 06 juin 2004 à 00:04:01
effet de groupe, effet de groupe... parce qu'il croit que je suis sociable moi ? :D y en a des rigolos quand même des fois :D

Sinon j'ai pas parlé de site mais de code, ce qui peut être une partie du site.
Cela dit, si on apprend pas un jour qu'on ne peut pas tout avoir par les autres en leur ordonnant de faire tout, on finit par tout faire faire par les autres :)
Tu verras, un jour tu comprendras qu'on t'a appris un truc beaucoup plus important qu'une fonction php ;)
 
Titre: Message
Posté par: artb54 le 06 juin 2004 à 00:15:24
Y a-t-il un cherchomètre? pour prouver qu'on a assez cherché avant de poser une question?

Je suis calé dans certains domaines mais je suis nul en web mais j'essaies c'est certain que j'ai appris certaines choses mais grâce à ice et non a toi. Grace à toi j'ai appris a perdre mon temps.

Allez encore une réponse puis une autre....c'est sans fin cela juste pour une question simple à la base.

Bonne continuation
Titre: Message
Posté par: Sasayaki no karasu le 06 juin 2004 à 00:18:41
Ecoute mon trollichounet, je t'ai appris que faire une recherche sur nexen c'est plus rapide que de poster sur un forum et que t'as même pas besoin d'etre poli (google si tu lui dis "ducon" comme tu as dit à prof vince, il s'en tape royalement (même si je suis sur que prof vince en a pas forcément grand chose de plus à foutre mais bon :)))
Maintenant si tu appelles ça perdre ton temps, grand bien t'en fasse. Bonne chance dans la programmation :)
Titre: Message
Posté par: Droopy le 06 juin 2004 à 00:20:21
Citer
Y a-t-il un cherchomètre? pour prouver qu'on a assez cherché avant de poser une question?
Vu que tu a sauté les étapes 1 et 2 du guide du petit programmeur, ca signifie que soit tu a pas assez cherché (malgré tes efforts louables), soit que tu a mal cherché..

Dans la masse de post, tu a les adresses de:
phpdebutant.org
php.net
nexen.net
ainsi que les manières d'effectuer des recherches dans la doc php sur le web...

Ca devrait suffire comme base. Tu a surement fait des efforts de recherche, mais mal ordonné et improductif. Bon, c'est sur que dans la forme, c'est pas çà, mais sur le fond, on viens de te donner plusieurs pistes pour améliorer ta méthode de recherche...

Et surtout, lire les messages d'erreur et la doc php  :P

@+
Droopy

PS: pour info, c'est quoi ton nouveau message d'erreur, histoire de voir ?
Titre: Message
Posté par: cheminots le 06 juin 2004 à 08:18:33
Allez, je m'y mets  :D

Tu remplaces

if ( isset($_POST['FROM']) ) {
$strFrom = stripslashes($_POST['FROM']);
} (5ème post; le tien :))

Par

$headers.="From:tonNom <tonEmail@tonDomaine>\n";(4éme post, première réponse de 2ae  :D )

Quand on te dit qu'on t'a déjà donné la réponse

Pour être vraiment complet, dans mon cas, cela donnerait
$headers.="From:Cheminots<webmaster@cheminots.be>\n";
Titre: Message
Posté par: cheminots le 06 juin 2004 à 08:31:10
Heu, si je peux me permettre

Pour modifier un portail, il faut quand même un minimum de connaissances en programation.

Ce n'est pas un reproche, juste une constatation. Tu as intéret à te plonger beaucoup plus dans la documentation si tu veux toucher au code de npds.

Nous sommes tous passés par là (et d'ailleurs, nous replongeons encore tous dans la doc régulièrement)



Si je puis encore me permettre, dans ton pied de page, tu as

syndication de vos News via www.votre_site/backend.php

Tu devrais peut-être mettre ton url, non ?
 
Titre: Message
Posté par: Ice le 06 juin 2004 à 09:25:14
Citer
Allez, je m'y mets  :D

Tu remplaces

if ( isset($_POST['FROM']) ) {
$strFrom = stripslashes($_POST['FROM']);
} (5ème post; le tien :))

Par

$headers.="From:tonNom <tonEmail@tonDomaine>\n";(4éme post, première réponse de 2ae  :D )

Quand on te dit qu'on t'a déjà donné la réponse

Pour être vraiment complet, dans mon cas, cela donnerait
$headers.="From:Cheminots<webmaster@cheminots.be>\n";
Non, c'est pas tout à fait çà, bien que le code soit correct :)
Si j'ai bien compris son code , c'est l'adresse mail de celui qui envoie le formulaire, et non le sien :) D'où le : $strFrom = $Nom." <".$mail.">";
Titre: Message
Posté par: cheminots le 06 juin 2004 à 09:35:13
:)

J'y avais pensé aussi, mais l'expéditeur est dans le reply

Et perso, j'utilise cette structure là aussi
mail($to, $subject, $msg, "From: $mailer\nReply-To: $sender_email\n-Mailer: PHP/" . phpversion()) or die("oops");
Titre: Message
Posté par: artb54 le 06 juin 2004 à 10:05:00
Merci de vos réponse et en fait je préfère voir que le mail vien du site plutôt que de voir qui l'envoie car cela est indiqué dans un champ,

c'est vrai que je ne sais pas non plus comment fonctionne le reply mais bon c'est une autre histoire.

Merci
Titre: Message
Posté par: artb54 le 06 juin 2004 à 10:14:40
En fait maintenant cela fonctionne, je vois le nom de celui qui poste le message et je peux lui répondre ce qui est pas mal.

Par contre lorsque le message est envoyer le navigateur ne retourne pas sur le site mais reste sur la page formulaire envoyé. Mais il suffit de faire précédent dans le navigateur.

Meric
Titre: Message
Posté par: Ice le 06 juin 2004 à 10:46:23
Citer
Par contre lorsque le message est envoyer le navigateur ne retourne pas sur le site mais reste sur la page formulaire envoyé. Mais il suffit de faire précédent dans le navigateur.
Suffit que tu rajouttes à la fin de ton fichier maileur.php la ligne :

<?php header("Location: http://artb54.phpnet.org"); ?>
Titre: Message
Posté par: artb54 le 06 juin 2004 à 10:52:51
Merci Ice,

cela fonctionne à la seule différence c'est que avant on restait un moment sur la page votre message envoyé etc... mais maintenant on va directement sur le site, donc pour les gens ils ne sont pas certains d'avoir envoyé le formulaire.

Merci de ton aide en tout cas
Titre: Message
Posté par: Ice le 06 juin 2004 à 10:57:50
J'ai jamais testé : mais tu peux essayer çà :
au lieu de :
<?php header("Location: http://artb54.phpnet.org"); ?>mettre :
<?php sleep(5); header("Location: http://artb54.phpnet.org"); ?>(5 pour une attente de 5 secondes)
Titre: Message
Posté par: artb54 le 06 juin 2004 à 11:01:42
Merci a nouveau,

je viens de tester mais c'est le formulaire qui met plus de temps mais toujours pas de message de confirmation d'envoi à l'écran.

Artb54
Titre: Message
Posté par: alex le 06 juin 2004 à 11:11:12
Bah faut peut-être en écrire un... Il va pas apparaître tout seul...

Sur ta page d'accueil (par exemple), tu fais un :
if ((isset($e)) && ($e == -1)) {
echo 'Message envoyé avec succès !'."\n";
}
(vu que tu ne sembles pas utiliser les variables super globales).

et sur ta page mailer, tu mets à la fin :
<?php header("Location: http://artb54.phpnet.org/?e=-1"); ?>
Titre: Message
Posté par: artb54 le 06 juin 2004 à 11:14:47
Merci de la réponse mais cela devient vraiment trop compliqué pour moi, je me contenterais de ce que j'ai maintenant mais avant toutes ces modifs mon formulaire fonctionnait bien, il y avait un message qui montrait ce qu'on avait envoyé et a qui et ensuite après 5 secondes on revenait sur l'accueil du site.

Maintenant le formulaire fonctionne bien la différence est que lorsque je reçoit un formulaire posté je vois l'adresse de qui la posté ce qui me permet de faire un reply (c'est cool) mais par contre il n'y a plus le message qui dit ce qu'on a envoyé et a qui.

Merci
Titre: Message
Posté par: alex le 06 juin 2004 à 11:15:28
Hum... Compare le fichier initial avec ton fichier actuel... Tu as dû modifier quelque chose d'autre...
Titre: Message
Posté par: artb54 le 06 juin 2004 à 11:36:55
Effectivement il y a pas mal de diférence entre le départ et celui proposé par Ice, mais comme je n'y comprend rien, je laisse tombé.

Je vais me satisfaire de cela.

Merci Ice et les autres de vos réponses
Titre: Message
Posté par: Fozzy le 07 juin 2004 à 08:32:56
:D  :D  :D  
Titre: Message
Posté par: artb54 le 07 juin 2004 à 22:31:40
:huh:  :huh:  :blink:  :angry:  :angry:  
Titre: Message
Posté par: csteph29 le 08 juin 2004 à 00:22:55
Y'a juste à espérer qu'un spammeur ne tombera pas sur ce formulaire ....

GET /mailer.php?TO=nobody@nowhere.com&SUBJECT=Test&mail=moi@ici.com&Nom=Un%20visiteur&commentaires=Ce%20formulaire%20de%20mail%20n'est%20pas%20du%20tout%20sécurisé%20!!! HTTP/1.1
host: artb54.phpnet.org


<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html
<head>
<title>Envoi de message</title>
<meta name="Description" content="Courriel envoyé" />
<meta name="Keywords" content="message, mail, Yan Morin, YanSanMo" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /></head>

<body>

<h1>Envoi du message</h1>

<div class="entete">
<p class="de">DE: Un visiteur&lt;moi@ici.com&gt;</p>
<p class="a">À: nobody@nowhere.com</p>
<p class="sujet">SUJET: Test</p>
<pre class="body">Ce formulaire de mail n'est pas du tout s&eacute;curis&eacute; !!!</pre>
</div>


</body>
</html>

Apparemment, le mail a été envoyé ...
Titre: Message
Posté par: artb54 le 08 juin 2004 à 08:54:15
Merci mais je ne comprends rien.
Titre: Message
Posté par: cheminots le 08 juin 2004 à 08:58:48
Cela veut simplement dire que quelqu'un peux utiliser ton formulaire pour envoyer massivement des mails sans que tu ne t'en appercoive
Titre: Message
Posté par: csteph29 le 08 juin 2004 à 09:34:07
Le script "mailer.php", que ce soit dans sa version actuelle ou initiale, permet à n'importe qui d'arroser la terre entière à partir de ton site en utilisant le serveur mail de phpnet !

C'est à cause de ce genre de script que la plupart des hébergeurs désactivent la fonction mail.

PHPNET compte sur la responsabilité de ses clients, ne les déçoit pas.

Arrange-toi pour qu'on ne puisse pas entrer n'importe quelle adresse mail depuis l'URL.

Pour faire simple ou en attendant d'avoir le temps de te pencher sur le problème, si les adresse sont toujours les mêmes, alimente-les en dur dans mailer.php :

<?php
$strTo = bertrand.lxxxxxx@chello.be,vincent.hxxxxxxx@skynet.be,faxxxxxx@skynet.be;
.....

Tu peux ensuite supprimer la ligne
<input type="hidden" name="TO" value="bertrand.lxxxxxx@chello.be,vincent.hxxxxxxx@skynet.be,faxxxxxx@skynet.be">dans tes formulaires
Ca t'évitera du même coup de laisser trainer vos adresses mail en clair sur le net.

Par la suite, si tu veux que ton script soit plus souple d'utilisation, tu peux remettre l'adresse par l'URL mais avec une liste d'adresses autorisées qui tu peux modifier facilement.

Quand tu auras un peu de temps, visite ce site :www.phpsecure.info (http://www.phpsecure.info/v2/.php?zone=pArticle)

et en particulier cet article : Injection d headers dans la fonction mail() de PHP (http://www.phpsecure.info/v2/article/MailHeadersInject.php)