pb caractere spéciaux a l"inscription

Invité
Invité n'ayant pas de compte PHPfrance

10 août 2007, 22:39

bonjour
je viens de m'apercevoir que lorsqu'un membre veut s"inscrire sur mon site avec par exemple des ' ou des é, ca ne marche pas :cry:
<?php
include 'connexion.php';
if(isset($_POST['pseudo']))$login=$_POST['pseudo'];
else $login="";
puis la verif:
<?php
session_start() ;
include 'connexion.php';
$message = "";
//Vérifier si le pseudo et mot de passe sont envoyés non vides
if (isset($_POST['pseudo']) && isset($_POST["passe"]) && !empty($_POST["pseudo"]) && !empty($_POST["passe"]))
{
//on recupere les données du formulaire
$login = $_POST['pseudo'];
$passe = $_POST['passe'];
$req = mysql_query("SELECT * FROM membres WHERE pseudo='". $login. "' AND passe='".$passe."'",$db)or die(mysql_error());
if ($req && mysql_num_rows($req) >0) {
   $data = mysql_fetch_assoc($req);
   if ($data) {
      		   $_SESSION['pseudo'] = $login;

etc.....
}


Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 août 2007, 22:46

je viens de m'apercevoir que lorsqu'un membre veut s"inscrire sur mon site avec par exemple des ' ou des é, ca ne marche pas :cry:
Modération:
Dans le message qui a dû s'afficher à la saisie de ton message se trouvait cette ligne
si votre programme ne donne pas le résultat escompté, décrivez le résultat obtenu, le résultat souhaité et en quoi précisément le résultat obtenu diffère du résultat souhaité


Comme le dirait un autre modo, nous ne pouvons actuellement uniquement en déduire qu'il ne marche pas parce qu'il n'a pas de jambes :lol:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 28 Messages

10 août 2007, 22:47

Je n'ai jamais eu ce problème, mais essaye dechanger l'interclassement de ta BDD ou l'encode des caractères sur ton naviguateur mais je ne suis pas sûr ! Essaye de donner plus de renseignement si tu veut qu'on t'aide plus.

@+
:)

Invité
Invité n'ayant pas de compte PHPfrance

10 août 2007, 23:54

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'archange'' at line 1

voilà le mess d'erreur en simulant une inscription l'archange

le script ci dessus n'accepte pas les ' :o

(les accents fonctionnent par contre et sont pris en compte dans la base)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

11 août 2007, 00:34

Affiche la requête généré et regarde s'il n'y a pas quelque chose qui te choque au niveau des chaines de caractères... :)

par exemple une apostrophe non protégée par un addslashes(), un mysql_real_escape_string() ou par les magic_quotes... et qui terminerait la chaine plus tôt que prévu...

En revanche, tu n'as à mon avis aucun problème avec les accents...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...