Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/02/2008, 13h38   #1
Membre à l'essai
 
Inscription : juillet 2005
Messages : 127
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 127
Points : 24
Points : 24
Par défaut problème avec un formulaire : champ non défini

Salut à tous !

J'ai un petit problème avec un formulaire qui sert de moteur de recherche. J'ai un champ texte et un bouton 'Rechercher'. Le problème, c'est que mon champ texte n'est pas défini, car quand je fais un test avec var_dump, il me renvoie false sans que j'arrive à comprendre pourquoi. Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
	class plugin_recherche implements IPlugin {
 
		function render(&$html, $args) {
			$buffer = "<form name='recherche' method='post'>" .
			"<br><br>" .
			"Veuillez taper une catégorie de meubles (chaise, table, armoire, canapé, etc.)" .
			"<br><br>" .
			"<input type='text' name='t_recherche'><br><br>" .
			"</form>";
 
			$buffer2 = "<input type='submit' value='Rechercher' onSubmit=\"self.location.href='http://localhost/MS2006/index.php?id=0'\"/>" ;
			var_dump(isset($_POST['t_recherche']));
 
			//if(!isset($_POST['t_recherche']))  $_POST['t_recherche'] = 0;
			$rech = $_POST['t_recherche'];
 
 
			$_SESSION['recherche'] = $rech;
			$recherche = $_SESSION['recherche'];
			$url = "index.php?id=12&recherche='$recherche'";
			$trashlink = util::createLink($url, $buffer2);
 
			// La DIV
			$buffer .= util::createDiv($trashlink, '');
 
			return $buffer;
		}
	}
?>
Merci de votre aide
merlubreizh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2008, 13h56   #2
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
Citation:
$buffer = "<form name='recherche' method='post'>" .
"<br><br>" .
"Veuillez taper une catégorie de meubles (chaise, table, armoire, canapé, etc.)" .
"<br><br>" .
"<input type='text' name='t_recherche'><br><br>" .
"</form>";

$buffer2 = "<input type='submit' value='Rechercher' onSubmit=\"self.location.href='http://localhost/MS2006/index.php?id=0'\"/>" ;
salut,
dans le code ci-dessus ton bouton submit est en dehors de ton formulaire.
Soit tu le mets dedans, c'est à dire avant la balise </form>
soit tu fais une fonction javascript qui retrouve ton formulaire et le soumet.
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2008, 14h02   #3
Membre à l'essai
 
Inscription : juillet 2005
Messages : 127
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 127
Points : 24
Points : 24
Salut !

Le truc c'est que j'ai d'autres formulaires codés de la même façon avec un bouton en dehors du <form> ... </form> et je n'ai aucun problème alors que le code est sensiblement identique.
merlubreizh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2008, 12h44   #4
Membre à l'essai
 
Inscription : juillet 2005
Messages : 127
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 127
Points : 24
Points : 24
Voici l'erreur qu'il me met :
Citation:
Notice: Undefined index: t_recherche in C:\Program Files\EasyPHP 2.0b1\www\projet_MS2006\plugins\recherche\plugin_recherche.php on line 15
merlubreizh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2008, 14h40   #5
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
c'est laquelle la ligne 15 ?
celle là ?
Code :
$rech = $_POST['t_recherche'];
en fait ce qui semble bizarre, c'est que ta méthode affiche un formulaire et récupère son contenue. En principe ces deux étapes se font séparemment.

essaye avec un test comme ça
Code :
if(!isset($_POST['t_recherche']))  $_rech = 0;
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2008, 15h22   #6
Membre à l'essai
 
Inscription : juillet 2005
Messages : 127
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 127
Points : 24
Points : 24
Merci ! En fait ton premier post, c'était bien ce qu'il fallait que je fasse. Mais comme le PHP est capricieux, une erreur peut en cacher une autre Dans mon formulaire, j'ai maintenant un attribut action qui doit me permettre d'ouvrir la page qui affichera les résultats de ma recherche. Le problème, c'est qu'il m'affiche l'erreur suivante :

Citation:
You don't have permission to access /projet_MS2006/self.location.href='http://localhost/MS2006/index.php on this server.
Voici le code de mon formulaire :

Code :
1
2
3
4
5
$buffer = "<form name='recherche' method='post' action=\"self.location.href='http://localhost/MS2006/index.php?id=12'>\">" .
				"<br><br>" .
				"<b>Recherche : </b><input type='text' name='t_recherche'/><br><br>" .
				"<input type='submit' value='Rechercher'>" .
				"</form>";
merlubreizh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h38.


 
 
 
 
Partenaires

Hébergement Web