pb de formulaire

pb de formulaire - PHP - Programmation

Marsh Posté le 14-02-2003 à 14:56:32    

Bonjour, j'ai un problème peut être simpliste mais très bloquant pour moi
Pour un annuaire, je cherche à mettre à jour ma table avec l'id de la
catégorie (cid) et de la sous catégorie (sid)
 
Donc je fait  une boucle :
<option value=\"$cid-$sid\">$categorie / $souscategorie</option>
 
Aucun problème pour l'affichage, ni pour l'insertion des autres valeurs,
mais pas d'insertion de $cid ni de $sid
 
j'ai bien cherché avant de poster mais je bloque vraiment
 
Toute aide bienvenue ;)


---------------
annuaire des jeux freeware et open source  
Reply

Marsh Posté le 14-02-2003 à 14:56:32   

Reply

Marsh Posté le 14-02-2003 à 15:49:10    

<select name="XXX">
<option value="666">666</option>
<option value="667">667</option>
</select>
 
tu trouves la valeur choisie ds $_POST["XXX"]

Reply

Marsh Posté le 14-02-2003 à 16:02:49    

nope ! je cherche à passer 2 valeur dans le même select, donc
<option value=\"$variable1-$variable2\">


---------------
annuaire des jeux freeware et open source  
Reply

Marsh Posté le 14-02-2003 à 16:37:13    

et alors, ca change rien ... ta double valeur est toujours la ou jai dit... a toi de la traiter pr recuperer les deux valeurs via explode

Reply

Marsh Posté le 16-02-2003 à 10:52:22    

right, en fait il est bien là le problème ...
 
Je n'arrive toujours pas à récupérer mes variable, est-ce que la syntaxe est bonne ?
 

Code :
  1. $catt = explode("-", $sid,$cid);
  2. $sid=$catt[0];
  3. $cid=$catt[1];


 
Je n'ai pas de message d'erreur ...
 
Merci


---------------
annuaire des jeux freeware et open source  
Reply

Marsh Posté le 16-02-2003 à 12:26:33    

on va la refaire ...
<?
$var1 = 666;
$var2 = 667;
 
?>
 
<select name="XXX">
<option value="<?=$var1."-".$var2?>">666</option>
<option value="<?=$var2."-".$var1?>">667</option>
</select>
tu submit et tu trouves la valeur choisie ds $_POST["XXX"], peut importe ce que tu as utilisé comme variables pr créer cette valeur !!!
 
Dautre part, http://www.php.net/manual/fr/function.explode.php
array explode ( string separator, string string [, int limit])
 
ce qui correspond pas du tout a ce que tu fais

Code :
  1. $catt = explode("-", $_POST["select"]);
  2. $sid=$catt[0]; 
  3. $cid=$catt[1];

 

Reply

Marsh Posté le 16-02-2003 à 22:59:21    

Je crois que mon cerveau fume ...
Merci pour ton aide Beleg, mais je n'arrive pas à m'en sortir avec cette fonction explode
Ci-joint mon script si qq se sent motivé
 
Vous avez bien comprit que je suis grand débutant  :D  
 
Ma table

Code :
  1. id int(11) NOT NULL auto_increment,
  2.   cid int(11) NOT NULL default '0',
  3.   sid varchar(255) NOT NULL default '',
  4.   nomsite varchar(255) NOT NULL default '',
  5.   urlsite varchar(255) NOT NULL default '',
  6.   description varchar(255) NOT NULL default '',
  7.   sortie int(11) NOT NULL default '0',
  8.   date int(10) NOT NULL default '0',
  9.   PRIMARY KEY  (id)


 
Mon formulaire (add.php)
 

Code :
  1. <form name="form1" method="post" action="ajout.php">
  2.   <p> Nom du site<br>
  3.     <input name="nomsite" type="text" id="nomsite">
  4.     <br>
  5.   </p>
  6.   <p>Url du site<br>
  7.     <input name="urlsite" type="text" id="urlsite" value="http://">
  8.     <br>
  9.   </p>
  10.   <p>Description<br>
  11.     <textarea name="description" id="description"></textarea>
  12.     <br>
  13.     <br>
  14. <select name=\"cat\">
  15.     <?
  16. require ("connect.php" );
  17. $req = mysql_query("SELECT cid,titre from cat" ) or die ("erreur requete" );
  18. while(list($cid, $titre) = mysql_fetch_row($req))
  19. {
  20. echo "<option value=\"$cid\">$titre</option>";
  21. $req2 = mysql_query("SELECT sid,sdescription from souscat where cid=$cid" ) or die ("erreur requete" );
  22. while(list($sid, $sdescription) = mysql_fetch_row($req2))
  23. {
  24. echo "<option value=\$cid-$sid\">$titre / $sdescription</option>";
  25. }
  26. }
  27. mysql_close();
  28. ?>


 
Le traitement (ajout.php)
 

Code :
  1. <?
  2. require ("connect.php" );
  3. // verification de qq champs  
  4. if (!empty($nomsite) && !empty($urlsite) && !empty($description)) {     
  5. // the date
  6. $date = time(); 
  7.  
  8. // j'essaye de récupérer $sid et $cid   
  9. // the requête   
  10. $query = "INSERT INTO liens (date,nomsite,urlsite,description,cid,sid) VALUES('$date','$nomsite','$urlsite','$description','$cid','$sid')";
  11.    
  12. // Execute la requete d'insertion du message   
  13. $result = mysql_query($query) or die('Erreur SQL : '.mysql_error()); 
  14. } else
  15. // erreur  
  16. echo '<script language="javascript">alert(\'remplir les champs obligatoires.\');location.href='.$HTTP_REFERER.';</script>'; 
  17. echo '<noscript>'remplir les champs obligatoires. <a href="'.$HTTP_REFERER.'">retour</a></noscript>'; 
  18. header("Location: add.php" );
  19. ?>


Message édité par frogg le 16-02-2003 à 23:00:53

---------------
annuaire des jeux freeware et open source  
Reply

Sujets relatifs:

Leave a Replay

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