Soucis php/sql avec striplashes

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Soucis php/sql avec striplashes

par DocType » 17 nov. 2006, 20:53

vive les injections SQL !
Alors, je te propose si tu le souhaites de commencer à coder proprement...
Comment ? désactiver la directive magic_quotes du php.ini et protéger chacun de tes champs de ta requete par un mysql_real_escape_string()

Soucis php/sql avec striplashes

par fabosaure » 17 nov. 2006, 19:21

Salut,
Voilà j'ai passé un temps fou à chercher une erreur sur mon script ... en gros j'ai un site ou on peut ajouter des itnerviews ou des reportages. Dans le back office on ouvre un popup pour avoir un aperçu du cartouche "intro" (appellé chapeau dans mon script) qui se trouvera en actualité.
Mon script ajoute automatiquement l'actu en cliquant sur un bouton ...

Celui que j'ai fais pour les interviews marche, mais pas pour reportage, merci de m'aider sur le problème car je ne trouve pas l'erreur.

CELUI CI MARCHE PARFAITEMENT :
$pop1 = mysql_query("SELECT id,chapeau,titre,date FROM interviews WHERE id='$id'")  or die ('ERREUR <br>'. mysql_error());
           $pop2 = mysql_fetch_array($pop1);
           $code ="<img src='interviews/cadre_".$pop2['id'].".jpg' align=left>
           <center><b>INTERVIEW : ".$pop2['titre']."</b></center><br><br>".$pop2['chapeau']."<br><br>
           <center><A HREF='interviews.php?page=affiche&num=".$pop2['id']."'>- Découvrir l'interview -</a></center>";
           $code = stripslashes($code);
           $req = mysql_query("INSERT INTO actus VALUES('','0','Interview','".$pop2[date]."',\"".$code."\",'','','1','1','00:00:00')");
           $update = mysql_query("update interviews set miseactu=\"1\" where id='".$pop2['id']."'") or die ('ERREUR 3<br>'. mysql_error());
           echo "<br><br><br><br><center>Interview programmée au ".$pop2[date]." !<br><br><br><br>
           <a href='javascript:self.close();'><img src='graphs/fermer.gif' width=120 height=30 border=0></a></center>";
CELUI LA NE MARCHE PAS, si j'enleve $code ça marche ... donc ça doit venir des " et '
$pop1 = mysql_query("SELECT id,chapeau,titre,date FROM reportages WHERE id='$id'")  or die ('ERREUR <br>'. mysql_error());
           $pop2 = mysql_fetch_array($pop1);
           $code ="<center><table background='graphs/reportages_01.jpg' border=0 class=texte cellpadding=0 cellspacing=0 width=440 height=122><tr>
           <td background='reportages/cadre_".$pop2['id'].".jpg' width=171></td>
           <td valign=top><br><div align=justify><font color='#670606'><b>".$pop2['titre']."</b></font><br>".$pop2['chapeau']."<br>
           <A HREF='reportages.php?page=affiche&num=".$pop2['id']."'>Découvrir ce reportage</a>
           </div></td><td background='graphs/reportages_02.jpg' width=20></td></tr></table></center>";
           $code = stripslashes($code);
           $req = mysql_query("INSERT INTO actus VALUES('','0','Reportage','".$pop2[date]."',\"".$code."\",'','','1','1','00:00:00')");
           $update = mysql_query("update reportages set miseactu=\"1\" where id='".$pop2['id']."'") or die ('ERREUR 3<br>'. mysql_error());
           echo "<br><br><br><br><center>Reportage programmée au ".$pop2[date]." !<br><br><br><br>
           <a href='javascript:self.close();'><img src='graphs/fermer.gif' width=120 height=30 border=0></a></center>";
BIG MERCI !!!