IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Formulaire php + bdd = perte des sauts de ligne html ? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 120
    Points : 50
    Points
    50
    Par défaut Formulaire php + bdd = perte des sauts de ligne html ?
    Bonjour,

    Dans une page html j'ai un formulaire php.
    Celui-ci appelle un script php qui récupère les valeurs et les mets dans une bdd.

    Dans la bdd, les sauts de ligne sont toujours là.

    Par contre, si avec un script php je récupère les valeurs dans la bdd et que j'en fait un echo, il n'y a plus de saut de ligne. Tout est aligné. J'ai pas testé avec les d'autre caractères spéciaux, mais je suppose que là aussi ca ne doit pas fonctionner.

    Je suis noob et je trouve pas !!!

    Merci

  2. #2
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 237
    Points
    8 237
    Par défaut
    salut,
    il te suffit de remplacer les caractères de renvoi à la ligne par leur code html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = str_replace('\n','<br />',$text);

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 120
    Points : 50
    Points
    50
    Par défaut
    Merci, mais je viens de tester et cela ne fonctionne pas.
    Je n'ai toujours aucun sauts de lignes.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $query2="SELECT * FROM tab_cv WHERE id='".$id."'";
    $result2=mysql_query($query2);
     
    $row = mysql_fetch_array($result2);
     
    $text = str_replace('\n','<br />',$row["cv"]);
    echo $text;

  4. #4
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 237
    Points
    8 237
    Par défaut
    en fait, il faut faire ça avant d'enregister

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 120
    Points : 50
    Points
    50
    Par défaut
    Hum ... fonctionne tjrs pas ... je dois pas bien comprendre.

    Voici le script appemé par mon formulaire.
    Dedans j'essaye de faire ce que tu as dit sur une des variables.
    Dans la bdd, elle apparait bien avec les sauts de lignes (comme les autres en fait), mais une fois récupéré plus de saut de ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $Cv=str_replace('\n','<br />',$Cv);
     
    $query="INSERT INTO tab_cv (nom,prenom,email,cv) VALUES ('".$Nom."','".$Prenom."','".$Email."','".$Cv."') ";
    mysql_query($query);

  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    j'en fait un echo, il n'y a plus de saut de ligne.
    Si si, ils sont là, regarde la source de ton document html, pas le rendu...

    il te suffit de remplacer les caractères de renvoi à la ligne par leur code html
    Ce serait "\n" plutôt que '\n'.

    en fait, il faut faire ça avant d'enregister
    Surtout pas, ce serait totalement stupide.

    $query="INSERT INTO tab_cv (nom,prenom,email,cv) VALUES ('".$Nom."','".$Prenom."','".$Email."','".$Cv."') ";
    Tu cherches à permettre les injections SQL et ne pas permettre de mettre des ' dans tes données ?
    Boost ftw

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 120
    Points : 50
    Points
    50
    Par défaut
    Loufouque,

    J'arrive pas tout à fait à te suivre là.
    Comment dois-je procéder alors pour l'enregesitrement de mes donées et la façonde les récupérer tout en ayant mes sauts de lignes et éviter ces injections sql ?
    Se serait une grande aide si tu pouvais me répondre.

    Merci de votre aide les mecs.

  8. #8
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Pour convertir tes retours à la ligne en <br /> il suffit d'utiliser la fonction nl2br() à l'affichage.
    Boost ftw

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 120
    Points : 50
    Points
    50
    Par défaut
    Ok merci :-)

    Et pour cette histoire d'injection ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Swiftmailer /vu twig et perte des sauts de ligne
    Par Schim59 dans le forum Symfony
    Réponses: 6
    Dernier message: 07/12/2013, 21h53
  2. [MySQL] Perte des sauts de ligne ?
    Par [ZiP] dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 20/12/2011, 08h03
  3. [notepad++] Perte des sauts de ligne lors des copier/coller
    Par L'aigle de Carthage dans le forum Windows Vista
    Réponses: 4
    Dernier message: 26/12/2009, 19h56
  4. [PHP-JS] Traitement des sauts de lignes
    Par Seta-san dans le forum Langage
    Réponses: 6
    Dernier message: 16/03/2009, 19h49
  5. [php] Affichage des sauts de ligne </br>
    Par Flushovsky dans le forum Langage
    Réponses: 3
    Dernier message: 21/12/2005, 15h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo