formulaire : pb avec select

Eléphant du PHP | 161 Messages

06 avr. 2005, 14:13

c'est ultra louche je comprend vraiment pas ce qui ya.
je voulais faire un formulaire de recherche tout con :
<form action="index.php" method="get">
	<input type="hidden" name="p" value="_phone_book"> 
	search by department :
	<SELECT name="department">
		<OPTION VALUE=""></OPTION>
<?php
		mysql_select_db($db_name,$cnx);
		$sql_d = 'SELECT id,department FROM department ORDER BY department.department';
		$req_d = mysql_query($sql_d) or die('Error SQL !<br>'.$sql_d.'<br>'.mysql_error());
   	while($data_d = mysql_fetch_assoc($req_d)) {
				echo '<OPTION VALUE="'.stripslashes($data_d['id']).'">'.displayFromDb ($data_d['department']).'</OPTION>';
		}
?>
	</SELECT>
	<input type="submit" value="search">
</form>
tout s'affiche bien pas d'erreur... mais quand je clique sur submit, il rafraichit la page et c'est tout... il met mm pas les variables dans l'url :|

apres j'ai fait un formulaire de test tout con :
	<form action="index.php" method="get">
	<input type="hidden" name="p" value="_phone_book"> 
	search by department : &nbsp&nbsp&nbsp
	<input type="text" name="department" size="25">
	<input type="submit" value="search">
	</form>
et la celui la marche :|

je comprend vraiment pas pouquoi ca marche pas avec un select ?

Eléphant du PHP | 413 Messages

06 avr. 2005, 15:23

peux-tu nous montrer la page html générée par ton code PHP ?
(la partie <form ..> ... </form> suffit)
peut-etre que ça donnera une idée de ce qui ne va pas.
--
Goeb

Eléphant du PHP | 161 Messages

06 avr. 2005, 17:25

merci d'avoir lu mon pb :)

Code : Tout sélectionner

<form action="index.php" method="get"> <input type="hidden" name="p" value="_phone_book"> search by department : <SELECT name="department"> <OPTION VALUE=""></OPTION> <OPTION VALUE="4">Admin/accounts</OPTION> <OPTION VALUE="3">It</OPTION> </SELECT> <input type="submit" value="search"> </form>
voila c'est une methode get toute simple mais... ca marche pas ca me fait juste un refresh du navigateur comme j'expliquait en haut :|

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

06 avr. 2005, 18:05

bizarre j'ai essayé ce code HTML et ici il fontionne, j'ai bien les variables dans l'url...

Eléphant du PHP | 161 Messages

06 avr. 2005, 18:21

arf la jcomprend pu rien... jviens d'essayer dans une page de test contenant juste le formulaire ca marche...

jvais devenir fou

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

06 avr. 2005, 18:27

question bête : tu cliques sur ton submit ou tu fais "entrée"

il me semble avoir déjà eu des formulaires qui ne se postaient pas en faisant entrée :roll:

Eléphant du PHP | 161 Messages

07 avr. 2005, 10:10

lol non jfais submit :)

Eléphant du PHP | 287 Messages

07 avr. 2005, 11:16

salut,

je sais pas si ça résoudra ton problème mais j'ai déja eu ce genre de souci.
chez moi ça venait d'une erreur de syntaxe en html.
donc si je te dit ça c'est parce qu'on ne voit pas ta page en entier, sinon ton bout de code est plus que régulier.

thierry

Eléphant du PHP | 161 Messages

07 avr. 2005, 12:43

hmmm je viens d'en trouver une encore mieux...
Ca marche impecable quand on est pas loggué si on est loggué ca chie...

Je comprend vraiment pas en plus j'ai 2 formulaires de recherche juste en dessous ou l'utilisateur saisi un nom ou un prenom a afficher qui marche niquel :/

Code : Tout sélectionner

<ul class="contentPF"> <li> <form action="index.php" method="get"> <input type="hidden" name="p" value="_phone_book"> search by department : <SELECT name="department"> <OPTION VALUE=""></OPTION> <OPTION VALUE="4">Admin/accounts</OPTION> <OPTION VALUE="3">It</OPTION> </SELECT> <input type="submit" value="search"> </form> </li> <li> <form action="index.php" method="get"> <input type="hidden" name="p" value="_phone_book"> search by surname : &nbsp&nbsp&nbsp <input type="text" name="name" label="name" size="25"> <input type="submit" value="search"> </form> </li> <li> <form action="index.php" method="get"> <input type="hidden" name="p" value="_phone_book"> search by firstname : &nbsp&nbsp <input type="text" name="firstname" label="name" size="25"> <input type="submit" value="search"> </form> </li> </ul>
Oki Thierry jvais bien matter le code html voir si ya pas une basile qui chie quelque part

{edit}
j'utilise juste un system de session pour gérer les logins.
l'utilisateur peut tout consulter mais doit se loguer pr pouvoir modifier quoi que ce soit. mais la on consulte juste des infos donc ca devrait pas jouer (normalement)
{edit}

Eléphant du PHP | 161 Messages

07 avr. 2005, 13:11

bon j'ai cerné le fichier ou se trouve le probleme mais j'ai absolument aucune idée de pourquoi il fait tout merder.
Normalement j'inclue se fichier quand la personne est logguer quand je l'inclue pas ca marche...

c'est un fichier que j'inclue dans un menu qui permet de dire si on est en conget ou si on est au taff et apres ca s'affiche dans l'annuaire :
<?php
mysql_select_db($db_name,$cnx);

if(isset($_POST["status"])){					 //if the user has used "ooo form" and has POST something
		if($_SESSION["time3"]==$_POST["time4"]){ //if it is not because of a refresh
				$status = beforeInsert ($_POST["status"]);			
				if(isset($_POST["reason"])) {	 //if the user has typed a reason
						$reason = beforeInsert ($_POST["reason"]);
						$sql_status_up = "UPDATE people SET status='".$status."', reason='".$reason."' WHERE login='".$_SESSION['login']."'"; //add it to the database and change status to ooo
				}
				else {
						$sql_status_up = "UPDATE people SET status='".$status."', reason='' WHERE login='".$_SESSION['login']."'";  //else only change to ooo
				}
		$req_status_up = mysql_query($sql_status_up, $cnx) or $error= mysql_error();//add ooo status and the reason why he's "ooo". 
		}
}
$_SESSION["time3"] = mktime();

$sql_status = "SELECT status,reason FROM people WHERE login='".$_SESSION['login']."'"; //select the status and if his out why
$req_status = mysql_query($sql_status) or die('Erreur SQL !<br>'.$sql_status.'<br>'.mysql_error()); 
$result = mysql_fetch_assoc($req_status);
if($result['status'] == 'in') { // print your own status
			$ooo = '    <li><input type="radio" name="status" value="ooo">Change to OOO<img src="files/ooo.jpg" width="15" height="18" alt="Out Of the Office"></li><li><TEXTAREA rows="2" cols="16" name="reason">I\'m on holiday back on...</TEXTAREA></li><li><input type="submit" value="confirm"></li>';
} 
else {
			$ooo = '    <li><input type="radio" name="status" value="in">Change to in</li><li><input type="submit" value="confirm"></li>';
}
?>
	<ul class="menu">
	<form method="post" action="<?php getUrl();?>">	
	<input type="hidden" name="time4" value="<?php echo mktime() ; ?>">
	<li>You're <?php echo $result['status']?> <img src="files/<?php echo ''.$result['status'].'.jpg';?>" width="15" height="18" alt="status in/ooo"></li>
	<?php echo $ooo;?>
	</ul>
quelqu'un aurait une idée ?

Eléphant du PHP | 161 Messages

07 avr. 2005, 13:30

amis de la connerie bonjour...
thierry t'avais raison :
oublié de fermer la balise form dans ce fichier la..... aie dur la :)
merci tml pr le coup de main :)