Problème avec un update lié à un onclick

Problème avec un update lié à un onclick - PHP - Programmation

Marsh Posté le 01-08-2008 à 15:31:10    

Bonjour à tous,
 
j'ai un problème avec mon update dans ma table.
Je voudrais que l'on vérifie si l'id_membre n'est déjà pas présent dans ma table avant qu'il ne s'enregistre. La condition fonctionne, mais qd c'est le cas, j'ai fait afficher deux boutons: oui (pour envoyer malgré tout) et non (pour revenir en arrière).
Le non, ca va, mais pas le oui. c'est mon onclick qui ne va pas correctement.
que faire? dois-je arriver sur une autre page qd on clique sur oui?
 

Code :
  1. // ON VERIFIE SI CE PSEUDO EXISTE DEJA
  2.   $requete=mysql_query("select * from acces where idmembre=\"$idmembre\"" ) or die(mysql_error());
  3.   $num=mysql_num_rows($requete);
  4.   if($num!=0)
  5.    {
  6.    echo "<p class=\"pave_main\" align=\"center\">Ce membre est déjà enregistré, veuillez contrôler cet enregistrement.</p>";
  7.    echo "<p class=\"pave_main\" align=\"center\">Voulez-vous remplacer l'ancien enregistrement avec ces nouvelles données?</p><br>";
  8.    echo '<input name="Bouton" type="button" value="Oui" onclick=\"mysql_query("insert into acces values ('','$idmembre','','$pseudo','$passe','$role','')" )\"> <input name=\"Bouton\" type=\"button\" value=\"Non\" onclick=\"javascript:window.history.back()\">';
  9.    }

Reply

Marsh Posté le 01-08-2008 à 15:31:10   

Reply

Marsh Posté le 01-08-2008 à 16:02:26    

là, c'est clair que ça ne va pas marcher. Il faut que sur le onclick, tu envoies le $idmembre sur une autre page, qui s'executera coté serveur, et qui pourrait donc mettre à jour ta table.


Message édité par Marty_McFly le 01-08-2008 à 16:05:35

---------------
arg(z) = pi /2 donc z = i, moi je prends pas
Reply

Marsh Posté le 01-08-2008 à 16:19:46    

Tout à fait d'accord, tu ne peux faire autrement, tu postes tes variables sur une page (pourquoi pas dans une iframe toute petite) et sur cette page tu executes ton UPDATE


---------------
http://www.ypikay.com
Reply

Marsh Posté le 06-08-2008 à 10:15:22    

Merci pour vos conseils. J'ai donc créé une nouvelle page pour l'envoi, mais comme ceci, cela envoie des vides dans la table. Comment transférer correctement les données du formulaire encore une fois dans cette page suivante? Je pensais pouvoir le faire avec GET, mais non...

Code :
  1. <?
  2. include("../../../connexion.php" ); 
  3. $idmembre=$_POST['id_membre']; 
  4. $pseudo=$_POST['pseudo']; 
  5. $passe=$_POST['passe']; 
  6. $role=$_POST['role']; 
  7.   // ON VERIFIE SI CE PSEUDO EXISTE DEJA
  8.   $requete=mysql_query("select * from acces where idmembre=\"$idmembre\"" ) or die(mysql_error());
  9.   $num=mysql_num_rows($requete);
  10.   if($num!=0)
  11.    {
  12.    echo "<p class=\"pave_main\" align=\"center\">Ce membre est déjà enregistré, veuillez contrôler cet enregistrement.</p>";
  13.    echo "<p class=\"pave_main\" align=\"center\">Voulez-vous remplacer l'ancien enregistrement avec ces nouvelles données?</p><br>";
  14.    echo "<p class=\"pave_main\" align=\"center\"><input name=\"Bouton\" type=\"button\" value=\"Oui\" onclick=\"location.href='insert_acces2.php?id=$id'\"> <input name=\"Bouton\" type=\"button\" value=\"Non\" onclick=\"javascript:window.history.back()\"></p>";
  15.    }
  16. ?>


Et voici la deuxième page doit envoyer si "oui":

Code :
  1. ?
  2. include("../../../connexion.php" ); 
  3. $idmembre=$_GET['$idmembre']; 
  4. $pseudo=$_GET['$pseudo']; 
  5. $passe=$_GET['$passe']; 
  6. $role=$_GET['$role']; 
  7. mysql_query("insert into acces values ('','$idmembre','','$pseudo','$passe','$role','')" ); 
  8. echo "<p align=\"center\" class=\"pave_main\">Le membre a bien été enregistré.<br><br><a href=\"gestion_acces.php?id=$id \" class=\"lien4\">Cliquez <u>ici</u> pour retourner à l'enregistrement d'un nouveau membre.</a></p>"; 
  9. ?>


Message édité par bingojm le 06-08-2008 à 10:16:18
Reply

Marsh Posté le 06-08-2008 à 11:46:38    

Code :
  1. $idmembre=$_GET['$idmembre']; 
  2. $pseudo=$_GET['$pseudo']; 
  3. $passe=$_GET['$passe']; 
  4. $role=$_GET['$role'];


Tu vois pas une erreur ? (ou plutot 4)

Reply

Marsh Posté le 06-08-2008 à 11:50:16    

spa faux :)
indice: c'est une question d'argent :)


---------------
arg(z) = pi /2 donc z = i, moi je prends pas
Reply

Marsh Posté le 06-08-2008 à 12:06:20    

Alisteroid a écrit :

Code :
  1. $idmembre=$_GET['$idmembre']; 
  2. $pseudo=$_GET['$pseudo']; 
  3. $passe=$_GET['$passe']; 
  4. $role=$_GET['$role'];


Tu vois pas une erreur ? (ou plutot 4)


Code :
  1. $idmembre=$_GET['id_membre']; 
  2. $pseudo=$_GET['pseudo']; 
  3. $passe=$_GET['passe']; 
  4. $role=$_GET['role'];


C'est bien ca?  
En tous cas, meme comme ca ca ne va pas :(

Reply

Marsh Posté le 06-08-2008 à 13:46:07    

En même temps tu passes que l'id dans l'url !

 
Code :
  1. onclick=\"location.href='insert_acces2.php?id=$id'\"
 

Et dans ton script tu cherches à récuperer

Code :
  1. $idmembre=$_GET['id_membre'];
  2. $pseudo=$_GET['pseudo'];
  3. $passe=$_GET['passe'];
  4. $role=$_GET['role'];
 

Déja tu envoies "id" en $_GET et tu cherches id_membre dans ton script ...
Et les 3 autres ne sont pas envoyés, donc tu risques pas de les recuperer


Message édité par Alisteroid le 06-08-2008 à 13:46:51
Reply

Marsh Posté le 06-08-2008 à 14:07:13    

non en fait, id c'est pour vérifier que la personne est bien enregistrée. Cela dit, tu me fais penser à y rajouter les valeurs comme ceci:

Code :
  1. onclick=\"location.href='insert_acces2.php?id=$id&&$idmembre&&$pseudo&&$passe&&$role'\"


mais comment dois-je faire pour que celles-ci puissent s'enregistrer dans la table.
je n'y arrive pas...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed