01net    Web


Actuellement en ligne : 743 Utilisateurs dont 46 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
Auteur
Message
 
<     1   2       >
mscorpion
  
  :-)
      ?   @     Posté le 08/05/2008 08:17:58  
Voter pour ce message
Bonjour,
Je viens de remarquer que lorsqu'un visiteur écrit un message dans mon livre d'or, et qu'il fait "enter" pour passer à la ligne, le passage à la ligne ne se fait pas et à chaqu'un de ces endroits, s'affiche ces deux lettres " rn "!
Comment puis-je faire pour que le passage à la ligne se fasse et que "rn" ne s'écrive plus?
Merci de votre attention.

MScorpion

-->Message édité par mscorpion le 04/06/2008 12:17:09<--
Beno@
  
  :-)
      ?   @     Posté le 08/05/2008 11:06:37  
Voter pour ce message
ce ne serait pas du à la fonction stripslashes?
sinon moi j'utilise nl2br

par exemple echo nl2br(htmlentities($texte))
mscorpion
  
  :-)
      ?   @     Posté le 08/05/2008 23:25:39  
Voter pour ce message
Beno@ a écrit :
ce ne serait pas du à la fonction stripslashes?
sinon moi j'utilise nl2br

par exemple echo nl2br(htmlentities($texte))


Bonjour,
stripslashes enlève les slashes devant les ' et nl2br transforme les "entrées" que le visiteur a entré en HTML.Et dans mon code j'ai les deux comme ceci :

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


C'est justement parceque j'ai mis nl2br que je ne comprends pas!!
Pourriez-vous m'aider?
Merci.
-->Message édité par mscorpion le 08/05/2008 23:32:25<--
-------
MScorpion
Beno@
  
  :-)
      ?   @     Posté le 09/05/2008 10:08:37  
Voter pour ce message
parce que /rn est en fait un retour chariot ;)

par contre, l2br vas donner un code html et vous utilisez ensuite strip_tags :/ ton ca ne marche pas
mscorpion
  
  :-)
      ?   @     Posté le 09/05/2008 15:49:40  
Voter pour ce message
Beno@ a écrit :
parce que /rn est en fait un retour chariot ;)

par contre, l2br vas donner un code html et vous utilisez ensuite strip_tags :/ ton ca ne marche pas


Bonjour,
J'avais mis strip_tags pour éviter que certains écrivent du HTML, comme il me l'a été conseillé!
A votre avis, que serait-il intéressant pour moi d'enlever ou d'ajouter et pourquoi?
Je vous remercie de votre attention.
-------
MScorpion
Pc_expert_3
  
   
      ?   @     Posté le 09/05/2008 16:18:09  
Voter pour ce message
htmlentities() remplace les <>& etc par leur équivalents HTML &lt;&gt; &amp; etc, ce qui empêche un code HTML d'être interpété par le navigateur. Ça résoud le problème du strip_tags qui devient donc inutile.

La fonction nl2br() remplace les retours à la ligne \n par des balises HTML <br>. Pas les \rn que je sache.
Sinon, un simple $texte = str_replace('\rn', '<br />', $texte); règlerait simplement l'affaire.
-------
Fils d'Albanel, va !
mscorpion
  
  :-)
      ?   @     Posté le 10/05/2008 22:03:08  
Voter pour ce message
Pc_expert_3 a écrit :
htmlentities() remplace les <>& etc par leur équivalents HTML <> & etc, ce qui empêche un code HTML d'être interpété par le navigateur. Ça résoud le problème du strip_tags qui devient donc inutile.

La fonction nl2br() remplace les retours à la ligne \n par des balises HTML <br>. Pas les \rn que je sache.
Sinon, un simple $texte = str_replace('\rn', '<br />', $texte); règlerait simplement l'affaire.


Bonjour,
J'ai essayé en ajoutant :
$texte = str_replace('\rn', '<br />', $texte);

Et ensuite en ajoutant :
$texte = str_replace('\rn', '<br />', $texte);

et en enlevant :
$message = strip_tags($message);

Et les "rn" s'inscrivent toujours et ça ne passe toujours pas à la ligne!!
Pourriez-vous m'aider, y aurait-il autre chose qui pourrait provoquer cela?

merci
-------
MScorpion
Beno@
  
  :-)
      ?   @     Posté le 11/05/2008 11:18:28  
Voter pour ce message
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message = nl2br($message);
$message = strip_tags($message);
$message = stripslashes($message);

ca c'est assez bizare comme code: parce que deja tu enleve les charactères dangereux pour mysql (alors que tu n'enregistre pas en base de donnée) mais bon, ca peut être utile. tu enlève les caractère html (donc les balises et tout)
ensuite tu met des <br/>
ensuite tu enlève à nouveau les balises (donc ca doit géner nl2br)
et tu enlève les slashes.
c'est un peu lourd et tordu.

il faudrait voir comment sont enregistrés les messages dans la base de donnée pour savoir comment les retraiter ;)
mscorpion
  
  :-)
      ?   @     Posté le 11/05/2008 17:54:54  
Voter pour ce message
Beno@ a écrit :
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message = nl2br($message);
$message = strip_tags($message);
$message = stripslashes($message);

ca c'est assez bizare comme code: parce que deja tu enleve les charactères dangereux pour mysql (alors que tu n'enregistre pas en base de donnée) mais bon, ca peut être utile. tu enlève les caractère html (donc les balises et tout)
ensuite tu met des <br/>
ensuite tu enlève à nouveau les balises (donc ca doit géner nl2br)
et tu enlève les slashes.
c'est un peu lourd et tordu.

il faudrait voir comment sont enregistrés les messages dans la base de donnée pour savoir comment les retraiter ;)



Bonjour,

Je débute et lorsque vous voulez voir comment sont enregistrés les messages, est-ce cela que vous voulez :
mysql_query("INSERT INTO livreor VALUES('', '" . $votremail . "', '" . $pseudo . "', '" . $message . "')");

ou la façon dont j'ai créer ma base de données?
Merci pour toute votre attention.
-------
MScorpion
Beno@
  
  :-)
      ?   @     Posté le 11/05/2008 19:00:28  
Voter pour ce message
est-ce que vous utilisez une fonction qui transforme le message avant de sauvegarder?
mscorpion
  
  :-)
      ?   @     Posté le 11/05/2008 22:00:30  
Voter pour ce message
Beno@ a écrit :
est-ce que vous utilisez une fonction qui transforme le message avant de sauvegarder?

Bonjour,
Je n'ai pas appris à transformer un message ni en quoi le transformer, juste la sécurité avec mysql_real_escape_string et htmlspecialchars ainsi que nl2br pour remplacer les entrées par <br />
Les quelques choses que j'ai ajoutées par rapport à ce que j'ai appris sont :
stripslashes et strip_tags et j'ai aussi ajouté les codes pour les smileys et pour mettre en gras, italique et souligné.
-------
MScorpion
Beno@
  
  :-)
      ?   @     Posté le 11/05/2008 23:01:26  
Voter pour ce message
vous utilisez nl2br avant de sauvegarder le message?
mscorpion
  
  :-)
      ?   @     Posté le 11/05/2008 23:19:54  
Voter pour ce message
Beno@ a écrit :
vous utilisez nl2br avant de sauvegarder le message?

Bonjour,
Oui, je mets le tout de suite après la connection à ma base de données et donc avant de vérifier si une adresse est entrée, un pseudo, ... et d'enregistrer le message.
-------
MScorpion
Pc_expert_3
  
   
      ?   @     Posté le 12/05/2008 03:58:06  
Voter pour ce message
Je ne comprends pas l'intérêt de faire d'affilée mysql_real_escape_string et stripslashes, sachant que le premier va ajouter les backslashes que l'autre va enlever O_o
De plus, la fonction nl2br remplace les \n et \r en <br>, pas les \rn
En fait, on dirait que les deux sont combinés d'affilée O_o²
-------
Fils d'Albanel, va !
Beno@
  
  :-)
      ?   @     Posté le 12/05/2008 09:07:34  
Voter pour ce message
en fait je crois qu'il faut simplifier la transformation.

je mettrais mysql_real_escape_string($message) avant d'enregistrer le message

et juste stripslashes(nl2br(htmlentities($message))) pour l'afficher
-->Message édité par Beno@ le 12/05/2008 09:10:30<--
mscorpion
  
  :-)
      ?   @     Posté le 12/05/2008 13:46:31  
Voter pour ce message
Beno@ a écrit :
en fait je crois qu'il faut simplifier la transformation.

je mettrais mysql_real_escape_string($message) avant d'enregistrer le message

et juste stripslashes(nl2br(htmlentities($message))) pour l'afficher


Bonjour,
Lorsque je mets le premier avant d'enregistrer le message et le deuxième juste avant de l'afficher, je n'ai plus de "rn" mais j'ai les slashes.
Et lorsque j'enlève le "stripslashes" pour le mettre avant d'enregistrer, je n'ai plus de slashes mais j'ai de nouveau les "rn".
Et dans les deux cas, le passage à la ligne ne se fait pas.
Je ne comprends pas!
-------
MScorpion
Beno@
  
  :-)
      ?   @     Posté le 12/05/2008 14:36:46  
Voter pour ce message
alors la j'ai jamais eu ce coup :/

peut on avoir l'adresse ou un code de test?
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 12/05/2008 14:37:46  
Voter pour ce message

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


Il faut mettre mysql_real_escape_string au dernier moment (directement au niveau de la requête), sinon, théoriquement pas besoin de stripslashes avec mysql_real_escape_string(), puisque c'est en parti géré au niveau du php.ini avec les magicquotes_runtime, etc.
mscorpion
  
  :-)
      ?   @     Posté le 12/05/2008 18:20:27  
Voter pour ce message
Martius a écrit :



Il faut mettre mysql_real_escape_string au dernier moment (directement au niveau de la requête), sinon, théoriquement pas besoin de stripslashes avec mysql_real_escape_string(), puisque c'est en parti géré au niveau du php.ini avec les magicquotes_runtime, etc.


Bonjour,
Alors voilà tout le code et en ayant placé tout comme ici (en rouge):

<!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="livreor.php" name="formulaire">



<h1>
<img src="http:.gif" alt="Etoile tourne" />
<img src="http:.gif" alt="Livre d'or" />
<img src="http:.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">
<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="gif" title="gros_sourire" alt="gros_sourire" onClick="javascript:smilies(':lol:');return(false)" />
<img src="gif" title="triste" alt="triste" onClick="javascript:smilies(':triste:');return(false)" />
<img src="gif" title="tire_la_langue" alt="tire_la_langue" onClick="javascript:smilies(':langue:');return(false)" />
<img src="gif" title="visage_rouge" alt="visage_rouge" onClick="javascript:smilies(':rouge:');return(false)" />
<img src="gif" title="fantome" alt="fantome" onClick="javascript:smilies(':fantome:');return(false)" />
<img src="gif" title="pleure" alt="pleure" onClick="javascript:smilies(':pleure:');return(false)" />
<img src="gif" title="cool" alt="cool" onClick="javascript:smilies(':cool:');return(false)" />
<img src="gif" title="etonne" alt="etonne" onClick="javascript:smilies(':etonne:');return(false)" />
<img src="gif" title="sourire" alt="sourire" onClick="javascript:smilies(':sourire:');return(false)" />
<img src="gif" title="mauvais" alt="mauvais" onClick="javascript:smilies(':mauvais:');return(false)" />
<img src="gif" title="content" alt="content" onClick="javascript:smilies(':content:');return(false)" />
<img src="gif" title="clin_d_oeil" alt="clin_d_oeil" onClick="javascript:smilies(':cligne:');return(false)" />
<img src="gif" title="grands_yeux" alt="grands_yeux" onClick="javascript:smilies(':yeux:');return(false)" />
<img src="gif" title="comprend_pas" alt="comprend_pas" onClick="javascript:smilies(':hein:');return(false)" />
<img src="gif" title="diabolique" alt="diabolique" onClick="javascript:smilies(':diable:');return(false)" />
<img src="gif" title="respect1" alt="respect1" onClick="javascript:smilies(':respect:');return(false)" />
<img src="gif" 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']));
$pseudo = stripslashes($pseudo);
$message = nl2br(htmlspecialchars($_POST['message']));
$destinataire='xxx@xxx.com';
$objet=$_POST['objet'];


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

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

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

else
{
//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);

//Les Smileys

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

$message = mysql_real_escape_string($message);


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


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

</p>
</div>



<?php
error_reporting(E_ALL);


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

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

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


while ($donnees = mysql_fetch_array($reponse))
{
echo '<h4><font color="#f05050" size="5">' . $donnees['pseudo'] . '</font> a écrit :<br />' . $donnees['message'] . '</h4>';
}


mysql_close();

?>



<br/><br/>

<p><?php include(''); ?></p>

<br/><br/>

<h3><a href="menu"><img src="gif" alt="Retour"/></a></h3>
</body>
</html>

Alors, le passage à la ligne se fait bien, il n'y a plus de "rn" mais il y a les slashes.
Et il me dit que j'ai une erreur à cette ligne :
mail($destinataire,$objet,$message,$from);

alors, qu'il n'y en avait pas avant!!
-->Message édité par mscorpion le 12/05/2008 18:34:32<--
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 13/05/2008 10:11:56  
Voter pour ce message
essaye en mettant

set_magicquotes_runtime(0);

au début du code.
mscorpion
  
  :-)
      ?   @     Posté le 13/05/2008 12:13:52  
Voter pour ce message
Martius a écrit :
essaye en mettant

set_magicquotes_runtime(0);

au début du code.

Bonjour,
J'ai mis la ligne tel quel juste après ma connection bd et avant
$votremail=$_POST["votremail"];

et du coup, il n'affiche plus les messages qui étaient déjà là et me dit que j'ai une erreur à la ligne que j'ai ajoutée! :S
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 15/05/2008 16:18:34  
Voter pour ce message
manquait un underscore.
set_magic_quotes_runtime(0);
mscorpion
  
  :-)
      ?   @     Posté le 17/05/2008 22:31:03  
Voter pour ce message
Martius a écrit :
manquait un underscore.
set_magic_quotes_runtime(0);

Bonjour,
J'ai essayé :
set_magic_quotes_runtime(0);

mais toujours des slashes et un problème avec l'envoi d'email (qui était règlé).
Maintenant j'ai mis ceci :
$votremail=$_POST["votremail"];
$from=htmlspecialchars("From: ".$votremail);
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$pseudo = stripslashes($pseudo);
$message = nl2br(htmlspecialchars($_POST['message']));
$message = stripslashes($message);
$destinataire='xxx@xxx.com';
$objet=$_POST['objet'];

et ceci :
$message =mysql_real_escape_string($message);

mysql_query("INSERT INTO livreor VALUES('', '" . $votremail . "', '" . $pseudo . "', '" . $message . "')");

mail($destinataire,$objet,$message,$from);
echo "Merci de m'avoir laissé un message<br/>";
}

et, plus de slashes, plus de "rn", le passage à la ligne se fait bien, mais il me met que j'ai une erreur à cette ligne :
mail($destinataire,$objet,$message,$from);

et ne m'envoie plus de mail.
Pourtant je n'ai rien changé à ce niveau!!
De quoi cela peut-il provenir?
Pouvez-vous m'aider.
Merci pour tout.
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 20/05/2008 11:21:46  
Voter pour ce message
quelle erreur ?
mscorpion
  
  :-)
      ?   @     Posté le 20/05/2008 12:54:42  
Voter pour ce message
Martius a écrit :
quelle erreur ?

Bonjour,
Il me met ceci :
Warning: mail() [function.mail]: SMTP server response: 542 You are not allowed to send your message. Contact US in D:\www\mscorpion.be\htdocs\livreor.php on line 199

199 qui est dans mon livre celle-ci :
mail($destinataire,$objet,$message,$from);

Pourtant j'avais des difficultés avec la fonction mail et vous m'aviez aidée et tout était résolu et fonctionnait très bien!
Depuis, je n'ai rien changé à la fonction mail.Les seules choses que j'ai changées sont dans ce sujet-ci.
C'est pourquoi je ne comprends pas.
Merci de votre aide.
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 20/05/2008 20:55:07  
Voter pour ce message
bizarre, c'est une restriction du serveur ça, mais je n'avais jamais vu...

Pour débugger, ajoute
echo "<pre>".$destinataire."</pre>", "<pre>".$from."</pre>";
jute avant l'envoi du mail, on pourra déjà peut-être voir ce qui ne vas pas, sinon, c'est un problème avec l'hébergeur.
mscorpion
  
  :-)
      ?   @     Posté le 20/05/2008 21:31:11  
Voter pour ce message
Martius a écrit :
bizarre, c'est une restriction du serveur ça, mais je n'avais jamais vu...

Pour débugger, ajoute
echo "<pre>".$destinataire."</pre>", "<pre>".$from."</pre>";
jute avant l'envoi du mail, on pourra déjà peut-être voir ce qui ne vas pas, sinon, c'est un problème avec l'hébergeur.


Bonsoir,
Voilà, je l'ai mis et il me dit ceci :
function.mail]: SMTP server response: 542 You are not allowed to send your message. Contact US in D:\www\mscorpion.be\htdocs\livreor.php on line 200

La ligne 200 étant toujours :
mail($destinataire,$objet,$message,$from);

Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 21/05/2008 00:10:13  
Voter pour ce message
en fait place
cette ligne :
echo "<pre>".$destinataire."</pre>", "<pre>".$from."</pre>";
avant l'envoi du mail...
mscorpion
  
  :-)
      ?   @     Posté le 21/05/2008 08:30:40  
Voter pour ce message
Martius a écrit :
en fait place
cette ligne :
echo "<pre>".$destinataire."</pre>", "<pre>".$from."</pre>";
avant l'envoi du mail...

Bonjour,
J'avais placé la ligne juste avant ceci :
mail($destinataire,$objet,$message,$from);

C'est bien de cette ligne dont vous me parlez lorsque vous dites "envoi du mail" ?
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 22/05/2008 10:25:56  
Voter pour ce message
Euh oui, mais c'est un peu bizarre ton problème, là le but est d'afficher l'adresse avant de l'envoyer pour vérifier qu'elle est bonne
DarKcodersc
  
   
      ?   @     Posté le 22/05/2008 11:12:52  
Voter pour ce message
Ya pas des CMS qui gere automatiquement ce genre de choses ?
-------
Http://DarK-CoderZ.no-ip.fr/
>>Proffesionnal Forum<<
DarKcodersc
  
   
      ?   @     Posté le 22/05/2008 11:13:31  
Voter pour ce message
il n'y a pas des CMS qui gere le contenu des livre d'or deja ?
-------
Http://DarK-CoderZ.no-ip.fr/
>>Proffesionnal Forum<<
mscorpion
  
  :-)
      ?   @     Posté le 22/05/2008 12:31:05  
Voter pour ce message
Bonjour à tous,
Pour l'adresse elle est bonne et d'ailleurs je recevais bien les mails.
Puis d'un coup, il y avait erreur!!!
Pour le CMS, je ne sais pas ce que c'est. J'ai appris quelques bases de php et j'ai fais mon livre d'or. Ce n'est pas un livre d'or tout fait avec gestion et tout que l'on peut se procurer sur certains sites.
Par rapport au tout début, je me suis renseignée pour ajouter les smileys,la fonction mail et quelques changements au niveau des antislashes, passage à la ligne et sécurité.
Je préfère m'y prendre de cette façon car cela me permet de comprendre tout ce qu'il y a dans mon livre d'or.
Est-ce que les changements effectués pour les slashes ou le passage à la ligne peuvent provoquer une erreur dans la fonction mail?
Merci à tous pour votre attention.
mscorpion
  
  :-)
      ?   @     Posté le 24/05/2008 22:00:16  
Voter pour ce message
Bonjour,
Je ne comprends vraiment plus rien car maintenant lorsque je poste un message dans mon livre d'or, il me met de nouveau la même erreur mais plus à cette ligne :
mail($destinataire,$objet,$message,$from);

mais à celle-ci :
echo "Merci de m'avoir laissé un message<br/>";

toujours sans recevoir le moindre mail.
Du coup, je me suis dit que je pouvais remercier les gens d'une autre manière et j'ai enlevé cette ligne qui posait problème.
Et là, encore la même erreur à cette ligne, seulement elle était VIDE !!!
Quelqu'un pourrait-il m'aider ou éventuellement tester mon code si vous avez un peu de temps?
Merci à tous.
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 26/05/2008 00:24:12  
Voter pour ce message
La première chose à faire pour débugger est supprimer les dernières modifications effectuées depuis que ça ne marche plus, à priori, ce qui bloque c'est la ligne que je t'ai proposée (set_magic_quotes_runtime) donc met la en commentaire ou supprime là.
mscorpion
  
  :-)
      ?   @     Posté le 26/05/2008 23:17:41  
Voter pour ce message
Martius a écrit :
La première chose à faire pour débugger est supprimer les dernières modifications effectuées depuis que ça ne marche plus, à priori, ce qui bloque c'est la ligne que je t'ai proposée (set_m