Page 1 sur 1

PB formulaire (php et sql)

Posté : 28 oct. 2005, 17:56
par Gyzmo45
Bonjours, je suis entrian de créer un site et je rencontre un problème!!
Je souhaiterai lorsqu'on sélectionne un Pseudo de la base de donné dans la liste déroulante
que cela affiche le nom, prenom, etc de l'utilisateur
mais lorsque j'éxectute le formulaire par le script (sa marche) je me retrouve enfermé dans le
fichier adminrecherche.php

Je ne sais pas si j'ai utiliser la meilleur méthode

voilà le code de ma page, si vous pouviez m'aidez a résoudre mon problème


Code : Tout sélectionner

<SCRIPT LANGUAGE="JavaScript"> function envoie() { document.PseudoFind.submit; } </SCRIPT> <? include("conf.php"); // connexion à MySQL mysql_connect ($serveur,$login,$mdp) or die ('ERREUR '.mysql_error()); // sélection de la base de données mysql_select_db ($nom_base) or die ('ERREUR '.mysql_error()); $requet = "SELECT * FROM Utilisateur"; $result = mysql_query($requet); if($result) { ?> <table border="3" bordercolor="FFFFFF" align=center width=100% height=100%> <tr> <th>Pseudo</th><th>Nom</th><th>Prenom</th><th>Email</th><th>Niveau</th> </tr> <tr> <td> <form name="PseudoFind" method=post action="adminrecherche.php"> <select name="Pseudo"> <? while($ligne = mysql_fetch_array($result)) { $Pseudo = $ligne['Speudo']; ?> <option onClick="envoie()"><?echo $Pseudo; } ?> </form> </td> <td><?echo $Nom;?></td><td><?echo $Prenom;?></td><td><?echo $Email;?></td><td><?echo $Level;?></td> </tr> </table> <? } ?>
le formailaire renvoie les infos a la page adminrecherche.php

Code : Tout sélectionner

<? $Speudo=$_POST['Pseudo']; include("conf.php"); // connexion à MySQL mysql_connect ($serveur,$login,$mdp) or die ('ERREUR '.mysql_error()); // sélection de la base de données mysql_select_db ($nom_base) or die ('ERREUR '.mysql_error()); $requet=mysql_query("SELECT * FROM Utilisateur where Speudo='$Speudo'"); $donnee=mysql_fetch_array($requet); $Nom=$donnee['Nom']; $Prenom=$donnee['Prenom']; $Email=$donnee['Email']; $Level=$donnee['Level']; ?>
Merci d'Avance

Re: PB formulaire (php et sql)

Posté : 28 oct. 2005, 18:44
par Truc
je me retrouve enfermé dans le
fichier adminrecherche.php
Logique tu n'a pas de redirection sous forme de lien ou autre..

Si tu veut réafficher le formulaire tu peut faire le traitement sur la meme page...
A la fin de ton formulaire (1er fichier) tu fait:
if(isset($_POST['Pseudo']))// test l'existence de la variable POST et donc la validation du formulaire
 include("adminrecherche.php ");
sans oublier de changer l'action du formualire, traitement sur la meme page :wink:

Comme ça tu aura ton formulaire et les données du membre en dessous si un choix a été fait.

Posté : 28 oct. 2005, 19:02
par Invité
Merci de ta réponse,
je pense bien avoir compris le principe mais sa ne marche pas
car rien ne ce passe quand sélection un Pseudo de la list déroulante

Voilà se que j'ai taper
<SCRIPT LANGUAGE="JavaScript">
	function envoie()
		{
		document.PseudoFind.submit;		
		}
		</SCRIPT>
<?
include("conf.php");
	// connexion à MySQL
	mysql_connect ($serveur,$login,$mdp) or die ('ERREUR '.mysql_error());
	// sélection de la base de données
	mysql_select_db ($nom_base) or die ('ERREUR '.mysql_error());
	
	$requet = "SELECT * FROM Utilisateur";
	$result = mysql_query($requet);
	if($result)
	{
	?>
	<table border="3" bordercolor="FFFFFF" align=center width=100% height=100%>
	<tr>
	<th>Pseudo</th><th>Nom</th><th>Prenom</th><th>Email</th><th>Niveau</th>
	</tr>
	<tr>
		<td>
		<form name="PseudoFind" method=post action="admin.php">
		<select name="Pseudo">
		<?
		while($ligne = mysql_fetch_array($result)) 
		{
		$Pseudo = $ligne['Speudo'];
		?>
		<option onClick="envoie()"><?echo $Pseudo;
		}
		?>
	
		</form>
		</td>
		<?
		// test l'existence de la variable POST et donc la validation du formulaire
		if(isset($_POST['Pseudo']))
		{
		include("adminrecherche.php");
		?>
		<td><?echo $Nom;?></td><td><?echo $Prenom;?></td><td><?echo $Email;?></td><td><?echo $Level;?></td>
		<?
		}
		?>
	</tr>
	</table>
	<?
	}
	?>

Posté : 28 oct. 2005, 19:13
par Truc
avant tout, ajoute des parenthèses a submit:
document.PseudoFind.submit();
éventuellement dans "adminrecherche.php " tu peut faire un echo $_POST['Pseudo']; pour tester le passage de variable (ok en principe)

Posté : 28 oct. 2005, 19:24
par gyzmo45
C'est tout simplement génial!!!
Exactment ce que je voulais

Merci beaucoup c'était bien les () qui manquait
il est si réticent se javascript lol

Encors merci et à bientot(si autre problème)