Probleme pour les posts (PHP)
Résolu
lemafieu
Messages postés
246
Statut
Membre
-
lemafieu Messages postés 246 Statut Membre -
lemafieu Messages postés 246 Statut Membre -
Bonjour,
j'ai essayé de créer un forum rudimentaire en php , il marche enfin presque , il y a un probleme :
quand je remplis une zone de texte comme ca par exemple:
ceci est un texte
je suis a la ligne
il y aura marqué :
ceci est un texte je suis a la ligne
alors comment pn peut faire pour eviter ça? il y a deja une fonction ou je dois la créer moi même?
help svp ^^
j'ai essayé de créer un forum rudimentaire en php , il marche enfin presque , il y a un probleme :
quand je remplis une zone de texte comme ca par exemple:
ceci est un texte
je suis a la ligne
il y aura marqué :
ceci est un texte je suis a la ligne
alors comment pn peut faire pour eviter ça? il y a deja une fonction ou je dois la créer moi même?
help svp ^^
Configuration: Windows Vista Firefox 2.0.0.9
5 réponses
-
Salut,
Il faut que tu remplaces les "\n" (saut de ligne standard) en "<br/>" (saut de ligne html).
Tu peux utiliser str_replace pour ça. -
Prends l'habitude de voir les détails sur les fonctions sur le site officiel: php.net. Ce site est la bible du Php.
http://fr3.php.net/manual/fr/function.str-replace.php$chaine = str_replace("sous chaine à remplacer", "sous chaine de remplacement", $chaine); => $chaine = str_replace("\n", "<br/>", $chaine); -
ca marche toujours pas :s
bon voici mon code php:
<?php
if (isset($_POST['name_topic']) and $_POST['name_topic'] != "" and isset($_POST['name']) and $_POST['name'] != "")//si le nom du topic et le pseudo existent et si il y quelque chose
{
$name_topic = $_POST['name_topic'];// on créer la variable nom du topic
$name_topic = str_replace('\n', "<br/>", $name_topic);
$in_topic = $_POST['in_topic'];// on créer la variable contenu du topic
htmlspecialchars ($in_topic);
$name = $_POST['name'];// on créer la variable du pseudo pour le cookie
htmlspecialchars($name);
setcookie(name,$name,time() + 60*60*24*30*12); // on créer le cookie qui contien le pseudo
$topics = fopen("file:///C:/datawamp/topics.html","a");// on ouvre le fichier des topics
fputs($topics, "<li>par ".$name." le".date('d/m/Y à H:i:s ')." <a href='".$name_topic.".php'>".$name_topic."</a></br>");//on écrit le lien du topic dans la liste des topics
fclose($topics);// on ferme le fichier
$topic = fopen("file:///C:/wamp/www/".$name_topic.".php","a");// on créer le fichier topic
fputs($topic, "<center><h2>".$name_topic."</h2></center></br>");// on écrit le nom du topic en haut de la page
fputs($topic,$in_topic);// on écrit le contenu du topic
fclose($topic);//on ferme le fichier
echo '<title>message posté</title>';
echo '<center><h2>votre message a bien été posté</h2></br>';
echo 'cliquez <a href="forum.php">ici</a> pour revenir au forum</center>';
}
else //sinon
{
if (isset($_POST['name']) and $_POST['name'] == "")//verifie si le pseudo est vide
{echo "vous n'avez pas mit de pseudo!</br>";}//si oui affiche un message d'erreur
if (isset($_POST['name']) and $_POST['name_topic'] == "")//verifie si le pseudo est vide
{echo "vous n'avez pas mit de nom de sujet!";}//si oui affiche un message d'erreur
?>
<title>poster un message</title>
<center><h2>poster un message</h2></center>
<form action="poster.php" method="post">
pseudo:<input type="text" name="name" value="<?php echo $_COOKIE['name'] ?>" /></br>
nom du topic:<input type="text" name="name_topic" /><br />
<textarea name="in_topic" rows="8" cols="45">
</textarea></br>
<input type="submit" value="Poster" />
</form>
<?php
}
include ("file:///C:/datawamp/ip.php");
?>
il y a une erreur quelque part mais ou svp? -
'\n' est différent de "\n"
'\n' c'est la chaine \n alors que "\n" symbolise le caractère de retour à la ligne.
Dans ton str_replace, mets des guillemets doubles comme j'ai mis dans mon exemple au dessus. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
j'ai trouvé
$in_topic = str_replace('
', "<br/>
", $in_topic);
c'était pas sorcier^^