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

PHP & Base de données Discussion :

erreur insertion quand je saisi des ' [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut erreur insertion quand je saisi des '
    Tout es dans le titre, quand je saisi des ' dons les champ de mon formulaire non,prenom motif , il est impossible d'insérer.
    Dans ma base de donnée j'ai regardé mais il dois avoir un truc qui manque à configurer.

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Ca vient plutôt de ton code, regarde du côté de addslashes.

    http://fr2.php.net/manual/fr/function.addslashes.php

  3. #3
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Points : 1 071
    Points
    1 071

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Je pensais pas que s'allais venir du code:
    j'ai regardé j'ai compris on va voir si c'est sa et si j'ai compris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     Nom:
    <?php
    echo addslashes($nom)('<input type="text" name="nom" maxLength="20" size="20" value="'. $_GET[nom] .'">');//.$GET[?] permet de ce souvenir des données saisies lors d'un retour en arrière
    ?>
    en tout cas sa ne marche pas

    merci

  5. #5
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    C'est plutôt dans ta requête d'insertion qu'il faut modifier.

    Dans le INSERT pour chaque champ à problème tu mets addslashes($champ)...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Problème toujour le meme:
    $req_insert = "INSERT INTO `roulage` ( `nom` , `prenom` , `motif` ) VALUES ( '$_POST[nom]' , '$_POST[prenom]' , '$_POST[motif]' )";

    J'ai fé comme sa:
    $req_insert = "INSERT INTO `roulage` ( addslashes($nom)
    , `prenom` , `motif` ) VALUES ( '$_POST[nom]' , '$_POST[prenom]' , '$_POST[motif]' )";

    j'ai essayé aussi dans le values et en srajoutant les '' mais rin du tout
    merci

  7. #7
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Points : 1 071
    Points
    1 071
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $req_insert = "
    INSERT INTO `roulage` 
    ( `nom` , `prenom` , `motif` ) 
    VALUES ( '".mysql_real_escape_string($_POST['nom'])."' , '".mysql_real_escape_string($_POST['prenom'])."' , '".mysql_real_escape_string($_POST['motif'])."' )";
    Attention avant d'ajouter des addslahses, car si les magic quotes sont activés, ça te doublera tes slashes
    en gros pour chaque, il faudrait
    mysql_real_escpare_string(stripslashes($_POST['nom']))

    Petit conseil, met des ' autour des index de tes tableaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_POST['nom'] et non $_POST[nom]

  8. #8
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Oulà un peu de réflexion s'impose...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req_insert = "INSERT INTO `roulage` ( `nom`
    , `prenom` , `motif` ) VALUES ( '" . addslashes($_POST['nom']) . "' , '" . addslashes($_POST['prenom']) . "' , '" . addslashes($_POST['motif']) . "' )";
    Je suis calme aujourd'hui...


    Edit : +1 avec Wamania qui semble mieux connaître le sujet

  9. #9
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Points : 1 071
    Points
    1 071
    Par défaut
    en gros on a mis pareil
    mysql_real_escape_string permet une meilleur protection que addslashes, donc à préferer niveau sécurité.

    Les magic quotes sont une plaie pour les un, mais heureusement là pour d'autres.
    En tout cas, à chaque addslashes sur un superglobal, faut penser à ça.
    www.php.net/get_magic_quotes_gpc
    permet de savoir si ces magic quotes sont activés.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Merci sa marche,franchement vous êtes fort et j'ai compris.
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD15] Erreur lors de saisie des données
    Par ellyam dans le forum WinDev
    Réponses: 12
    Dernier message: 18/05/2012, 17h20
  2. Réponses: 2
    Dernier message: 17/07/2007, 09h49
  3. Réponses: 2
    Dernier message: 12/07/2007, 10h12
  4. Saisie des dates
    Par J-P-B dans le forum XMLRAD
    Réponses: 5
    Dernier message: 04/07/2003, 11h08
  5. Réponses: 3
    Dernier message: 19/03/2003, 15h19

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