Pas retour à la ligne automa. avec echo PHP

Résolu/Fermé
Utilisateur anonyme - Modifié par aurus1212 le 8/04/2010 à 21:46
 Utilisateur anonyme - 8 avril 2010 à 23:40
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
8 avril 2010 à 22:09
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
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 lundi 24 août 2009 Statut Membre Dernière intervention 16 août 2011 5
8 avril 2010 à 21:53
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
8 avril 2010 à 21:57
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
8 avril 2010 à 22:12
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
8 avril 2010 à 22:15
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
8 avril 2010 à 22:21
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
8 avril 2010 à 22:22
envoie ton code pour inserer dans ta BDD

oublie pas d'enlever ton mdp et tout ^^'
0
Utilisateur anonyme
8 avril 2010 à 22:24
<?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
8 avril 2010 à 22:29
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
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
8 avril 2010 à 22:40
=D je vais essayer tout sa je te redit direct après
0
Maxisouchie Messages postés 121 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 16 août 2011 5
8 avril 2010 à 22:41
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
8 avril 2010 à 22:44
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
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 lundi 24 août 2009 Statut Membre Dernière intervention 16 août 2011 5
8 avril 2010 à 22:56
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
8 avril 2010 à 22:58
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
8 avril 2010 à 22:56
$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
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
8 avril 2010 à 23:08
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
8 avril 2010 à 23:27
:D voila pour moi sa marche :D

Merci à vous deux pour vos conseilles :D

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