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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Points : 17
    Points
    17
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Points : 17
    Points
    17
    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 : 37
    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
    Points : 3 972
    Points
    3 972
    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 à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Points : 17
    Points
    17
    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 : 37
    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
    Points : 3 972
    Points
    3 972
    Par défaut
    Est ce que l'identifiant de ta table profile est le pseudo ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    oui la table a deja le pseudo dedans
    car "l'utilisateur" a deja edité son profil
    et maintenant il veut le modifier
    exemple :
    il cree son profil
    pseudo: test
    sexe: homme
    descri : salut c'est moi test blabla
    ça c'est enregistré dans la bdd (index premiere de la table pseudo )

    puis il decide de modifier son profil en :
    pseudo : toto
    sexe: homme
    descri : salut moi c'est toto blabla

    donc voila un exemple en esperent que ça te renseigne assez sur ma demande

  8. #8
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    As-tu une clé primaire dans ta table ? par exemple un id auto-incrémenté ?

  9. #9
    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 : 37
    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
    Points : 3 972
    Points
    3 972
    Par défaut
    Oui il suffit d'avoir un identifiant auto incrémenté et tu pourras mettre à jour le pseudo des gens facilement.
    Par contre si l'identification se fait a partir du pseudo, je conseille quand meme d'avoir le pseudo comme clef primaire pour t'éviter de gérer les doublons.

    Donc a la mise a jour d'un profil, penses a mettre a jour le profil par rapport à son pseudo non-modifié !

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    oki merci
    et ma clé et pseudo
    donc je vais faire plus simple je vais faire un bouton à cliquer avant de modifier et que ça suprime leur profil et comme ça il le recree direct

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Ce n'est pas en gérant ta base de données n'importe comment que tu apprendras.

    car on va dire japprend sur le ta
    Un minimum de lecture est indispensable pour faire un travail correct.
    Ce que tu fais pour le moment ce n'est pas apprendre, c'est faire n'importe quoi jusqu'à ce qu'un membre du forum te propose un code correct.
    Tu n'apprendras rien de cette manière

    Et si, en plus tu pouvais faire un effort pour écrire correctement, tes posts seraient plus agréables à lire.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    désoler pour mon écriture mais le français et moi sa fait 2 lol
    (défaut d'avoir grandi dans un autre pays )
    mais je vais essayer de faire de mon mieux promis

    et pour le
    "car on va dire j apprend sur le ta "

    j'ai lu et appris en ligne vu que l'on me l'a conseillé
    mais voila toutes les questions que je pose ici
    c'est simplement que sur les tutos du site il nous explique
    " les bases "
    et je ne trouve pas mes reponses a mes problemes
    cordialement
    nico
    et encore désolé pour mon orthographe

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Je pense m'être mal exprimé
    Il n'y a pas de problème à apprendre en ligne en suivant des tutoriaux (encore faut-il choisir les bons)

    Mais recopier le code d'un site/forum et le faire "mettre au point" par les membres d'un autre site/forum ne t'apprendra pas grand-chose.
    Il faut apprendre les bases des langages et des syntaxes avant de passer au code (à la rigueur en même temps).
    Si tu ne sais pas un minimum de la syntaxe MySQL (SQL) pour écrire dans une base de données, tu rencontres le problème que tu avais avec "INSERT UPDATE" par exemple.

    Jette un oeil sur les ressources DVP http://php.developpez.com/

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    je te remercie pour ton lien je ne demande que ça, aprendre de plus en plus alors si vous avez des liens je suis preneur
    je vais aller voir ton lien guardian
    et je te remercie et idem si tu as des astuce (lien) je prend aussi
    bonne soirée

+ 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