Pas retour à la ligne automa. avec echo PHP

Résolu
aurus1212 -  
 aurus1212 -
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

  • 1
  • 2
  1. 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
  2. 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
  3. Maxisouchie Messages postés 138 Statut Membre 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
  4. aurus1212
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. aurus1212
     
    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
  7. 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
  8. aurus1212
     
    Arf non sa joue pas :S

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

    oublie pas d'enlever ton mdp et tout ^^'
    0
  10. aurus1212
     
    <?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
  11. aurus1212
     
    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
  12. 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
  13. aurus1212
     
    =D je vais essayer tout sa je te redit direct après
    0
  14. aurus1212
     
    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
  15. 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
  16. Maxisouchie Messages postés 138 Statut Membre 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
    1. aurus1212
       
      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
  17. aurus1212
     
    $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
  18. 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
  19. aurus1212
     
    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
  20. aurus1212
     
    :D voila pour moi sa marche :D

    Merci à vous deux pour vos conseilles :D

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