IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Proc�dural MySQL Discussion :

pb avec quote...php + mysql


Sujet :

SQL Proc�dural MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    33
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 33
    Par d�faut pb avec quote...php + mysql
    Bonjour � toutes et tous,
    J'ai un petit pb que je n'arrive pas � resoudre...
    Lorsque j'envoie des donn�es via un formulaire sur ma base mysql, les mots avec quote sont ecrits correctement dans la base. Par contre, lorsque j'appelle ces donn�es dans le m�me formulaire, elles me reviennent tronqu�ees � partir du 'quote'...
    J'ai essay� le addslashes() et stripslashes() sur mon formulaire d'appel et �a me renvoie toujours la m�me chose....� noter, magic_quotes_gpc est � ON...
    Quelqu'ubn aurait-il une solution ?
    ci-joint le code de :
    mon formulaire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //adresse du membre
    $req2 = "SELECT * FROM adresse WHERE Id_Membre=$choix"; //selection membre choisi dans omar
    $res2= mysql_query($req2,$conn);
    // or die($res2."<br>".mysql_error());
    if ($res2==TRUE){
      $ad=mysql_fetch_array($res2);
    }
    else {
      $ad=0;
    }
    .........
    print ("<input type='field' name='voie' value='".addslashes($ad['Voie'])."'>");
    et celui du script :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
            $req2="replace into Adresse (Id_adresse, Id_Membre, numero, voie, quartier, ville, codpost)
    	       values('".$_POST["Id"]."','".$_POST["Id"]."','".$_POST["numero"]."','".$_POST["voie"]."','".$_POST["quartier"]."','".$_POST["ville"]."','".($_POST["Codpost"])."')";
    Merci pour votre aide.

  2. #2
    Membre �prouv�
    Avatar de Anduriel
    Homme Profil pro
    Ing�nieur int�gration
    Inscrit en
    F�vrier 2004
    Messages
    2 290
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur int�gration

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 2 290
    Par d�faut
    http://www.phpinfo.net/articles/article_magic-quotes.html
    Pour les magic_quotes c'est tr�s utile
    En particulier les fonctions MyAddSlashes et MyStripSlashes.

    Quand tu ins�res une donn�e: MyAddSlashes()
    Quand tu r�cup�res les don�es: rien (il faut fixer les magic_quotes_runtime � 0)
    Quand tu affiches � partir d'un formulaire: MyStripSlashes

  3. #3
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    addslashes n'est pas suffisant pour mysql. Il faut utiliser mysql_real_escape_string.

  4. #4
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par d�faut
    Le plus simple pour ces choses la etant utiliser une fonction g�nrique,

    quelque chose comme cela en somme :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    	function Protect ( $value )
    	{
    		// Si c'est un tableau, appel récursif
    		if(is_array($value))
    		{
    			foreach($value as $key=>$val)
    			{
    				$value[$key] = $this->Protect($value[$key]);
    			}
    		}
    		else
    		{	// Stripslashes
    			if (get_magic_quotes_gpc())
    			{
    				 $value = stripslashes($value);
    			}
    			// Protection si ce n'est pas un entier
    			if (!is_numeric($value))
    			{
    				 $value = mysql_real_escape_string($value);
    			}
    		}
    		return $value;
    	}

    Bye

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    33
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 33
    Par d�faut
    J'ai essay� �a dans le formulaire qui recupere les donn�es :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    print ("<input type='field' name='voie' value='".mysql_real_escape_string($ad['Voie'])."'>");
    et j'obtiens ce message d'erreur :
    Fatal error: Call to undefined function: mysql_real_escape_string() in c:\documents and settings\lexton_t\mes documents\projet cnam\www\omar\ecrans\gestion\choixmemb.php on line 105
    En fait, ma version php ici (boulot) doit �tre inf�rieure � 4.3.0...je reessaie ce soir chez moi...
    Si entre temps vous pensez � autre chose...n'h�sitez pas !
    a+

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    33
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 33
    Par d�faut
    lol ! je confirme...c'est du 4.2...faut absolument que je me mette � jour !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    33
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 33
    Par d�faut
    RE,
    Bon chez moi avec php 4.3.1, m�me quand je mets le magic_quotes_gpc = ON, c'est la m�me chose.
    je reposte mon formulaire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    print ("<input type='field' name='voie' value='".mysql_real_escape_string($ad['Voie'])."'>");
    et son action :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
            if (trim($_POST["idad"]<>"")){
            $req2="replace into Adresse (Id_adresse, Id_Membre, numero, voie, quartier, ville, codpost)
    	       values('".$_POST["Id"]."','".$_POST["Id"]."','".$_POST["numero"]."','".$_POST["voie"]."','".$_POST["quartier"]."','".$_POST["ville"]."','".($_POST["Codpost"])."')";
    Donc, maintenant, le formulaire me retourne le char tronqu� � partir du quote en ajoutant le "\"
    merci de votre aide.
    a+

  8. #8
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par d�faut
    Tu n'as pas bien compris ce que cette fonctions r�alise et dans quels buts elle existe.

    mysql_real_escape_string() est utilis� pour prot�ger tes requetes d'une utilisation malicieuse.
    Donc on s'en sert avec les requetes SQL.

    Pour afficher dans ton formuaire la valeur avec son double quote, utilisent addslashes().

    Ainsi si tu as $t = 'rrrrr"rrrr';
    Et que tu l'affiches dans un input avec addslashes :
    <input type="text" value ="rrrr\"rrrrr" />

    Si tu n'utilises pas addslashes tu auras ceci :
    <input type="text" value ="rrrr"rrrrr" />
    et du coup c'est tronqu�.

    bye

Discussions similaires

  1. [MySQL] Probl�me avec Jpgraph+PHP+Mysql
    Par nitro97130 dans le forum PHP & Base de donn�es
    R�ponses: 21
    Dernier message: 07/08/2012, 10h04
  2. Pas d'Insertion avec Fullcalendar PHP/MySQL
    Par leerickx dans le forum PHP & Base de donn�es
    R�ponses: 0
    Dernier message: 06/06/2012, 12h23
  3. Probleme avec IIS + PHP + MySQL
    Par mordrake dans le forum IIS
    R�ponses: 5
    Dernier message: 01/01/2009, 11h22
  4. R�ponses: 2
    Dernier message: 04/06/2008, 22h02
  5. Probl�me avec Flash + PHP/MySQL
    Par wylls dans le forum Flash
    R�ponses: 12
    Dernier message: 04/01/2007, 12h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo