begin process at 2012 02 13 08:55:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

Autre

 > 

conversion caracteres speciaux HTML poru enregistrement BDD


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

conversion caracteres speciaux HTML poru enregistrement BDD

mardi 30 juin 2009 à 16:15:52 | conversion caracteres speciaux HTML poru enregistrement BDD

ju0123456789

Bonjour !

J'ai un formulaire d'inscription sur mon site qui marche très bien, à l'exception d'un seul bug : quand on rentre une apostrophe dans un chamsp de saisie.

Donc quadn j'envoi le formulaire il me met une erreur SQL du type :
" syntaxe incorrecte vers **champs_en_question** "
Voici mes tests sur une variable :
1)
$r_adresse = $_POST["adresse"];  (variable de départ --> ERREUR)

2)
J'ai du rajouté une fonction :
{
  return str_replace("'","’",$Chaine);
}
puis la variable modifiée :
$r_adresse = quoteencode($_POST["adresse"]);
Mais dans ma table j'ai "’" au lieu d'une apostrophe

et 3)
re-modification de ma variable :
$r_adresse = htmlentities(quoteencode($_POST["adresse"]));
Mais ça me met "’" au lieu d'une apostrophe.

Et je finis pas un INSERT INTO basic car je ne pense pas que le traitement se fasse à cet endroit.

Aidez-moi SVP merci bcp.
mardi 30 juin 2009 à 16:37:58 | Re : conversion caracteres speciaux HTML poru enregistrement BDD

kankrelune

Membre Club
Normal les quotes sont un caractère réservé dans le langage SQL puisqu'il en fait parti... du coup ce n'est pas qu'une question de bug mais aussi et surtout de sécurité car parti comme tu es on pourrais faire sauter toute ta base de données rien qu'en s'inscrivant sur ton site... .. .

http://www.php.net/mysql_real_escape_string

et dans un 2nd temps un peu de lecture...

http://www.siteduzero.com/tutoriel-3-14668-un-site-dynamique-avec-php.html

@ tchaOo°
mardi 30 juin 2009 à 16:45:36 | Re : conversion caracteres speciaux HTML poru enregistrement BDD

ju0123456789

Bonjour et merci d'avoir répondu si rapidement ! quel est l'equivalent de mysql_real_escape_string en ODBC stp ? Merci
mercredi 1 juillet 2009 à 00:36:54 | Re : conversion caracteres speciaux HTML poru enregistrement BDD

kankrelune

Membre Club
Ah tu bosse avec odbc... il n'y a pas d'équivalent tout simplement parce qu'odbc n'est pas un type de base de données c'est une interface qui permet l'accés à différents type de sgdb et leur manipulation via un ensemble unique de fonctions, c'est une forme d'abstraction de bdd... ça permet de changer de type de bdd sans avoir à changer tout le code... tout dépend donc du driver sql que tu utilise mais normalement l'échappement est géré par le couple prepare()/execute()... .. .

"Et je finis pas un INSERT INTO basic car je ne pense pas que le traitement se fasse à cet endroit."

bah justement... comment tu fais ton insert "basique"... .. .

@ tchaOo°
mercredi 1 juillet 2009 à 09:15:49 | Re : conversion caracteres speciaux HTML poru enregistrement BDD

ju0123456789

Ok merci pour la petite explication.

Voici mon insert :

// ouverture base

$sql="Insert into utilisateur(LOGIN,PASSWORD,CLE,VALIDE,DATE_CREATION,NOM,PRENOM,ADRESSE,CP,VILLE,PAYS,TEL,EMAIL_PERSO) Values
('$r_login','".md5($r_pwd)."','$cle','$r_valide','$r_date','$r_nom','$r_prenom','$r_adresse','$r_codepostal','$r_ville','$r_pays','$r_tel','$r_email')";
$rs=ODBC_exec($connect,$sql);

// fermeture base
mercredi 1 juillet 2009 à 11:49:36 | Re : conversion caracteres speciaux HTML poru enregistrement BDD

ju0123456789

Réponse acceptée !
Bon bah j'ai trouvé ma solution que je partage au cas où quelqu'un aurait le même problème que moi :

Ma fonction dont je parlai en haut je l'ai modifiée, j'ai juste fait :

function simplequoteencode( $Chaine )
{
  return str_replace("'","''",$Chaine);
}

Et dans tous les champs en POST que j'ai récupéré je fais :

$MonChamps = quoteencode($_POST["monchamps"]);

Et le tour est joué ;)

Merci pour votre réactivité ;)

@+
mercredi 1 juillet 2009 à 15:33:08 | Re : conversion caracteres speciaux HTML poru enregistrement BDD

kankrelune

Membre Club
C'est bien ce que je pensais... c'est parce que tu fais mal ta requête que tu as un bug... il faut la préparer avant de l'exécuter... .. .

http://fr2.php.net/manual/fr/function.odbc-prepare.php

il n'y a pas que les simples quotes qui peuvent poser problème en terme d'exécution mais aussi de sécurité... .. .

@ tchaOo°
mercredi 1 juillet 2009 à 15:53:29 | Re : conversion caracteres speciaux HTML poru enregistrement BDD

ju0123456789

hello !

Merci de la prévention et du lien. Mais, jsuis peut etre bete lol, je ne comprends pas l'utilité de la fonction ODBC_prepare aec de faire mon odbc_exec

Merci


Cette discussion est classée dans : variable, conversion, post, adresse, apostrophe


Répondre à ce message

Sujets en rapport avec ce message

Guillemet dans une textbox [ par RockmanX ] Voila j'ai un form qui va cherche dans une base de donnée une adresse et qui l'enregistre dans un variable:$adresse = "rue de l'école";Ensuite elle do IP variable et url fixe [ par omnikod ] Vous avez une connexion ADSL ?Vous avez un serveur Web ?Vous avez une IP dynamique et vous voulez pouvoir acceder à votre site par une adresse du styl question formulaire methode POST [ par davwart ] hello all,une petite question qui je pense n'est pas tres difficile, mais bon, je suis noobie, alors on y va doucement :)voila j'ai un formulaire qui Adresse mémoire d'une variable [ par jockos ] Comment connaitre l'adresse mémoire d'une variable PHP ?Par exemple, en C++, on utilise l'opérateur de référence "&".Mais en PHP, je me demande si cel Unset et $_POST[variable] [ par cseagle ] Bonjour,J'ai un formulaire d'inscription qui vérifie les champs à l'envoi et propose un historyback si un des champs est pas bon.Mon problème c'est qu probleme entre formulaire et base de donnees [ par mictif ] j'ai un probleme avec mon formulaire que je veux enregistrer dans ma base de données voici l'erreur : Notice: Undefined index: code in g:\easyphp1-8 récupérer une variable après affichage d'un echo ?? [ par bidulesfr ] Salut, Aujourd'hui je suis tombé sur un os. Je m'explique: Je fais un menu déroulant, et la liste va etre cherché dans une premiere table de mysql et Variable get et post : transformation automatique [ par TULGRIM ] Bonjour a tous,Suite au changement de version de non serveur php, il me faut transformer toutes les varaibles envoyees par les formulaires et les URL conversion d'un mail en html [ par jyhes ] Bonjour à tous, La question est peut-être triviale, mais j'ère sur les archives sans rien trouver... Comment transformer un code html en un contenu Récupérer variable PHP provenant d'un formulaire dynamique [ par vincf1 ] Bonsoir à tous !!! Je vous explique mon problème php du moment (J'ai chercher réponse partout sur le WEB, en vain ...). <FO


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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,763 sec (4)

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