IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

problème avec un formulaire : champ non défini


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 157
    Points : 69
    Points
    69
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    $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.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    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.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    Voici l'erreur qu'il me met :
    Notice: Undefined index: t_recherche in C:\Program Files\EasyPHP 2.0b1\www\projet_MS2006\plugins\recherche\plugin_recherche.php on line 15

  5. #5
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    c'est laquelle la ligne 15 ?
    celle là ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $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 : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!isset($_POST['t_recherche']))  $_rech = 0;

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 157
    Points : 69
    Points
    69
    Par défaut
    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 :

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>";

Discussions similaires

  1. Problème avec un formulaire
    Par GilesB dans le forum Langage
    Réponses: 9
    Dernier message: 06/06/2006, 21h19
  2. Problème avec un formulaire
    Par Mysti¢ dans le forum Langage
    Réponses: 3
    Dernier message: 02/04/2006, 00h19
  3. [Système] Problème avec les formulaires
    Par Ludo75 dans le forum Langage
    Réponses: 9
    Dernier message: 02/02/2006, 11h13
  4. Problème avec Me.RecordSource : valeur non conforme
    Par Tchupacabra dans le forum Access
    Réponses: 6
    Dernier message: 02/12/2005, 17h01
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo