Textarea et retour à la ligne automatique

Fermé
saturn1 Messages postés 1 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 9 juin 2007 - 9 juin 2007 à 20:19
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 9 juin 2007 à 23:52
Bonjour j'ai créé un livre d'or et je rencontre un soucis. Si il veut l'utilisateur qui veut déranger peut écrire des super long message comme : " ddddddddddddddddddddddddddddddddddddddddd" et cela déplace tout mes blocs lors de l'affichage sa me fait tout bugger.
J'ai vu qu'un utilisateur du forum avait trouver la réponse en utilisant
$message = wordwrap($message, 10, "<br />", 1); 


J'ai essayé de faire de même mais je n'y arrive pas . Quelqu'un pourrait me dire pourqu'oi sa ne fonctionne pas dans mon code svp .


<?php
if (isset($_GET['page']))
{
    $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livre_or.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
    $page = 1; // On se met sur la page 1 (par défaut)
}

// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;



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




while ($donnees = mysql_fetch_array($reponse))
{
$message = $donnees['message'];
$message = wordwrap($message, 10, "<br />", 1); 
//O transforme le timestamp en dates Jours / Moi / Année JJ/MM/AAAA
$date = strftime("%d/%m/%Y", $donnees['timestamp']);
//on affiche les messages dans un tableau ;) '<p>Par ' . $donnees['pseudo'] . ' , le '. $date.' :<br />' . $donnees['message'] . '</p>'
    echo '<table width="450" height="33" border="0" align="center" cellpadding="0" cellspacing="0">
                <tr> 
                  <td height="33" background="images/17.jpg"> <div align="center"><font color="#000000" size="2">Par  ' . $donnees['pseudo'] . ' le ,  '. $date.' : </font></div></td>
                </tr>
                <tr> 
                  <td background="images/17b.jpg">
<table width="428" border="0" align="center" cellpadding="0" cellspacing="0">
                      <tr>
                        <td ><font size="2"><div="bloc_texte">' . $donnees['message'] . '</font></td>
                      </tr>
                    </table>
                    
                  </td>
                </tr>
                <tr> 
                  <td height="20" background="images/17c.jpg"> </td>
                </tr>
              </table><br /><br />';
}
mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>


Je serai très reconnaissant d'une aide. Merci

2 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
9 juin 2007 à 23:17
salut,

elle sert à quoi ta <table> ?
de la mise en page ?
si tu veux pouvoir mettre en page du texte le mieux est de le mettre dans un <p> et de faire ta mise en page avec des <div>.
0
En fait, si tout pigé, faudrait limiter le nombre de caractères par message.
Y a une approche ici:
http://membres.lycos.fr/spipage/article.php3?id_article=233

L'exemple limite à 40, tu peux augmenter le chiffre vu que c'est fort peu. Faut bidouiller un peu pour raccorder la chose à ton code.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
9 juin 2007 à 23:52
a vi d'accord !…
pour moi c'était plus un problème de mise en page !…

(ô_O)
0