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 :

Modifier la base de données par formulaire [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Par défaut Modifier la base de données par formulaire
    bonjour a vous
    voila mes membres ont édité un profil
    (stocké dans la table profil)
    il n'avait pas la possibilité de le modifier par formulaire aussi
    mais je voudrais leur donner cette possibilité
    mais j'y arrive pas je sais que c'est " update"
    pouvez-vous me renseigner svp ?
    mon code et
    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
     
    <?php
     
    //On vérifie si le formulaire a été envoyé.
    if(isset($_POST['Submit']) && $_POST['Submit'] == 'Modifier mon profile')
    {
      mysql_connect("******", "****", "*****") or die(mysql_error());
      mysql_select_db("f******") or die(mysql_error());
     
      $pseudo = mysql_real_escape_string($_POST['pseudo']);
      $email = mysql_real_escape_string($_POST['email']);
      $id_reg = mysql_real_escape_string($_POST['id_reg']);
      $ville = mysql_real_escape_string($_POST['ville']);
      $sexe = mysql_real_escape_string($_POST['sexe']);
      $orient = mysql_real_escape_string($_POST['orient']);
      $poids = mysql_real_escape_string($_POST['poids']);
      $ageday = mysql_real_escape_string($_POST['ageday']);
      $agemonth = mysql_real_escape_string($_POST['agemonth']);
      $ageyear = mysql_real_escape_string($_POST['ageyear']);
      $descri = mysql_real_escape_string($_POST['descri']);
      $taille = mysql_real_escape_string($_POST['taille']);
     
      $requete = "INSERT UPDATE profile SET pseudo='".$pseudo."', email='".$email."', id_reg='".$id_reg."', ville='".$ville."', sexe='".$sexe."', orient='".$orient."', poids='".$poids."', ageday='".$ageday."', agemonth='".$agemonth."', ageyear='".$ageyear."', descri='".$descri."',taille='".$taille."', WHERE pseudo=".$pseudo."";
     
      $result = mysql_query($requete) or die(mysql_error());
     
        if($result == TRUE)
     
        {
          echo '<p>L\'enregistrement des modifications a été effectué .</p>';
          exit();
        }
        else
        {
          echo '<p>Une erreur est survenue pendant la requête.</p>';
          exit();
        }
    mysql_close();
     
    }
    else
    {
      // On réaffiche le formulaire s'il n'a pas été envoyé.
      header('Location: modifier_profile.php');
      exit();
    }
     
    ?>
    mais j'ai ce message
    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 'UPDATE profile SET pseudo='test', email='', id_reg='Ile de France', ville='qfhgj' at line 1
    donc voila mon code a une faute pouvez-vous me dire laquelle svp ?
    merci cordialement nico

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "INSERT UPDATE profile SET pseudo='".$pseudo."', email='".$email."', id_reg='".$id_reg."', ville='".$ville."', sexe='".$sexe."', orient='".$orient."', poids='".$poids."', ageday='".$ageday."', agemonth='".$agemonth."', ageyear='".$ageyear."', descri='".$descri."',taille='".$taille."', WHERE pseudo=".$pseudo."";
    C'est une insertion ou une mise à jour ? Soit INSERT, soit UPDATE, mais pas les deux
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Par défaut
    c'est une mise a jour (modication des info deja mise )

    donc je viens de modifier en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $requete = " UPDATE profile SET pseudo='".$pseudo."', email='".$email."', id_reg='".$id_reg."', ville='".$ville."', sexe='".$sexe."', orient='".$orient."', poids='".$poids."', ageday='".$ageday."', agemonth='".$agemonth."', ageyear='".$ageyear."', descri='".$descri."',taille='".$taille."', WHERE pseudo=".$pseudo."";
    mais j'ai cette erreur :
    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 'WHERE pseudo=test' at line 1
    une petite idee svp ?

  4. #4
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $requete = " UPDATE profile SET pseudo='".$pseudo."', email='".$email."', id_reg='".$id_reg."', ville='".$ville."', sexe='".$sexe."', orient='".$orient."', poids='".$poids."', ageday='".$ageday."', agemonth='".$agemonth."', ageyear='".$ageyear."', descri='".$descri."',taille='".$taille."', WHERE pseudo='".$pseudo."'";
    Ton erreur vient du fait que tu consideres le pseudo comme un entier à la fin de ta requete.
    Tu t'exposes a des erreurs, tu autorises la modification du pseudo alors que le pseudo est l'identifiant de ta table ?

    Imagines que la personne veuille changer de pseudo, elle s'apellait X et veux s'appeler Y. Toi tu fais UPDATE profile SET pseudo=Y WHERE pseudo=Y au lieu de UPDATE profile SET pseudo=Y WHERE pseudo=X.
    Tu dois récupérer le pseudo qui est dans la base de données avant de faire ton UPDATE.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Par défaut
    oki merci
    mais

    je debute en PHP (ça fait 2 jour que j'ai "appris")
    mais en aussi peu de temp j'ai deja appris beaucoup

    donc svp pourrais-tu me montrer "comment faire"
    car on va dire j'apprends sur le tas
    mais je te remercie deja infiniment pour avoir bien developpé ton explication precedente
    au moins ça me permet de mieux comprendre
    cordialement nico

  6. #6
    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
    Est ce que l'identifiant de ta table profile est le pseudo ?

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

Discussions similaires

  1. Modifier une base de données dans un formulaire
    Par pascal1967 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/09/2014, 09h09
  2. Réponses: 1
    Dernier message: 21/05/2012, 17h57
  3. [XL-2003] Macro enregistrement de données par formulaire dans base
    Par Tomtom76 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/04/2009, 14h56
  4. Réponses: 4
    Dernier message: 29/11/2004, 16h51
  5. [C#] Modifier une base de donnée
    Par Macintoc dans le forum Accès aux données
    Réponses: 15
    Dernier message: 03/06/2004, 11h49

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