Problème d'apostrophes php

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 : Problème d'apostrophes php

Re: Problème d'apostrophes php

par moogli » 17 déc. 2012, 23:58

salut,


Utilise mysql_real_escape_string sur les valeurs issue du formulaire (ou de l'url, enfin tous ce qui vient de l'utilisateur).

par exemple :
<?php
$sql = 'select  from truc  where machin=\''.mysql_real_escape_string($_POST['bidulle']).'\'';
?>
Tu ne peux être pas être sur que personne ne va modifier ton formulaire ou ton url.
C'est pour cela qu'il faut toujours vérifier l’existence des champs dans les tableaux $_POST, $_GET etc


@+

Problème d'apostrophes php

par Valsoun » 17 déc. 2012, 23:07

Bonjour à tous !

Voilà plusieurs jours que je cherche comment régler un problème dans mon espace membre : lorsque l'on modifie son profil, les apostrophes " ' " ne s'enregistrent pas dans la bdd... j'ai entendu parler de la fonction addslashes() mais je ne sais pas comment l'utiliser dans mon code...

Pour résumer, j'aimerais que l'on puisse mettre des apostrophes, surtout dans le champs "histoire" dans lequel les membres parlent d'eux...

Voici mon code :

<?php
if((isset($_POST['qq']) && !empty($_POST['qq']) && strlen($_POST['qq']) >= 4 && isset($_POST['histoire']) && !empty($_POST['histoire']) && strlen($_POST['histoire']) >= 10 && isset($_POST['email']) && !empty($_POST['email']) && strlen($_POST['email']) >= 6))
{
echo '<font color="green">Ton profil a bien été mis à jour!</font><br><br>';
mysql_query("UPDATE membre SET secret='".$_POST['qq']."' WHERE login='".$_SESSION['login']."'");
mysql_query("UPDATE membre SET histoire='".$_POST['histoire']."' WHERE login='".$_SESSION['login']."'");
mysql_query("UPDATE membre SET email='".$_POST['email']."' WHERE login='".$_SESSION['login']."'");

}
else {

echo'Le profil n\'a pas pu être mis à jour.<br><br>'; }

if(isset($_POST['mdp']) && isset($_POST['mdp_co']) && !empty($_POST['mdp']) && !empty($_POST['mdp_co']) && $_POST['mdp'] == $_POST['mdp_co'] && strlen($_POST['mdp']) >= 4 && strlen($_POST['mdp_co']) >= 4)
{
echo'<font color="green">Ton mot de passe a bien été modifié.</font>';
mysql_query("UPDATE membre SET pass_md5='".md5(htmlentities($_POST['mdp']))."' WHERE login='".$_SESSION['login']."' ");
}

if(isset($_POST['mdp']) && isset($_POST['mdp_co']) && !empty($_POST['mdp']) && !empty($_POST['mdp_co']) && $_POST['mdp'] != $_POST['mdp_co'] && strlen($_POST['mdp']) != 4 && strlen($_POST['mdp_co']) != 4)
if(isset($_POST['mdp']) && !empty($_POST['mdp']))
if(isset($_POST['mdp_co']) && !empty($_POST['mdp_co']))
{
echo'Tous les champs n\'ont pas été rempli correctement.';
}
?>


Votre aide me sera d'une grande utilité !

Bonne soirée