Pas retour à la ligne automa. avec echo PHP

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
je fais mon site web en php et j'ai fais un système de mise à jour

2 page [index.php ou sera afficher les news // admin.php ou sera entrée les nouvelles news]

pour afficher les news dans ma page index.php j'utilise echo mais quand je rentre des news de plusieurs lignes sur ma page index ma news ne fais pas un retour a la ligne mais continue tout droit se qui donne un truc pas trés beau --->

__________
¦..................¦
¦..................¦
¦..................¦
¦ouvertue du site web... etc....
¦..................¦
¦..................¦
¦_________¦

DOnc pas trop trop joli :S

auriez vous vous une méthode pour que se qu'affiche mon echo fasse un retour a la ligne automatiquement.

22 réponses

Nivek Freedomsoul
 
Oui la balise de code, mais bon,

Oui, donc pour ton cas, il faut que tu ajoutes ça lors de l'envoie du message a ta DDB


$message = htmlentities($_POST['message'], ENT_QUOTES); // empeche les \ devant les ' et "
$message = nl2br($message); // permet les retour a la ligne

En espérant t'avoir été utile ;)

Bonne soirée !
3
Nivek Freedomsoul
 
Bin ... autant mettre:

echo "<p>$message</p>"
Lors de l'affichage >.>


D'ailleur Maxis', c'est quoi la différence de mettre des points + guillemets aux variables =O ? xD
1
Maxisouchie Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   5
 
Bonjour, envoi moi le script si tu peux. Utilise tu une base de donNN2 MySQL? Je me demande comment t'arrive a te débrouiller avec echo tu devrait utiliser du html.
0
Utilisateur anonyme
 
Mon Code d'affichage :
____________________________________________________________
<?php
$base = Mysql_connect("localhost", "", "");
Mysql_select_db ('ma base', $base);

$sql = 'SELECT * FROM livredor ORDER BY id DESC';
$req = mysql_query($sql) or die ('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error());

while ($data = mysql_fetch_array($req))
{
?>
<table Cellspacing="0" style=" margin-top: 10px;">
<tr>
<td><font size="5"><b><tt><?php echo htmlspecialchars($data['pseudo']);?>
</b></tt></font></td><td align="right"><i><tt>le <?php echo $data['date'];?></tt></i></td></tr>
<tr>
<td colspan="2"><?php echo htmlspecialchars($data['message']);?></td>
</tr>
</table>

<?php
}
mysql_free_result ($req);
mysql_close ();
?>
_____________________________________________________________

Il y a un autre moyen d'afficher ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
pas bien compris :S

je dois mettre se code juste avant l'envoie des valeurs à la base de donnée pendant l'affectation des variables ?
0
Nivek Freedomsoul
 
Oui voilà, essai et tiens moi au courant ;)

En gros,


if($_POST)
{
$message = htmlentities($_POST['message'], ENT_QUOTES);
$message = nl2br($message);
INSERT INTO .... // pour inserer dans ta BDD
}
0
Utilisateur anonyme
 
Arf non sa joue pas :S

mais il faut faire une manoeuvre spécial sur la page qui affiche les donnée ?
0
Nivek Freedomsoul
 
envoie ton code pour inserer dans ta BDD

oublie pas d'enlever ton mdp et tout ^^'
0
Utilisateur anonyme
 
<?php
$titre = $_POST['titre'];
$message = htmlentities($_POST['message'], ENT_QUOTES);
$message = nl2br($message);
$date1 = date(Y);
$date2 = date(m);
$date3 = date(d);
$date = ''. $date3 . '.' . $date2 .'.' .$date1.'';
$base = Mysql_connect("", "", "");
Mysql_select_db ('', $base);
mysql_query('INSERT INTO news VALUES("", "'.$date.'", "'.$titre.'", "'.$message.'")');
mysql_close();
?>

sa me fais sa :S ---> http://naruto.regard-manga.com
0
Utilisateur anonyme
 
je pourrai pas configurer un truc avec le div qui entour l'affichage des news pour que le texte ne puisse pas dépasser ?
0
Nivek Freedomsoul
 
Désolé, je suis partout a la fois ^^'

Bon donc

-- connexion a ta BDD et ta talbe --

  $date = date("d/m/Y"); 
  $titre = mysql_real_escape_string(htmlspecialchars($_POST['titre'])); 
  $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); 
  $message= htmlentities($_POST['message'], ENT_QUOTES); 
  $message= nl2br($message); 

  // Ensuite on enregistre le message dans la database 
mysql_query('INSERT INTO news VALUES("", "$date", "$titre", "$message")');
0
Utilisateur anonyme
 
=D je vais essayer tout sa je te redit direct après
0
Maxisouchie Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   5
 
Je te conseillerai de faire du html plutôt que la fonction echo. Voici une news avec du php et du html :http://www.lephpfacile.com/howto/2-comment-faire-un-script-de-news-en-php
0
Utilisateur anonyme
 
Maxie souchie : dans le script de "lephpfacile" il utilise aussi echo :S

Nivek : si le htmlspecialcharr est présant au moment de l'ajout de la news je dois le mettre pendant l'affichage ?
0
Nivek Freedomsoul
 
Non pas besoin, puisque quand ça va etre dans ta BDD il sera en html ^^

Une sorte de converstion ^^'

Essai, et regarde dans ta BDD ce que ça donne, pour moi, j'utilise ça et ça passe :/
0
Maxisouchie Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   5
 
Oui, mais c'est quand tu utilise une basile pour faire une requête MySQL, enfin bref. Je ne comprend pas ta question. Si je me souvien bien cette fonction est pour empécher que l'on mette des balises html et les convertir. Faut le mettre à chaque fois que tu utilise une variable fait par un formulaire.
0
Utilisateur anonyme
 
oui moi aussi j'utilise du html pour structuer mon affichage mais quand je dois afficher une valeur qui est dans ma base de donnée je l'affiche avec echo mais si mon texte est trop long sa ne fais pas de retour à la ligne :S
0
Utilisateur anonyme
 
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message= htmlentities($_POST['message'], ENT_QUOTES);
$message= nl2br($message);


la deuxième affectation tu mais la variable super global (je crois que sa s'appelle comme sa) $_POST['message'] je pense que il faut mettre la variable $message ? pck autrment la première affectation ne sers a rien :S ?
0
Nivek Freedomsoul
 
Bin en faite, je coirs que la premiere ligne sert pas, j'ai oublié de la retirée ^^'

Mais bon, ça ne change rien,

ça fonctionne ou pas alors ?

Et dans tes test ... mets des espace ! tu feras jamais un mot de cette longueur >.>

La taille, ouai tu peux la mettre dans ton div
0
Utilisateur anonyme
 
sa me dit mysql_real_escape_string(htmlspecialchars accàs refuser avec l'ulisateur :S mais je pense avoir trouver quelque chose .... si au moment de la saisie...

Ex:

Saisie: salut

$message = $_POST['message'];
$message = htmlspecialchars($message);
$message = '<p>' .$message. '</p>'


Sa va me rajouter les balise <p> à mon texte et sur ma page sa positionnera le texte comme avec une balise <p> :D


c une bonne idée ?
0
Utilisateur anonyme
 
:D voila pour moi sa marche :D

Merci à vous deux pour vos conseilles :D

Aurevoire et j'éspère a une prochaine
0