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 :

Formulaire de mise à jour


Sujet :

PHP & Base de données

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Par défaut Formulaire de mise à jour
    Bonjour a tous

    J'ai un soucis dans un formulaire de mise a jour.

    Le coté "bizarre" de la chose, c'est que j'ai utilisé un de mes formulaires actuels (une commande INSERT) qui marchait très bien.
    Et ma requete UPDATE marche très bien sous phpmyadmin ...

    Les codes :

    ** le formulaire **

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <form method="POST" action="FormSiteInjecteur.php">
     
    <table BORDER=0>
     
    <tr><td valign=top><span class=text>votre code de mise a jour</td><td valign=top><span class=text><input TYPE=text NAME=CodeMaj SIZE=40 MAXLENGTH=18></td></tr>
     
    <tr><td valign=top><span class=text>nom : </td><td valign=top><span class=text><input TYPE=text NAME=nom SIZE=40 MAXLENGTH=40></td></tr>
     
    <tr><td valign=top colspan=2><input TYPE=submit VALUE="envoyer">
     
    </td></tr>
     
    </table>
     
    </form>

    ** le code injectant en base **

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
    <?php
     
    $CodeMaj0 = $_POST['CodeMaj'];
     
    $CodeMaj0 = secureTxt($CodeMaj0);
     
    $nom0 = $_POST['nom'];
     
    $nom0 = secureTxt($nom0);
     
     
    $liendb = mysql_connect("serveur","user","pwd");
     
    mysql_select_db ("base");
     
    $sql = "UPDATE table SET nom='$nom0' , DateMAJ=NOW() WHERE (CodeMaj='$CodeMaj') )";
     
    mysql_query ($sql);
     
    echo $liendb;
    echo "<br>" ;
     
    echo $sql;
     
    mysql_close ($liendb);
    // header("Location: OK.php");
     
    ?>
     
     
    <?
     
    function secureTxt($item) {
     
       // Ce script va effacer les balises HTML, les javascript
     
       // et les espaces. Il remplace aussi quelques  entit&eacute;s HTML
     
       // courante en leur &eacute;quivalent texte.
     
    $search = array ("'<script[?>]*?>.*?</script>'si", // Supprime le javascript
     
                       "'<[\/\!]*?[^<?>]*?>'si",         // Supprime les balises HTML
     
                       "'&(quot|#34);'i",                // Supprime les entites HTML
     
                       "'&(amp|#38);'i",
     
                       "'&(lt|#60);'i",
     
                       "'&(gt|#62);'i",
     
                       "'&(nbsp|#160);'i",
     
                       "'&(iexcl|#161);'i",
     
                       "'&(cent|#162);'i",
     
                       "'&(pound|#163);'i",
     
                       "'&(copy|#169);'i",
     
                       "'&#(\d+);'e");                                              // Evaluation comme PHP
     
     
     
    $replace = array("",
     
                       "",
     
                       "\"",
     
                       "&",
     
                       " ",
     
                       " ",
     
                       " ",
     
                       chr(161),
     
                       chr(162),
     
                       chr(163),
     
                       chr(169),
     
                       "chr(\\1)");
     
    $ret = preg_replace ($search, $replace, $item);
     
    return $ret;
     
    } // end function secureTxt
     
    ?>
    Je ne trouve pas ce qui ne marche pas...
    Merci de votre aide.

  2. #2
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    Bonjour! et ton souci, ton problème, lequel est-il?

    Un message d'erreur serait le bienvenue dans le sujet

  3. #3
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonjour,

    une erreur de synthaxe SQL ici (parenthèses inutiles + parenthèse en trop) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE table SET nom='$nom0' , DateMAJ=NOW() WHERE CodeMaj='$CodeMaj'

  4. #4
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    $CodeMaj n'existe pas, c'est $CodeMaj0

    peux-tu nous mettre le résultat de :
    echo $sql ?

  5. #5
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Par défaut
    Bonjour a tous et merci de votre aide.

    Citation Envoyé par SphynXz Voir le message
    Bonjour! et ton souci, ton problème, lequel est-il?
    Un message d'erreur serait le bienvenue dans le sujet
    je n'ai pas de message d'erreur :
    quand j'execute le formulaire en PHP, aucune mise a jour ne se produit dans al table.
    quand j'execute la requete dans phpmyadmin (avec des valeur bidon), la mise a jour a bien lieu

    Citation Envoyé par fregolo52 Voir le message
    peux-tu nous mettre le résultat de :
    echo $sql ?
    Resource id #1
    UPDATE table SET gsm='00000000' , DateMAJ=NOW() WHERE (CodeMaj='test') )

    je viens de faire un copier-coller de la requete dans phpmyadmin, c'est bien passé...

Discussions similaires

  1. [Conception] Formulaire de mise à jour planté
    Par Jiraiya42 dans le forum PHP & Base de données
    Réponses: 27
    Dernier message: 11/10/2006, 22h50
  2. Réponses: 2
    Dernier message: 25/09/2006, 17h24
  3. organisation d'un formulaire de mise à jour
    Par lifecraft dans le forum ASP
    Réponses: 26
    Dernier message: 24/02/2006, 17h36
  4. Formulaire et mise à jour du sous-formulaire
    Par ana2sb dans le forum Access
    Réponses: 1
    Dernier message: 23/09/2005, 11h39
  5. Méthode pour un formulaire de mise à jour
    Par deviltaz dans le forum IHM
    Réponses: 12
    Dernier message: 07/10/2004, 11h01

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