Mise à jour Table phpMyAdmin depuis un formulaire html sélectionnant l'id

escabot Messages postés 7 Date d'inscription samedi 19 décembre 2009 Statut Membre Dernière intervention 18 juin 2010 - 18 juin 2010 à 16:48
escabot Messages postés 7 Date d'inscription samedi 19 décembre 2009 Statut Membre Dernière intervention 18 juin 2010 - 18 juin 2010 à 16:52
Bonjour,

J'essaie de créer un formulaire me permettant de mettre à jour les coordonnées des membres de mon site.
J'ai beau simplifier le code comme ci-dessous, je ne parviens pas à trouver pourquoi ça ne fonctionne pas.
Il fonctionne si je force le choix de l'id comme suit : (...) WHERE memb_id="2"';
mais pas avec la requête (...) WHERE memb_id=" . $_GET['memb_id'];

Merci d'avance pour votre aide.
********************************************************************
J'ai créé la table "table_membres" dans phpMyAdmin comme suit :
requête SQL:
CREATE TABLE table_membres (
memb_id INT (11) not null AUTO_INCREMENT,
memb_name VARCHAR (35) not null ,
memb_address VARCHAR (70) not null ,
PRIMARY KEY (memb_id)
)
********************************************************************
Ci-dessous, mon formulaire "form.php" qui va mettre à jour la table :

<?php

// Connexion à la base de données
include_once './includes/db-connect.php';

// Sélection de la table "table_membres" et appel des champs souhaités dans la bdd mysql
// on prépare une requête permettant de sélectionner l'id du membre
$sql = 'SELECT * FROM table_membres WHERE memb_id="'.mysql_real_escape_string($_GET['id']).'"';

// on lance la requête
$select_memb = mysql_query($sql) ;
$ent = mysql_fetch_array($select_memb);

$nom = $ent['memb_name'];
$adresse = $ent['memb_address'];

?>
<html>
<form method="POST" action="update-sql.php?id=' . $_GET['memb_id'] .'">
<center>
[update.php?id=1 membre 1]

[update.php?id=2 membre 2]



" maxlength="35">

" maxlength="70">



</center>
</form>
</html>
************************************************************************
Ci-dessous, mon script PHP "update-sql.php" auquel fait référence le POST de mon formulaire :

<?php
// On commence par récupérer les champs
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";

if(isset($_POST['adresse'])) $adresse=$_POST['adresse'];
else $adresse="";

// On vérifie si les champs sont vides
if(empty($nom) OR empty($adresse))
{
echo 'Attention, aucun champ ne peut rester vide !';
}

// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base de données
include_once './includes/db-connect.php';

// on met à jour la requête sql
if ( isset($_GET['memb_id']))
{
$sql = "UPDATE table_membres SET memb_name='$nom', memb_address='$adresse' WHERE memb_id=" . $_GET['memb_id'];

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());

// on affiche le résultat pour le visiteur
echo 'Vos informations ont été mises à jour.';

mysql_close(); // on ferme la connexion
}
}
?>
**********************************************************************

1 réponse

escabot Messages postés 7 Date d'inscription samedi 19 décembre 2009 Statut Membre Dernière intervention 18 juin 2010
18 juin 2010 à 16:52
ERRATUM :
Dans le formulaire html il faut lire :
[form.php?id=1 membre 1]

[form.php?id=2 membre 2]



et non :
[update.php?id=1 membre 1]

[update.php?id=2 membre 2]
0
Rejoignez-nous