probleme de guillemet

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 : probleme de guillemet

par sylvaing26 » 28 févr. 2009, 13:17

dans ton fichier lm.php tu dois avoir quelque chose de ce genre
 $artiste = $_POST['artiste'];
a toutes te variable $_POST[...] mets
$artiste = addslashes($_POST['artiste']);
$album = addslashes($_POST['album']);
$format = addslashes($_POST['format']);

par stefanelle » 28 févr. 2009, 00:36

mais je vois pas ou les placer ... :(

par Aureusms » 27 févr. 2009, 20:48

Utilise tu addslashes() ou mysql_real_escape_string(). Ces deux fonctions ajoutent directement des / pour protéger les " ou '. Surement utile dans ton cas.

par sylvaing26 » 27 févr. 2009, 19:45

comme cela \" bla bla bla \"

par stefanelle » 27 févr. 2009, 18:43

ok donc j ai remarqu" que les guillemets disparaisse au niveau de l affichage de mes GET ou dois je mettre le \ devant les guillemets ?

merci

Code : Tout sélectionner

<?php include ('config.php'); include ('connexion.php'); $id = $_GET["id"]; $sql = "SELECT id, reference, artiste, album, format FROM contenu WHERE id='".$_GET ['id']."'" ; $req = mysql_query($sql) or die( mysql_error() ) ; $total = mysql_num_rows($req); { echo '<form method ="post" action="lm.php">'; echo '<table>'."\n"; echo '<tr>'; echo '<td ><b><u>id</u></b></td>'; echo '<td ><b><u>reference</u></b></td>'; echo '<td><b><u>artiste</u></b></td>'; echo '<td><b><u>album</u></b></td>'; echo '<td><b><u>format</u></b></td>'; echo '</tr>'."\n"; while($row = mysql_fetch_array($req)) { echo '<tr>'; echo '<td>'.$id.'</td>'; echo '<td><input type="text" name="reference" value="'.$row ["reference"].'"/></td>'; echo '<td><input type="text" name="artiste" value="'.$row["artiste"].'"/></td>'; echo '<td><input type="text" name="album" value="'.$row["album"].'"/></td>'; echo '<td><input type="text" name="format" value="'.$row["format"].'"/></td>'; echo '</tr>'."\n"; } echo '</table>'."\n"; echo '<input type="hidden" name="id" value="'.$_GET['id'].'" /><input type="submit" name="btOk" value="Modifier"/>'; echo '</form>'; } ?> </body></html> <?php mysql_close(); ?>

par sylvaing26 » 27 févr. 2009, 18:22

Pour les guillements il faut mettre un \ devant sinon PHP pense que c'est la fin de la sequence,
ensuite tu peux utiliser str_replace() ou htmlspecialchars() :wink:

par stefanelle » 27 févr. 2009, 18:20

ils disparaiisent dans la base et sur ma page web ils disparaissent au moment de mon update

par Ryle » 27 févr. 2009, 18:19

Où est-ce qu'ils disparaissent ? Est-ce lorsque tu les réaffiches dans ton formulaire ? Est-ce dans ta base qu'il n'apparaissent pas ?

Essayes de trouver à quel moment tu les perds, cela t'aidera à trouver pourquoi et surtout comment ne plus les perdre ;)

par sylvaing26 » 27 févr. 2009, 18:18

Pour les guillements il faut mettre un \ devant sinon PHP pense que c'est la fin de la sequence,
ensuite tu peux utiliser str_replace() ou htmlspecialchars() :wink:

probleme de guillemet

par stefanelle » 27 févr. 2009, 18:13

Bonjour,

J ai un petit souci quand je fais un update sur ma base via un formulaire lorsqu une ligne contient des guillemets ils disparaissent avec la modif :shock:

Merci de votre aide