begin process at 2012 05 31 04:02:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

petit probleme facile à résoudre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

petit probleme facile à résoudre

jeudi 1 janvier 2009 à 19:12:32 | petit probleme facile à résoudre

minibenji

Bonjour,
j'ai confectioné cette petite shoutbox, mais lors de l'affichage des messages, les saut de ligne se transformes en simple espaces...

voici une version simplifié de mon code...

le visionnement :
$sql = "SELECT * FROM `wall_tbl` ORDER BY `id` DESC LIMIT 0 , 10";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
?>
 <font size="-1"><? echo $data['user']; ?></font><font color="#000000" size="-2"> à: <? echo $data['date']; ?></font><br />
   
 <p><font color="#3300FF"><? echo $data['texte']; ?></font></p>
    <?
}

le adding de post:

 $sql = "INSERT INTO wall_tbl VALUES('','".$_POST['user']."','".$_POST['message']."','".$quand."','".$_SERVER['REMOTE_ADDR']."')";
 $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 include"index.php";

** ceci est très simplifié, bien évidement
en passant, dans la table, l'endroit ou les messages sont mit, le type d'entrée est mit a "TEXT" et lorsque je regarde la base, les enter sont là!

merci d'avance...

jeudi 1 janvier 2009 à 20:20:09 | Re : petit probleme facile à résoudre

kohntark

Membre Club
Réponse acceptée !
Salut,

D'où proviennent tes messages ? les champs textarea d'un formulaire ?
As tu des '<br />' quand tu regardes directement dans ta base ?

9 chances sur 10 que si tu fais nl2br($_POST['message']); avant l'insertion ça fonctionne :-)

Cordialement,


Kohntark-
jeudi 1 janvier 2009 à 20:36:42 | Re : petit probleme facile à résoudre

kohntark

Membre Club
Et puis :
pourquoi fais tu ça :
while($data = mysql_fetch_assoc($req))
{
?>
 <font size="-1"><? echo $data['user']; ?></font><font color="#000000" size="-2"> à: <? echo $data['date']; ?></font><br />
   
 <p><font color="#3300FF"><? echo $data['texte']; ?></font></p>
    <?
}

pourquoi pas ça :
while($data = mysql_fetch_assoc($req))
{
 echo '<font size="-1">'.$data['user'].'</font><font color="#000000" size="-2"> à: '.$data['date'].'</font><br />
   
 <p><font color="#3300FF">'.$data['texte'].'</font></p>';

}
C'est bien plus lisible et facile à écrire, non ?


Et ça aussi :
$sql = "INSERT INTO wall_tbl VALUES('','".$_POST['user']."','".$_POST['message']."','".$quand."','".$_SERVER['REMOTE_ADDR']."')";

=>
$sql = "INSERT INTO wall_tbl VALUES('','$_POST['user']','$_POST['message']','$quand','$_SERVER['REMOTE_ADDR']')";

Par ailleurs, pense à traiter toutes tes variables qui proviennent des formulaires. Si tu ne le fais pas il est possible d'insérer des données qui peuvent servir à pirater ton site. Et ne laisse jamais un mysql_error() (uniquement pour le debug) car là aussi il y a un pb de sécurité. Si il y a une erreur sur la requête, le mysql_error() risque de divulger des informations sur la structure de ta base, et ça c'est pas bon :-)
Regarde la fonction mysql_real_escape_string()


Kohntark -

jeudi 1 janvier 2009 à 20:51:02 | Re : petit probleme facile à résoudre

minibenji

comme j'ai dit, c'est une simplifiquation, avec tout les codes html, ca devient plus simple, mais dont truc serraisse?
a.$_POST['message']=nl2br($_POST['message']);
b.nl2br($_POST['message']);
juste pour savoir

vendredi 2 janvier 2009 à 02:48:13 | Re : petit probleme facile à résoudre

minibenji

ok la reponse est "A"


vendredi 2 janvier 2009 à 02:48:14 | Re : petit probleme facile à résoudre

minibenji

ok la reponse est "A"


vendredi 2 janvier 2009 à 11:05:29 | Re : petit probleme facile à résoudre

kohntark

Membre Club
Réponse acceptée !

$message = strip_tags($_POST['message']);
$message = mysql_real_escape_string($message);
$message = nl2br($message);

Tu utilises ensuite $message à la place de $_POST['message'] pour l'insertion :
    - les données sont protégées contre l'injection de code
    - les /n sont remplacés par des <br />
    - les données sont protégées pour l'insertion dans la base


Cordialement,


Kohntark-


Cette discussion est classée dans : req, mysql, sql, probleme, post


Répondre à ce message

Sujets en rapport avec ce message

Probleme de requete !! [ par chatainsim ] Bonjour j'ai un probléme avec cette simple requete mysql : if($cita == 'oui') { $SQL = mysql_query("SELECT * FROM `post_primary` WHERE id='".$_GET[ tjr probleme de sessions. [ par Zebra1928 ] Hi all;j'ai toujours un probleme de sessions.qlq peut m'aider SVP ??, mon code est le suivant:******************************************************** probleme de checkbox!!!!urgent [ par celfel ] cela fait maintenant 1 semaine que je galère dessus :j ai une page pour l enregistrement des programmes ces programmes correspondent à des sous progra upload de fichier video format wvm [ par laurentbalmer ] voilà mon problème j'ai réalisé un formulaire pour uploder des images gif ou jpg sa marche tres bien mais pour une vidéo au format wvm il rempli biens Probleme un script [ par developvbdebut ] Bonsoir tout le mondeJ'ai un probleme avec mon scripte , c'est les boutons radio de mon formulaire qui posent probleme.En effet, je selection un bouto insertion de photo dans mysql via formulaire ne fonction pas [ par speedylol ] <TD id=HB_Focus_Element vAlign=top width="100%" background="" height=250 UNSELECTAB Peut-on dire "SAUF" en SQL ? [ par nougitch ] Bonjour, J'aimerai savoir s'il y a possibilité de traduire un "SAUF" dans une requête SQL. Je cherche en effet à sélectionner tous les enregistreme afficher age compris entre 2 valeur grace a une base sql help [ par guigui2mars ] hello voila je veux pouvoir grace a une date de naissance qui est inscrite dans la bas de donnée arrivé a afficher l'intervalle d'age ( ex 18 - 25 ans Probleme doublon lors d'un requete [ par magicjim ] Bonjour,je fait une requete de type :$sql=mysql_query("SELECT * FROM table_essai ");while($rs = mysql_fetch_array($sql,MYSQL_ASSOC))ALors ele maffiche Variables [ par Toolsweb ] Bon j'ai çainclude("../conf.php"); if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {  extract($_POST);  // on recupère le passw


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,638 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales