Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
753 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Formulaire de suppresion

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Formulaire de suppresion

n°1326979
Eggystyle
Posté le 16-03-2006 à 21:03:44  profilanswer
 

Bonjour,
 
Voilà je suis en train de faire un formulaire de suppresion d'un utilisateur d'une base de données seulement j'ai un problème. Apres avoir séléctionné l'utilisateur dans une liste lorsque j'appuie sur le bouton pour le supprimer, je rentre dans une boucle sans fin (le navigateur cherche ..., il n'affiche pas mon "chatcul" ) et je ne vois vraiement pas ou cela peut clocher. Voici le code que j'ai réalisé j'espère que vous pourrez m'éclairer :)
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Document sans titre</title>
  6. </head>
  7. <body>
  8. <form name="update" method="post" action=<?=$_SERVER['PHP_SELF']?>>
  9. <select name="nomAbonne">
  10. <?
  11. var_dump($_POST);
  12. require_once("classe_bdd.php" );
  13. require_once("classe_abonne.php" );
  14. $connec= New BDD();
  15. $connec->connex();
  16. $i=0;
  17. if (isset($_POST['nomAbonne']))
  18. {
  19.  echo ("chatcul" );
  20.  while (($_POST['nomAbonne'])!=$array[$i]->id) {
  21.   $i++;
  22.  }
  23.  $array[$i]->supprimer($_POST['nomAbonne']);
  24.  echo ("L'abonné à été supprimé de la BDD" );
  25. }
  26. else
  27. {
  28.                //Affichage de la liste des abonnés
  29.  $query=mysql_query('SELECT * FROM ABONNE');
  30.  while ($rows=mysql_fetch_row($query))
  31.  {
  32.    $array[$i]= New abonne($rows[1]);
  33.    echo "<option value=".$array[$i]->id.">".$array[$i]->pseudo."</option>";
  34.    $i++;
  35.  }
  36. }
  37. ?>
  38.   </select>
  39.   <input type="hidden" value<?=$array?> />
  40.   <input value="Envoyer" name="Envoyer" type="submit" />
  41.  
  42. </form>
  43. </body>
  44. </html>


 
Merci d'avance.


Message édité par Eggystyle le 16-03-2006 à 21:07:56
mood
Publicité
Posté le 16-03-2006 à 21:03:44  profilanswer
 

n°1326980
fabs2b
Posté le 16-03-2006 à 21:09:11  profilanswer
 

Drole facon de programmer, je comprends rien  :pt1cable:

n°1326982
benamoubea​ch
tivuplai
Posté le 16-03-2006 à 21:11:52  profilanswer
 

mdrr le coup du chatcul
sinon pour ton code, c'est super bourrin j'ai du mal a tout saisir a la premiere lecture


Message édité par benamoubeach le 16-03-2006 à 21:13:04
n°1326997
Eggystyle
Posté le 16-03-2006 à 21:39:49  profilanswer
 

beh dans la premiere partie du code  
 

Code :
  1. $query=mysql_query('SELECT * FROM ABONNE');
  2.         while ($rows=mysql_fetch_row($query))
  3.         {
  4.              $array[$i]= New abonne($rows[1]);
  5.              echo "<option value=".$array[$i]->id.">".$array[$i]->pseudo."</option>";
  6.            $i++;


 
Je rempli un tableau avec les différents abonnées (le constructeur demande le pseudo donc $rows[1] de ma requête) ensuite j'affiche comme différentes valeur du SELECT  les pseudos des abonnées mais la valeur envoyé c'est leur ID ($_POST['nomAbonne'] c'est l'ID en fait)  car c'est plus propre pour la suppresion. Et apres j'aimerais qu'une fois le formulaire envoyé (donc qd isset($_POST['nomAbonne']) il me retrouve donc dans mes différents abonnés qui se trouvent dans le tableau lequel je dois supprimer.

n°1327226
Woutcha
Posté le 17-03-2006 à 10:47:47  profilanswer
 

Code :
  1. if (isset($_POST['nomAbonne']))
  2.     {
  3.         echo ("chatcul" );
  4.         while (($_POST['nomAbonne'])!=$array[$i]->id) {
  5.             $i++;
  6.         }
  7.         $array[$i]->supprimer($_POST['nomAbonne']);
  8.         echo ("L'abonné à été supprimé de la BDD" );
  9. }


 
Ton pb est ici: lorsque tu arrives dans cette section du code a la suite d'un post, ton tableau $array n'est pas initialise.
"while (($_POST['nomAbonne'])!=$array[$i]->id)" te donne donc une belle boucle infinie.
 
pourquoi ne pas faire tt simplement un truc du genre (exemple a completer hein):
 

Code :
  1. if (isset($_POST['nomAbonne']) && !is_null($_POST['nomAbonne'])) {
  2.      mysql_query("delete from ABONNE where ABONNE.id = ".$_POST['nomAbonne']);
  3. }


 
Si vraiment tu veux utiliser des objets, ton code devrait ressembler a un truc du genre :
 

Code :
  1. if (isset($_POST['nomAbonne']) && !is_null($_POST['nomAbonne'])) {
  2.      $un_abonne = New abonne($_POST['nomAbonne']);
  3.      $un_abonne->supprimer();
  4.      unset($un_abonne);
  5. }


 
avec une logique interne a ton objet qui verifie l'existance dans la base de l'abonne, etc...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Formulaire de suppresion

 

Sujets relatifs
nuSoap et Php[HTML] [PHP] problème d'affichage dans une frame
Problème lien PHP[PHP] erreur unexpected $
[RESOLU] Recuperer des champs de formulaire "inconnus"Infos sur mise en forme PHP
problème avec la méthode post d'un formulairePHP/JSP
Résultat fonction PHP différente[PHP] Création de tableau ac colonne
Plus de sujets relatifs à : [PHP] Formulaire de suppresion


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR