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 :

Variables formulaire : Update impossible


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 935
    Points : 237
    Points
    237
    Par défaut Variables formulaire : Update impossible
    Bonjour à tous,

    Avec un tuto, j'ai fait un update dans une table.

    Quand j'exécute directement, ça marche, mais quand c'est fait à partir d'un formulaire, y a d'erreur mais il n'y a aucun update d'effectuer.

    J'ai fait ce formulaire pour me simplifier la vie, parce que faire directement par le fichier d'update, je devais modifier la source, transférer et exécuter.

    Ce formulaire, très simple, n'utilise que 2 variables (id et mots-cles) (c'est pour mon moteur de recherche), qui sont récupérées par le fichier d'update, comme le montre ce code :
    Formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form method="post" action="frm_update-recherche.php" name="update"> 
    	<strong>Mise à jour de mots-clés - Recherche.sql :</strong><br><br><br><br>
    	N° id : <input type="text" name="id" size="3" maxlength="3"><br><br>
    	Mots clés : <textarea name="motscles" cols="50" rows="5"></textarea><br><br><br><br>
    	<input type="submit" value="Envoyer"> &nbsp; <input type="reset" value="Recommencer">
    </form>
    Fichier de l'update :
    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
    <?php
    if ((isset($_POST['motscles']) && !empty($_POST['motscles'])) && (isset($_POST['id']) && !empty($_POST['id'])))
    {
    $id = $_POST['id'];
    $mots_cles = $_POST['motscles'];
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title></title>
    </head>
    <body>
     
    <!-- /////////////////////////////////////////////////// -->
    <!-- //////////// Mise à jour des mots-clés //////////// -->
    <!-- /////////////////////////////////////////////////// -->
     
    <?php
    mysql_connect("sql.free.fr", "XXXXX", "XXXXX"); 
    mysql_select_db("XXXXX"); 
          $requete = mysql_query("SELECT * FROM recherche WHERE id='$id'");
          $reponse = mysql_fetch_array($requete);
          $contenu_actuel = $reponse['mots_cles'];
          $nouveau_contenu = $contenu_actuel.$mots_cles;
     
    mysql_query("UPDATE recherche SET mots_cles = '$nouveau_contenu' WHERE id='$id'");
     
    mysql_close(); // Déconnexion de MySQL
    ?>
     
    </body>
    </html>
    <?php
    }
    else
    {
    echo 'Mots-clés ajoutés<br><br>';
    echo '[ <a href="javascript:history.go(-1)">Retour page précédente</a> ]';
    }
    ?>
    Personnellement, je ne vois rien d'anormal et je me demande pourquoi la mise à jour ne se fait pas !!!!!

    Est-ce que vous pourriez m'aider à résoudre ce problème ?

    Il est possible que vous voyiez qq chose d'anormal que je ne vois pas !

    Merci de votre aide.
    Cordialement.
    JLB59

    Analyse de la mémoire

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nouveau_contenu = $contenu_actuel.$_POST['mots_cles'];
    ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 935
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par RideKick Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nouveau_contenu = $contenu_actuel.$_POST['mots_cles'];
    ?
    Merci de ton aide RideKic, mais ça marche toujours pas !

    Pourtant, ton code a l'air correct !

    Est-ce que j'ai oublié qq chose dans mon code ?
    Cordialement.
    JLB59

    Analyse de la mémoire

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("UPDATE recherche SET mots_cles = '$nouveau_contenu' WHERE id='$id'") or die (mysqlerror();)
    pour voir si ta requette comporte une erreur sinon tu peux etre plus precis sur le fait que ça ne marche pas genre :

    Comportement reel , attendu etc ..

    Edit : la solution que jke t'ai file avant ne marche pas car tu as deja remplace le $_POST en debut de code j avais pas vu lol (le matin c'est mortel...)
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 935
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par RideKick Voir le message
    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("UPDATE recherche SET mots_cles = '$nouveau_contenu' WHERE id='$id'") or die (mysqlerror();)
    pour voir si ta requette comporte une erreur sinon tu peux etre plus precis sur le fait que ça ne marche pas genre :

    Comportement reel , attendu etc ..

    Edit : la solution que jke t'ai file avant ne marche pas car tu as deja remplace le $_POST en debut de code j avais pas vu lol (le matin c'est mortel...)
    Non, y a absolument pas d'erreur !

    Par contre, avec ton code volià ce qui est affiché :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected ';' in /mnt/163/sdb/9/3/qi98/mysql/update-recherche.php on line 28
    Alors j'ai essayé comme ça (j'utilise le même format pour la recherche complète);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query(UPDATE recherche SET mots_cles = '$nouveau_contenu' WHERE id='$id'") or die(mysql_error());
    C'est pareil, pour la syntaxe cette fois (je crois) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 'intelligence,âge mental,age mental,âge réel,age réel,age reel,âge reel,interet,i' at line 1
    Ce qui n'arrange rien ,c'est en anglais ???
    J'ai essayé de traduire (résidu d'école) :
    Vous avez une erreur de syntaxe dans votre requête SQL;regargez le manuel correspondant à votre version de MySQL... .
    après je ne m'en souviens plus (je parle de la traduction).
    Cordialement.
    JLB59

    Analyse de la mémoire

  6. #6
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    oui j'ai tappé un ; en trop
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("UPDATE recherche SET mots_cles = '$nouveau_contenu' WHERE id='$id'") or die (mysqlerror())
    tu as essayé ta reuqtte dans phpMyAdmin ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  7. #7
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 935
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par RideKick Voir le message
    oui j'ai tappé un ; en trop
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("UPDATE recherche SET mots_cles = '$nouveau_contenu' WHERE id='$id'") or die (mysqlerror())
    tu as essayé ta reuqtte dans phpMyAdmin ?
    C'est où ? Sur le Web ?
    Cordialement.
    JLB59

    Analyse de la mémoire

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Tu test ton script en local ? hebergement mutualisé ? prestataire ?

    tu dois avoir acces a un outil PHPMYAdmin te permettant de gerer tes bases de données dabs lequel tu peux tester tes requettes
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  9. #9
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 935
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par RideKick Voir le message
    Tu test ton script en local ? hebergement mutualisé ? prestataire ?

    tu dois avoir acces a un outil PHPMYAdmin te permettant de gerer tes bases de données dabs lequel tu peux tester tes requettes
    J'ai bien EasyPhp, mais pour l'update, c'est la bdd chez Free.

    J'ai vu PhpMySQL avec EasyPHP, mais comme je n'ai pas mis le moteur de recherche en local...

    Peut-être y aurait-t-il moins de problèmes d'accessibilité !

    Je vais essayer en local, si je peux !
    Cordialement.
    JLB59

    Analyse de la mémoire

  10. #10
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Ok , sinon quand tu dis que la requête ne marche pas tu peux détailler ? tu te rends compte que la valeur n 'a pas changé , tu as un plantage, ou autre ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  11. #11
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 935
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par RideKick Voir le message
    Ok , sinon quand tu dis que la requête ne marche pas tu peux détailler ? tu te rends compte que la valeur n 'a pas changé , tu as un plantage, ou autre ?
    Non, non ! Rien du tout.

    Apparemment, cela se passe bien puisque je n'ai aucune erreur.

    Le problème est qu'aucun enregistrement s'effectue ! La table du MDR (Moteur De Recherche) ne change en rien à l'id sélectionné avec le formulaire.
    Cordialement.
    JLB59

    Analyse de la mémoire

  12. #12
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    donc le champs mots_cles ne change pas ?

    si tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE recherche SET mots_cles = 'toto' WHERE id='$id'")
    tu n'as pas toto dans le champs motsclef a lid specifie ?

    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("UPDATE recherche SET mots_cles = '$nouveau_contenu' WHERE id='$id'") or die (mysqlerror())
    ne te renvoi aucune erreur ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  13. #13
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 935
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par RideKick Voir le message
    donc le champs mots_cles ne change pas ?

    si tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE recherche SET mots_cles = 'toto' WHERE id='$id'")
    Non, y a une incompréhension qq part.
    Ce n'est pas le nom du champ (mots_cles) que je veux changer, mais uniquement son contenu.

    Citation Envoyé par RideKick
    tu n'as pas toto dans le champs motsclef a lid specifie ?

    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("UPDATE recherche SET mots_cles = '$nouveau_contenu' WHERE id='$id'") or die (mysqlerror())
    ne te renvoi aucune erreur ?
    Aucune erreur mais aucun changement non plus!

    Soit dit en passant, tu avais oublié le";" à la fin. et j'ai spécifié un id unique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("UPDATE recherche SET mots_cles = 'toto' WHERE id='1'") or die (mysqlerror());
    J'ai les boules !... Grrrr ! Surtout quand ça va pas.
    Heureusement que t'es là, sinon, j'aurais baissé les bras...
    Cordialement.
    JLB59

    Analyse de la mémoire

  14. #14
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    d'ou l'importance de tester la requete dans phpMyAdmin ou outil equivalent !

    J'ai bien compris que c 'est le contenu du champs que tu veux changer , j'ai mal formulé ma phrase !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  15. #15
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 935
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par RideKick Voir le message
    d'ou l'importance de tester la requete dans phpMyAdmin ou outil equivalent !

    J'ai bien compris que c 'est le contenu du champs que tu veux changer , j'ai mal formulé ma phrase !
    Je m'en étais douté.

    Bon, j'ai installé le MDR en local et j'ai encore essayé différentes manières pour l'update.

    Alors, tantôt j'ai des "Parse error", tantôt je n'ai aucune erreur.

    Ce dont, je suis sûr, c'est qu'il n'y a aucun changement.

    Pour me simplifier la vie, il ne reste plus qu'un id? J'ai scratché tout le reste.

    Je comprends plus !!!!
    Cordialement.
    JLB59

    Analyse de la mémoire

  16. #16
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Je dois avouer que c'est pour el moins etrange !

    tu as verifie toutes tes valeurs , tu es sur de ne pas ajouter une valeur vide ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  17. #17
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 935
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par RideKick Voir le message
    Je dois avouer que c'est pour el moins etrange !
    Je suis tout à fait d'accord avec toi.

    Citation Envoyé par RideKick Voir le message
    tu as verifie toutes tes valeurs , tu es sur de ne pas ajouter une valeur vide ?
    C'est à dire ?
    Cordialement.
    JLB59

    Analyse de la mémoire

  18. #18
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    bah un truc parasite du genre juste un espace ce qui fait que dans ta colonne mot clef tu te rends pas compte que la valeur a ete modifiee
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  19. #19
    Membre actif
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 935
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par RideKick Voir le message
    bah un truc parasite du genre juste un espace ce qui fait que dans ta colonne mot clef tu te rends pas compte que la valeur a ete modifiee
    J'ai pigé !
    Je me demande pourquoi avec le fichier d'update, modifié à la source, ça marche, et pas avec le formulaire.

    C'est certainement une histoire de variables.

    Je verrais ça demain, parce que là, je vois plus rien !

    Merci encore de ton aide.

    Si ça marche je te le derais savoir.

    A+
    Cordialement.
    JLB59

    Analyse de la mémoire

Discussions similaires

  1. [forms 6i]UPDATE IMPOSSIBLE
    Par pjcejbpojo dans le forum Forms
    Réponses: 5
    Dernier message: 06/05/2006, 14h09
  2. Réponses: 5
    Dernier message: 14/03/2006, 16h12
  3. [Tableaux] passage de variable formulaire
    Par Stef.web dans le forum Langage
    Réponses: 4
    Dernier message: 23/01/2006, 10h44
  4. Windows Update impossible, problème installation WGA
    Par iubito dans le forum Windows XP
    Réponses: 3
    Dernier message: 16/12/2005, 08h58
  5. Réponses: 9
    Dernier message: 30/11/2005, 17h23

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