01net    Web


Actuellement en ligne : 214 Utilisateurs dont 8 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > PHP
> résolu
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
mscorpion
  
  :-)
      ?   @     Posté le 25/04/2008 18:13:34  
Voter pour ce message
Bonjour,
J'ai créé un livre d'or avec la fonction mail pour recevoir un message dans ma boîte email lorsqu'un visiteur a posté. Mais je ne reçois aucun mail! Ais-je fais une erreur dans mon code? Voici mon code. Pourriez-vous m'aider s'il vous plait?
Merci de votre attention

MScorpion

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

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Livre d'or</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="css/livreor.css" />
<script language="Javascript">



</head>
<body>

<form method="post" action="livreor2.php" name="formulaire">



<h1>
<img src="gif" alt="Etoile tourne" />
<img src="gif" alt="Livre d'or" />
<img src="gif" alt="Etoile tourne" />
</h1>

<div id="corps">
<h2>
Votre Email :<input type="text" name="votremail" /><br />
<input type="hidden" name="objet" value="Vous avez un nouveau message" />
Pseudo : <input name="pseudo" /><br />
Message :<br />
<textarea name="message" rows="8" cols="35"></textarea><br />
<input type="hidden" name="objet" value="Vous avez un nouveau message dans votre livre d'or" />


<br />
<input type="submit" value="Envoyer" />
</h2>
</form>

<p class="pages">

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("xxx");


$votremail=$_POST["votremail"];
$from=htmlspecialchars("From: ".$votremail);
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message = nl2br($message);
$message = strip_tags($message);
$destinataire="xxx@xxx.be";
$objet=$_POST['objet'];


if(trim($votremail)=="")
{
echo "Vous n'avez pas entré d'adresse!";
}

elseif (trim($pseudo)=="")
{
echo "Vous n'avez pas entré de pseudo !";
}

elseif(trim($message)=="")
{
echo "Vous n'avez pas entré de message!";
}


{
mysql_query("INSERT INTO livreor2 VALUES('', '" . $votremail . "', '" . $pseudo . "', '" . $message . "')");
mail($destinataire,$objet,$pseudo,$message,$from);
echo "Merci de m'avoir laissé un message";
}

$nombreDeMessagesParPage = 10;
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor2');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livreor2.php?page=' . $i . '">' . $i . '</a> ';
}
?>

</p>
</div>
<h3>
<?php

if (isset($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 1;
}

$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

$reponse = mysql_query('SELECT * FROM livreor2 ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

while ($donnees = mysql_fetch_array($reponse))
{
echo '<p><font color="#f70b0b" size=6><strong>' . $donnees['pseudo'] . '</strong></font> a écrit :<br /><font color="#ffffff">' . $donnees['message'] . '</font></p>';
}


mysql_close();

?>
</h3>

</body>
</html>
-->Message édité par mscorpion le 02/05/2008 22:12:55<--
Le N@in Vert
  Je pompe donc je suis.
  :-)
      ?   ^   @     Posté le 25/04/2008 21:31:01  
Voter pour ce message
Bonjour
Tu a oublier le else avant :
{
mysql_query("INSERT INTO livreor2 VALUES('', '" . $votremail . "', '" . $pseudo . "', '" . $message . "')");
mail($destinataire,$objet,$pseudo,$message,$from);
echo "Merci de m'avoir laissé un message";
}
Sa vient peut être tout simplement de la...

Sinon es ce qu'il y a un message d'erreur lorsqu'on essaye d'envoyer un message ?? si oui lequel ?

Sinon es ce que si tu met sa dans un scripte sur le même serveur tu reçoit bien un mail :
mail(xxx@xxx.be,"test", "Message de test", "From: test@example.com");

EDIT : A je crois que j'ai compris : ton 3éme argument : $pseudo ?? Il sert a quoi ?? Si tu le retire je suppose que sa marche non ??
-->Message édité par Le N@in Vert le 25/04/2008 21:32:28<--
-------
Les aventure du donjon de naheulbeuk : www.penofchaos.com/donjon
Le site du zero : http://www.siteduzero.com
Mon site perso : www.lesitedesnains.ironie.org
mscorpion
  
  :-)
      ?   @     Posté le 25/04/2008 23:19:19  
Voter pour ce message
Le N@in Vert a écrit :
Bonjour
Tu a oublier le else avant :
{
mysql_query("INSERT INTO livreor2 VALUES('', '" . $votremail . "', '" . $pseudo . "', '" . $message . "')");
mail($destinataire,$objet,$pseudo,$message,$from);
echo "Merci de m'avoir laissé un message";
}
Sa vient peut être tout simplement de la...

Sinon es ce qu'il y a un message d'erreur lorsqu'on essaye d'envoyer un message ?? si oui lequel ?

Sinon es ce que si tu met sa dans un scripte sur le même serveur tu reçoit bien un mail :
mail(xxx@xxx.be,"test", "Message de test", "From: test@example.com");

EDIT : A je crois que j'ai compris : ton 3éme argument : $pseudo ?? Il sert a quoi ?? Si tu le retire je suppose que sa marche non ??



Bonjour,
J'avais enlevé le "else" car, lorsque je le mets, je n'ai même plus accès au livre d'or et il me met cette erreur :

" Parse error: syntax error, unexpected T_ELSE in D:\www\mscorpion.be\htdocs\livreor2.php on line 193 "

" 193 " est la ligne où jécris le else dans le document original qui comporte l'ajout de smileys que je n'ai pas mis ici pour plus de facilité à la lecture.

Quant au " $pseudo " il me donne le pseudo que le visiteur a entré et quand je l'enlève, ça ne change rien!

J'ai aussi mis la ligne : " mail(xxx@xxx.be,"test", "Message de test", "From: test@example.com"); "
dans une page que j'ai appelé "new2" et je l'ai mise sur mon serveur avec la bonne adresse et toujours rien!

Je ne comprends plus, je suis un peu perdue!
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 26/04/2008 00:03:56  
Voter pour ce message
Bonjour,

En ajoutant le else où Le N@in Vert te l'a indiqué, cela ne devrait pas générer d'erreur, il semble donc que le code que tu as posté ne soit pas celui avec lequel tu fais tes tests.

Au passage, sur le forum tu peux utiliser la syntaxe
[ code][/code] pour afficher des listings plus lisiblement.
Le N@in Vert
  Je pompe donc je suis.
  :-)
      ?   ^   @     Posté le 26/04/2008 00:12:45  
Voter pour ce message
mscorpion a écrit :

J'ai aussi mis la ligne : " mail(xxx@xxx.be,"test", "Message de test", "From: test@example.com"); "
dans une page que j'ai appelé "new2" et je l'ai mise sur mon serveur avec la bonne adresse et toujours rien!


Tu a bien sur remplacer les xxx par ton adresse mail ?
Si oui et que toujours rien veut bien dire que tu n'as pas reçut de mail sur ton adresse c'est que soit tu tes gourer dans l'adresse soit la fonction mail du serveur bug ou est désactivé...
-------
Les aventure du donjon de naheulbeuk : www.penofchaos.com/donjon
Le site du zero : http://www.siteduzero.com
Mon site perso : www.lesitedesnains.ironie.org
mscorpion
  
  :-)
      ?   @     Posté le 26/04/2008 10:53:52  
Voter pour ce message
Martius a écrit :
Bonjour,

En ajoutant le else où Le N@in Vert te l'a indiqué, cela ne devrait pas générer d'erreur, il semble donc que le code que tu as posté ne soit pas celui avec lequel tu fais tes tests.

Au passage, sur le forum tu peux utiliser la syntaxe
[ code][/code] pour afficher des listings plus lisiblement.


Bonjour,

Voici toute ma page où j'ai juste enlevé les infos pour la connection à Mysql.
Merci pour toute votre attention et votre aide.

MScorpion

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

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Livre d'or</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="css/livreor.css" />
<script language="Javascript">

<!--js pour livre d'or-->
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.message;
input.focus();
/* pour IE (toujous un cas appar lui ;) )*/
if(typeof document.selection != 'undefined')
{
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
range = document.selection.createRange();
if (insText.length == 0)
{
range.move('character', -bbfin.length);
}
else
{
range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
}
range.select();
}
/* pour les navigateurs plus récents que IE comme Firefox... */
else if(typeof input.selectionStart != 'undefined')
{
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + bbdebut.length;
}
else
{
pos = start + bbdebut.length + insText.length + bbfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* pour les autres navigateurs comme Netscape... */
else
{
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos))
{
pos = prompt("insertion (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length)
{
pos = input.value.length;
}
var insText = prompt("Veuillez taper le texte");
input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
}
}
function smilies(img)
{
window.document.formulaire.message.value += '' + img + '';
}
</script>
<!--fin js pour livre d'or-->

</head>
<body>

<form method="post" action="livreor2.php" name="formulaire">



<h1>
<img src="http://images.imagehotel.net/.gif" alt="Etoile tourne" />
<img src="http://upimago.com/out.php/.gif" alt="Livre d'or" />
<img src="http://images.imagehotel.net/.gif" alt="Etoile tourne" />
</h1>

<div id="corps">
<h2>
Votre Email :<input type="text" name="votremail" /><br />
<input type="hidden" name="objet" value="Vous avez un nouveau message" />
Pseudo : <input name="pseudo" /><br />
Message :<br />
<textarea name="message" rows="8" cols="35"></textarea><br />
<input type="hidden" name="objet" value="Vous avez un nouveau message dans votre livre d'or" />

<!--première partie smileys-->
<input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('', '');return(false)" />
<input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('', '');return(false)" />
<input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('', '');return(false)" />
<br />
<img src="smileys" title="gros_sourire" alt="gros_sourire" onClick="javascript:smilies(':lol:');return(false)" />
<img src="smileys" title="triste" alt="triste" onClick="javascript:smilies(':triste:');return(false)" />
<img src="smileys" title="tire_la_langue" alt="tire_la_langue" onClick="javascript:smilies(':langue:');return(false)" />
<img src="smileys" title="visage_rouge" alt="visage_rouge" onClick="javascript:smilies(':rouge:');return(false)" />
<img src="smileys" title="fantome" alt="fantome" onClick="javascript:smilies(':fantome:');return(false)" />
<img src="smileys" title="pleure" alt="pleure" onClick="javascript:smilies(':pleure:');return(false)" />
<img src="smileys" title="cool" alt="cool" onClick="javascript:smilies(':cool:');return(false)" />
<img src="smileys" title="etonne" alt="etonne" onClick="javascript:smilies(':etonne:');return(false)" />
<img src="smileys" title="sourire" alt="sourire" onClick="javascript:smilies(':sourire:');return(false)" />
<img src="smileys" title="mauvais" alt="mauvais" onClick="javascript:smilies(':mauvais:');return(false)" />
<img src="smileys" title="content" alt="content" onClick="javascript:smilies(':content:');return(false)" />
<img src="smileys" title="clin_d_oeil" alt="clin_d_oeil" onClick="javascript:smilies(':cligne:');return(false)" />
<img src="smileys" title="grands_yeux" alt="grands_yeux" onClick="javascript:smilies(':yeux:');return(false)" />
<img src="smileys" title="comprend_pas" alt="comprend_pas" onClick="javascript:smilies(':hein:');return(false)" />
<img src="smileys" title="diabolique" alt="diabolique" onClick="javascript:smilies(':diable:');return(false)" />
<img src="smileys" title="respect1" alt="respect1" onClick="javascript:smilies(':respect:');return(false)" />
<img src="smileys" title="applaudissement" alt="applaudissement" onClick="javascript:smilies(':respect:');return(false)" />
<!--fin première partie smileys-->
<br />
<input type="submit" value="Envoyer" />
</h2>
</form>

<p class="pages">

<?php
mysql_connect("", "", "");
mysql_select_db("");


$votremail=$_POST["votremail"];
$from=htmlspecialchars("From: ".$votremail);
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message = nl2br($message);
$message = strip_tags($message);
$destinataire="xxx@xxx.com";
$objet=$_POST['objet'];


if(trim($votremail)=="")
{
echo "Vous n'avez pas entré d'adresse!";
}

elseif (trim($pseudo)=="")
{
echo "Vous n'avez pas entré de pseudo !";
}

elseif(trim($message)=="")
{
echo "Vous n'avez pas entré de message!";
}



//Mise en forme du texte +smileys
//gras
$message = preg_replace('`\[g\](.+)\[/g\]`isU', '<strong>$1</strong>', $message);
//italic
$message = preg_replace('`\[i\](.+)\[/i\]`isU', '<em>$1</em>', $message);
//souligné
$message = preg_replace('`\[s\](.+)\[/s\]`isU', '<u>$1</u>', $message);
//lien

//Les Smileys

$message = str_replace(':lol:', '<img src="smileys" title="gros_sourire" alt="gros_sourire">', $message);
$message = str_replace(':triste:', '<img src="smileys" title="triste" alt="triste">', $message);
$message = str_replace(':langue:', '<img src="smileys" title="tire_la_langue" alt="tire_la_langue">', $message);
$message = str_replace(':rouge:', '<img src="smileys" title="visage_rouge" alt="visage_rouge">', $message);
$message = str_replace(':fantome:', '<img src="smileys" title="fantome" alt="fantome">', $message);
$message = str_replace(':pleure:', '<img src="smileys" title="pleure" alt="pleure">', $message);
$message = str_replace(':cool:', '<img src="smileys" title="cool" alt="cool">', $message);
$message = str_replace(':etonne:', '<img src="smileys" title="etonne" alt="etonne">', $message);
$message = str_replace(':sourire:', '<img src="smileys" title="sourire" alt="sourire">', $message);
$message = str_replace(':mauvais:', '<img src="smileys" title="mauvais" alt="mauvais">', $message);
$message = str_replace(':content:', '<img src="smileys" title="content" alt="content">', $message);
$message = str_replace(':cligne:', '<img src="smileys/clin_d_oeil.gif" title="clin_d_oeil" alt="clin_d_oeil">', $message);
$message = str_replace(':yeux:', '<img src="smileys" title="grands_yeux" alt="grands_yeux">', $message);
$message = str_replace(':hein:', '<img src="smileys" title="comprend_pas" alt="comprend_pas">', $message);
$message = str_replace(':diable:', '<img src="smileys" title="diabolique" alt="diabolique">', $message);
$message = str_replace(':respect:', '<img src="smileys" title="respect1" alt="respect1">', $message);
$message = str_replace(':applaudissement:', '<img src="smileys" title="applaudissement" alt="respect1">', $message);
//fin de mise en forme du texte +smileys


else
{
// On enregistre
mysql_query("INSERT INTO livreor2 VALUES('', '" . $votremail . "', '" . $pseudo . "', '" . $message . "')");
// on envoie l'e-mail
mail($destinataire,$objet,$message,$from);
echo "Merci de m'avoir laissé un message";
}


$nombreDeMessagesParPage = 10;
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor2');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);

echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livreor2.php?page=' . $i . '">' . $i . '</a> ';
}
?>

</p>
</div>
<h3>
<?php

if (isset($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 1;
}


$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

$reponse = mysql_query('SELECT * FROM livreor2 ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

while ($donnees = mysql_fetch_array($reponse))
{
echo '<p><font color="#f70b0b" size=6><strong>' . $donnees['pseudo'] . '</strong></font> a écrit :<br /><font color="#ffffff">' . $donnees['message'] . '</font></p>';
}


mysql_close();

?>
</h3>
<br/><br/>

<h3><?php include('connectes2.php'); ?></h3>

<br/><br/>

<h3><a href="menu.php"><img src="http://images.imagehotel.net/pxixx6sz0m.gif" alt="Retour"/></a></h3>
</body>
</html>


-->Message édité par mscorpion le 27/04/2008 14:31:41<--
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 26/04/2008 11:14:19  
Voter pour ce message
En effet, l'erreur vient du morceau de code que tu avais retiré avant.

Je te conseilles d'éditer ton post et de masquer aussi ton adresse email, pour éviter les robots de spam.

Le problème est le suivant :

quand tu utilises la structure if/elseif/else, les trois instructions doivent se suivre :

if(..) {
...
} elseif {
...
} else {
...
}

(les espaces en plus ou en moins n'ont pas d'importance.)

Cependant, ici, tu as un certain nombre d'instructions entre ton bloc "if" et ton "else" :
//Les Smileys

$message = str_replace(':lol:', '<img src="smileys/gros_sourire.gif" title="gros_sourire" alt="gros_sourire">', $message);
[...]
//fin de mise en forme du texte +smileys


En fait, il faut le mettre ici :

else
{
// ICI !
// On enregistre
mysql_query("INSERT INTO livreor2 VALUES('', '" . $votremail . "', '" . $pseudo . "', '" . $message . "')");
// on envoie l'e-mail
mail($destinataire,$objet,$message,$from);
echo "Merci de m'avoir laissé un message";
}


-->Message édité par Martius le 26/04/2008 11:16:02<--
mscorpion
  
  :-)
      ?   @     Posté le 26/04/2008 17:48:18  
Voter pour ce message
Martius a écrit :
En effet, l'erreur vient du morceau de code que tu avais retiré avant.

Je te conseilles d'éditer ton post et de masquer aussi ton adresse email, pour éviter les robots de spam.

Le problème est le suivant :

quand tu utilises la structure if/elseif/else, les trois instructions doivent se suivre :







Bonjour,
Voilà, j'ai remis tout dans le bon ordre et cela fonctionne très bien, sauf que je ne reçois toujours pas de mail!!
J'ai vérifié si mon adresse était bien la bonne et c'est le cas.
Mais si c'était comme on me l'a dit que la fonction mail serait désactivée sur le serveur, comment dois-je m'y prendre pour le savoir?
J'ai un peu de mal car je n'en suis qu'à mes débuts!
Pourriez-vous me l'expliquer, que je puisse vérifier cela aussi?
Merci beaucoup.
MScorpion
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 26/04/2008 22:57:40  
Voter pour ce message
Si la fonction mail était désactivée, ça devrait afficher un message d'erreur,
dans le doute, tape :
error_reporting(E_ALL); juste après "<?" pour tester
mscorpion
  
  :-)
      ?   @     Posté le 27/04/2008 14:26:23  
Voter pour ce message
Martius a écrit :
Si la fonction mail était désactivée, ça devrait afficher un message d'erreur,
dans le doute, tape :
error_reporting(E_ALL); juste après "<?" pour tester


Bonjour,
J'ai fait le test et il ne met pas d'erreur.
Mais toujours pas de mail!
Pourriez-vous m'aider et peut-être tester mon code chez vous?
Je ne sais plus,puisque ça semble correct!
MScorpion
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 27/04/2008 20:48:47  
Voter pour ce message
essaye
if(!mail($destinataire,$objet,$message,$from)) {
echo 'une erreur est apparue lors de l'envoi du message';
}


Juste comme ça.
mscorpion
  
  :-)
      ?   @     Posté le 28/04/2008 09:14:12  
Voter pour ce message
Martius a écrit :
essaye



Juste comme ça.


Bonjour,
Et je dois le mettre dans ma page après ceci :
mail($destinataire,$objet,$message,$from);
echo "Merci de m'avoir laissé un message";
}

Merci
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 28/04/2008 20:57:58  
Voter pour ce message
tu remplaces la ligne mail(...) par ce que je t'ai donné

J'arrive pas trop à comprendre, et en fait je n'ai pas trop le temps de tester.
mscorpion
  
  :-)
      ?   @     Posté le 29/04/2008 16:00:24  
Voter pour ce message
Martius a écrit :
tu remplaces la ligne mail(...) par ce que je t'ai donné

J'arrive pas trop à comprendre, et en fait je n'ai pas trop le temps de tester.


Bonjour,
C'est déjà très gentil de m'aider à trouver ce qui ne va pas!
J'ai testé et toujours pas d'erreur ni de mail! :(
C'est à ne rien y comprendre! :??:
Enfin, si vous aviez une autre idée, n'hésitez surtout pas à me le faire savoir.
Merci pour toute votre aide.
MScorpion
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 29/04/2008 16:20:05  
Voter pour ce message
Au passage, tu testes en local ou sur un hébergeur spécial (dans ce cas lequel) ?
mscorpion
  
  :-)
      ?   @     Posté le 29/04/2008 17:55:53  
Voter pour ce message
Martius a écrit :
Au passage, tu testes en local ou sur un hébergeur spécial (dans ce cas lequel) ?

Je teste sur mon hébergeur qui est "HEBERGEUR-DISCOUNT" à cette adresse : http://www.hebergeur-discount.com/hebergement.php
Sur mon site j'ai un livre d'or mais sans certaines fonctions que j'appelle " livreor" et je teste le "livreor2" que j'ajoute et pour lequel j'ai aussi créé une table comme pour le premier.
Et quand je dis que tout fonctionne, je vais aussi vérifier si tout s'inscrit bien dans la table.Ce qui est le cas.
Merci de ton aide.
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 29/04/2008 18:45:41  
Voter pour ce message
Le problème ne vient définitivement pas de la fonction mail : j'ai testé et ça fonctionne très bien sur mon serveur.

Vérifie simplement l'envoi d'un mail dans une nouvelle page pour voir si ça fonctionne.
mscorpion
  
  :-)
      ?   @     Posté le 29/04/2008 21:04:13  
Voter pour ce message
Martius a écrit :
Le problème ne vient définitivement pas de la fonction mail : j'ai testé et ça fonctionne très bien sur mon serveur.

Vérifie simplement l'envoi d'un mail dans une nouvelle page pour voir si ça fonctionne.


Dans mon menu j'ai ceci :
<li><a href="mailto:mon adresse email">Me contacter</a></li>

Et si je m'envoie un mail depuis mon site, je le reçois sans problème.
Beno@
  
  :-)
      ?   @     Posté le 29/04/2008 21:13:04  
Voter pour ce message
mscorpion a écrit :


Et si je m'envoie un mail depuis mon site, je le reçois sans problème.

c'est différent, ce code envoie le mail par le logiciel configuré sur la machine du client.
la fonction mail envoie par le serveur.

verifiez que le mail ne soit pas desactivé sur votre serveur.
mscorpion
  
  :-)
      ?   @     Posté le 29/04/2008 21:30:02  
Voter pour ce message
Beno@ a écrit :


c'est différent, ce code envoie le mail par le logiciel configuré sur la machine du client.
la fonction mail envoie par le serveur.

verifiez que le mail ne soit pas desactivé sur votre serveur.


Bonjour,
Je viens de remplacer cette ligne :
mail($destinataire,$objet,$message,$from);

par celle-ci :
mail("mon adresse email",$objet,$message,$from);

Et je reçois enfin le mail. :)
Puis-je procéder de cette façon?
Est-ce bien dans ce cas envoyé par le serveur?
MScorpion

Beno@
  
  :-)
      ?   @     Posté le 29/04/2008 22:18:28  
Voter pour ce message
oui bien sur vous pouvez proceder de cette manière mais ca empeche de centraliser le parametre de l'adresse email.

sinon la fonction mail en php envoie le mail par le serveur, et mailto dans un lien en html envoie le mail par le logiciel du visiteur
mscorpion
  
  :-)
      ?   @     Posté le 29/04/2008 23:47:57  
Voter pour ce message
Beno@ a écrit :
oui bien sur vous pouvez proceder de cette manière mais ca empeche de centraliser le parametre de l'adresse email.

sinon la fonction mail en php envoie le mail par le serveur, et mailto dans un lien en html envoie le mail par le logiciel du visiteur


Qu'est-ce que "la centralisation du paramètre de l'adresse email"?
Et qu'est-ce que le fait de ne pas l'avoir peut me poser comme inconvénient?
Et aussi, si le mail est bien envoyé par le serveur donc c'est que la fonction mail sur le serveur est bien activée, alors pourquoi cela ne fonctionne t'il pas lorsque j'utilise "$destinataire"?
MScorpion
Beno@
  
  :-)
      ?   @     Posté le 30/04/2008 14:00:26  
Voter pour ce message
c'est juste que si vous mettez votre adresse directement dans la fonction vous ne pourrez pas réutiliser le même parametre plus loin, vous serez obligé d'aller remodifier toutes les fonctions mail ;)
alors qu'en stockant l'adresse dans une variable ca permet d'avoir un endroit avec tous les paramètre (comme au debut de votre code)
mscorpion
  
  :-)
      ?   @     Posté le 30/04/2008 21:54:39  
Voter pour ce message
Beno@ a écrit :
c'est juste que si vous mettez votre adresse directement dans la fonction vous ne pourrez pas réutiliser le même parametre plus loin, vous serez obligé d'aller remodifier toutes les fonctions mail ;)
alors qu'en stockant l'adresse dans une variable ca permet d'avoir un endroit avec tous les paramètre (comme au debut de votre code)

Bonjour,
Et bien il faut que j'arrive à faire fonctionner cette fonction avec la variable car même si pour l'instant le but est de ne pas avoir à aller sans cesse dans mon livre d'or, je me rend compte qu'en avançant on veut toujours mettre des fonctions supplémentaire.
Alors c'est dans notre intéret pour la suite de créer nos pages le plus correctement possible.
Je vais encore chercher et reviendrai vous dire ce que j'ai essayer et si ça fonctionne ou pas.
Si quelqu'un avait une idée,ça ne serait pas de refus.
Ce que je ne comprends pas c'est que si d'autres testent mon code, ça fonctionne et pas chez moi!
Merci à tous pour toute votre aide.
Mscorpion
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 01/05/2008 12:52:29  
Voter pour ce message
Utilise des constantes sinon :


define(DESTINATAIRE, 'mon adresse mail');
...
mail(DESTINATAIRE, ...);
mscorpion
  
  :-)
      ?   @     Posté le 01/05/2008 14:11:48  
Voter pour ce message
Martius a écrit :
Utilise des constantes sinon :




Bonjour,
J'ai essayé avec "define" et ça fonctionne.
Et j'ai remarqué qu'il y avait ceci ' et non " pour entourer l'adresse mail, alors j'ai réessayé $destinataire avec un seul ' et ça marche! :youpi: :youpi:
Comme quoi il suffit parfois de peu de chose pour que ça fonctionne ou pas.
Je vous remercie tous beaucoup pour votre attention, votre aide et votre patience.
Merci.
MScorpion

PS : comment mettre que le problème est résolu?
-->Message édité par mscorpion le 01/05/2008 14:16:05<--
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 02/05/2008 18:37:07  
Voter pour ce message
En éditant le titre du premier post ;)

A titre informatif, voilà (en php) la différence entre guillemet simple et double :

$nom = 'jean';
echo "je suis $nom";
// affiche je suis jean
echo 'je suis $nom';
// affiche je suis $nom

Autrement dit : les guillemets doubles remplacent une variable par son contenu, un guillemet simple ne cherche pas si il y a une variable.
mscorpion
  
  :-)
      ?   @     Posté le 02/05/2008 22:27:32  
Voter pour ce message
Martius a écrit :
En éditant le titre du premier post ;)

A titre informatif, voilà (en php) la différence entre guillemet simple et double :


Autrement dit : les guillemets doubles remplacent une variable par son contenu, un guillemet simple ne cherche pas si il y a une variable.


Bonjour,

Vous êtes vraiment super.
Non seulement vous nous aidez à résoudre nos problèmes mais en plus vous nous donnez l'explication. Au moins nous ne sortons pas de ce forum sans comprendre.
Un très très grand merci.

MScorpion

PS : j'ai mis "résolu" à la place du titre du premier post, j'espère que c'est cela que je devais faire!
mscorpion
  
  :-)
      ?   @     Posté le 03/05/2008 13:57:54  
Voter pour ce message
Zplay a écrit :
Pour le résolu c'est ce qu'il fallait faire ;)

Merci.
MScorpion
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 04/05/2008 13:54:38  
Voter pour ce message
mscorpion a écrit :



Bonjour,

Vous êtes vraiment super.
Non seulement vous nous aidez à résoudre nos problèmes mais en plus vous nous donnez l'explication. Au moins nous ne sortons pas de ce forum sans comprendre.
Un très très grand merci.

MScorpion

PS : j'ai mis "résolu" à la place du titre du premier post, j'espère que c'est cela que je devais faire!


Merci du compliment, quand on peut être utile :)
<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> résolu

Aller à :

Page générée en : 0.137s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men -