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 :

Requête de mise à jour [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Par défaut Requête de mise à jour
    Bonjour,

    Je dois modifier les informations d'un user ajouté dans ma BD.

    Mon code me parait correcte, ma requete l'est aussi mais la maj ne s'efféctue pas même si j'ai le msg comme quoi elle a été faite...

    Voici mon code pour le bouton modifier.

    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
    if(isset($_POST['Modifier']))
    {
    	mysql_connect("localhost","root","");
    	mysql_select_db("cour");
    	$id=$_GET['id'];
    	echo $id;
    	$test=mysql_query('select count(*) as nombre from user WHERE id=\'' . $_GET['id'] . '\'') or die (mysql_error());//Vérifier le nbr d'entrées
    	$res=mysql_fetch_assoc($test);
    	if($res['nombre'] != 0) // Je vérifie si la BD est vide avant d'afficher
    	{
    		$Nom=mysql_real_escape_string(htmlspecialchars($_POST['Nom']));
    		$Prenom=mysql_real_escape_string(htmlspecialchars($_POST['Prenom']));
    		$Date=mysql_real_escape_string(htmlspecialchars($_POST['Date']));
    		$Tel=mysql_real_escape_string(htmlspecialchars($_POST['Tel']));	
    		$Mail=mysql_real_escape_string(htmlspecialchars($_POST['Mail']));
    		$Sexe=mysql_real_escape_string(htmlspecialchars($_POST['Sexe']));
    		mysql_query("UPDATE user SET Nom='" .$Nom. "',Prenom='" .$Prenom. "',Mail='" .$Mail. "',Sexe='" .$Sexe. "',Date='" .$Date. "',Tel='" .$Tel. "' where id='" . $id . "'") or die(mysql_error());
    		echo $id;
    		echo "<script language=javascript>alert('Utilisateur Modifié.')</script>";
     
    	}
    	else
    	{
    		echo "<script language=javascript>alert('Aucun utilisateur n\'est enregistré !')</script>";
    	}
     
    }

  2. #2
    Membre expérimenté Avatar de Korri
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 158
    Par défaut
    Bonsoir,
    Essaye :
    • De stocker ta requête dans une chaine et de l'afficher (on a souvent des surprises).
    • De regarder la valeur de mysql_affected_row()
    • Surtout la première en fait...


    Il faut apprendre à débuger, on n'est pas la pour le faire à ta place.

    Si le probleme persiste et que tu ne voie aucune erreur, montre nous ce que ça donne et on se feras un plaisir de t'aider.

    EDIT : ATTENTION :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $id=$_GET['id'];//Utiliser $id dans une requête est dangereux
     
    //essaye de remplacer par :
    $id = intval($_GET['id']);
    //Comme ça si $_GET['id'] contient n'importe quoi il seras convertit en 0 et donc utilisateur inexistant.
    ?>

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Par défaut
    Quand je fais un var_dump du GET id ça me donne NULL comme quoi elle existe pas !

    J'ai déjà debuger avec des echo et surtout le GET, qui apparemment ne fonctionne pas...

  4. #4
    Membre confirmé Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Par défaut
    Petite question...

    Pourquoi passes tu ta variable 'id' en GET et non par POST ?

    Comme le dit Kori c'est pas top, si ça ne te fait pas recoder toute l'appli ça serait plus sûr.

    De plus pour qu'elle soit passé en GET ta variable 'id' doit être passée dans l'URL du paramètre action="http://www.monsite.com/monfic.php?id=TRUC" de ton formulaire et ce même si ton formulaire est envoyé en method="POST".

    Enfin si je me trompe pas.

  5. #5
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Par défaut
    Problème résolu. J'ai trouvé mon erreur

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 43
    Par défaut
    bonjour,

    si le formulaire est en POST
    il faut que $id=$_GET['id'];
    soit modifié en $id=$_POST['id'];

    bonne journée

    PS : si le formulaire est en POST il n'y a rien (de plus ie ?attribut=valeur&.... ) dans l'URL

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

Discussions similaires

  1. Requête de mise à jour
    Par Daniel MOREAU dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 04/09/2006, 14h18
  2. Problème avec une requête de mise à jour
    Par Le Pharaon dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 11/07/2006, 12h16
  3. Requête de mise à jour
    Par Deejoh dans le forum Access
    Réponses: 4
    Dernier message: 24/05/2006, 12h02
  4. Réponses: 2
    Dernier message: 10/03/2006, 13h55
  5. Réponses: 6
    Dernier message: 29/11/2005, 19h36

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