Undefined variable: _request in ???
Résolu
Gael87
-
mype Messages postés 2435 Date d'inscription Statut Membre Dernière intervention -
mype Messages postés 2435 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai deux soucis que je n'arrive pas à résoudre, et je pense que c'est principalement dû à mon manque de connaissance dans le domaine.
Tout d'abord, j'ai un message :
Voici le contexte :
[...]
Comme vous le voyez, il n'y a rien à la ligne 2 qui devrait poser problème...
Maintenant, je n'arrive pas à récupérer la valeur sélectionnée dans ma page de "réponse" :
À quoi cela peut-il être dû ?
Et pour être sur qu'il ne vous manque aucun détail, voici le contenu de mon fichier connection.inc :
Je signale que je suis sous Wamp (vous l'auriez surement remarqué) et il n'y a donc pas besoin de mot de passe pour se connecter à la base de données.
Je vous souhaite bon courage, moi, personnellement, j'y ai passé quelques heures, et je commence à cracker.
J'ai deux soucis que je n'arrive pas à résoudre, et je pense que c'est principalement dû à mon manque de connaissance dans le domaine.
Tout d'abord, j'ai un message :
Notice: Undefined variable: _request in C:\Program Files\WampServer\www\Nautilus\Connection.inc on line 2
Voici le contexte :
<html> <head> <title>Plongées offertes</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body ><div align="center"> <?php require('enTete.inc'); require('Connection.inc'); ?>
[...]
$query="SELECT * FROM TypeSite ORDER BY NumType" ; $result=mysql_query($query) or die("Execution de la requête impossible"); // Créer le formulaire de sélection echo "<form action='PhotoSites.php' method='post'> \n"; echo "<table cellpadding='5' border='1'>"; while ($ligne=mysql_fetch_array($result)) { extract($ligne); echo "<tr><td valign='top' width='15%'>\n"; echo "<input type='radio' name='interet' value='$NumType'\n"; echo "<b>$NumType</b> </td> <td>$LibelleType</td> </td> <td>$ImageTypeSite</td>"; } echo "</table>"; echo "<p><input type='submit' value='Faites votre choix'> </form>\n"; ?> </body> </html>
Comme vous le voyez, il n'y a rien à la ligne 2 qui devrait poser problème...
Maintenant, je n'arrive pas à récupérer la valeur sélectionnée dans ma page de "réponse" :
<?php require('enTete.inc'); require('Connection.inc'); // Sélection des pièces d'un type donné $query="SELECT * FROM Site where NumType='$interet'"; $result=mysql_query($query) or die ("Execution de la requête impossible"); // Afficher les résultats dans un tableau echo "<table background='Photos/lion_mod.jpg' cellspacing='1' border='20' cellpadding='5' width='70%'>"; echo "<tr border width='90%'>\n"; echo "<tr><td>Numéro site</td><td>Libellé Site</td><td>Profondeur en mètres</td><td>Photo</td></tr>"; while ($ligne=mysql_fetch_array($result,MYSQL_ASSOC)) { // Afficher une ligne pour chaque pièce echo "<td>{$ligne['NumSite']} </td>\n"; echo "<td><font size='+1'><b>{$ligne['LibelleSite']}</b></font></td>\n"; echo "<td>{$ligne['ProfondeurSite']}</td>\n"; echo "<td>{$ligne['PhotoSite']}</td></tr>\n"; } echo"</table>\n"; echo "<div align='center'> <a href='les_plongees.php'><b> Retour au menu precedent</b></a></div>"; ?>
À quoi cela peut-il être dû ?
Et pour être sur qu'il ne vous manque aucun détail, voici le contenu de mon fichier connection.inc :
<?php $interet=$_request["interet"]; $connection=mysql_connect("localhost","root","") or die ("Connexion au serveur impossible"); $db=mysql_select_db("DivingCenter",$connection) or die ("Sélection de la base de données impossible"); ?>
Je signale que je suis sous Wamp (vous l'auriez surement remarqué) et il n'y a donc pas besoin de mot de passe pour se connecter à la base de données.
Je vous souhaite bon courage, moi, personnellement, j'y ai passé quelques heures, et je commence à cracker.
A voir également:
- Undefined variable: _request in ???
- Vba range avec variable ✓ - Forum VB / VBA
- Range avec une Variable ✓ - Forum VB / VBA
- Undefined traduction - Forum Javascript
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
26 réponses
il faut que tu mette le bon chemin dans ton require si ton fichier est pas dans le meme repertoire que to script logique qu'il le trouve pas ;)
bonjour , betement est ce que ton serveur est demarré ?
Les fichiers "inc" sont des fichiers "include" (inclusion).
Ces fichiers sont liés à PHP qui les utilise.
PHP te permet d'inclure avec la fonction "include()" des pages dans une autre page.
Ainsi si tu as un page : "menu.inc ou menu.inc.php" (ces 2 fichiers peuvent s'utiliser exactement de la même façon, le nom choisi n'est qu'une question d'habitude et de convention de nomage, en pratique tu pourrais même inclure un fichier "menu.txt"), dans ta page index tu vas inclure cette page menu.
Ca te permet de diviser une même page en plusieurs page et ainsi, par exemple tu as un fichier menu.inc.php tu l'inclus dans toutes les pages, si tu veux changer ton menu, tu vas juste dans la page menu.inc.php, tu la modifies, et ce changement se répercutera partout.
Cela ne fonctionnait pas en local chez toi car PHP a besoin d'un serveur pour fonctionner.
Les fichiers "inc" sont des fichiers "include" (inclusion).
Ces fichiers sont liés à PHP qui les utilise.
PHP te permet d'inclure avec la fonction "include()" des pages dans une autre page.
Ainsi si tu as un page : "menu.inc ou menu.inc.php" (ces 2 fichiers peuvent s'utiliser exactement de la même façon, le nom choisi n'est qu'une question d'habitude et de convention de nomage, en pratique tu pourrais même inclure un fichier "menu.txt"), dans ta page index tu vas inclure cette page menu.
Ca te permet de diviser une même page en plusieurs page et ainsi, par exemple tu as un fichier menu.inc.php tu l'inclus dans toutes les pages, si tu veux changer ton menu, tu vas juste dans la page menu.inc.php, tu la modifies, et ce changement se répercutera partout.
Cela ne fonctionnait pas en local chez toi car PHP a besoin d'un serveur pour fonctionner.
@ lewis34,
Merci de m'avoir répondu aussi vite :) Cependant, mon serveur était bien démarré (et je viens de vérifier).
Je te remercie aussi pour ton explication sur les includes, même si je connaissais leur fonctionnement :p Cela dit, ça servira toujours à d'autres !
Donc tu ne vois pas d'autres raisons de ce message ?
Merci de m'avoir répondu aussi vite :) Cependant, mon serveur était bien démarré (et je viens de vérifier).
Je te remercie aussi pour ton explication sur les includes, même si je connaissais leur fonctionnement :p Cela dit, ça servira toujours à d'autres !
Donc tu ne vois pas d'autres raisons de ce message ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
essaye de renomer ton fichier connection.inc en connection.php et modifier ta ligne require('enTete.inc'); et connexon.inc
par
require_once('enTete.php');
require_once('connexion.php');
quitte a placer un echo dedans pour voir si tu y passe
par
require_once('enTete.php');
require_once('connexion.php');
quitte a placer un echo dedans pour voir si tu y passe
Bonsoir, je suis Gael87, je me suis connecté pour que ce soit plus pratique (compte que j'avais oublié ^^).
J'ai effectué ta manipulation, mais rien n'y fait ! J'ai carrément la page qui disparait avec un nouveau message :
Tu pense que ça pourrait se situer au niveau du fichier Connection.inc ?
J'ai effectué ta manipulation, mais rien n'y fait ! J'ai carrément la page qui disparait avec un nouveau message :
Warning: require_once(Connexion.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\WampServer\www\Nautilus\les_plongees.php on line 11 Fatal error: require_once() [function.require]: Failed opening required 'Connexion.php' (include_path='.;C:\php5\pear') in C:\Program Files\WampServer\www\Nautilus\les_plongees.php on line 11
Tu pense que ça pourrait se situer au niveau du fichier Connection.inc ?
Je ne comprends pas... Il est dans le même dossier que le reste.
Il ne faut pas perdre de vu que je suis un débutant :)
Il ne faut pas perdre de vu que je suis un débutant :)
@ Mype : Effectivement, je n'avais pas fait attention à ton premier message, et je récupère mes variables !
@ Lewis34 : Si, je t'assure que tous mes fichiers sont dans le même dossier, sans aucun sous dossier !
@ Lewis34 : Si, je t'assure que tous mes fichiers sont dans le même dossier, sans aucun sous dossier !
ben l'erreur était clair il te dit qu'a la ligne 2 de ton fichier connection.inc la variable _request n'est pas definis c'est parce que tu as mis $_request["interet"] au lieu de $_REQUEST["interet"]
fais cette modification et vois si ça marche...
fais cette modification et vois si ça marche...
@ Mype : malgré la modification, j'ai toujours le message suivant :
Notice: Undefined index: interet in C:\Program Files\WampServer\www\Nautilus\Connexion.inc on line 2
avant de l'affecter fais un test pour voir si elle existe
if(isset($_REQUEST["interet"])) $interet=$_REQUEST["interet"];
Ça ne change strictement rien au résultat...
Pour être sûr, il faut bien le mettre dans le fichier Connection.inc ? Je suis assez débutant ^^
Pour être sûr, il faut bien le mettre dans le fichier Connection.inc ? Je suis assez débutant ^^
tu ne touches a rien dans ton code sauf dans le fichier Connection.inc tu remplaces cette ligne
$interet=$_request["interet"];par celle la
if(isset($_REQUEST["interet"])) $interet=$_REQUEST["interet"];c'est bien ce que tu as fait ? si c'est ça quel est le message d'erreur ?
C'est donc bien ce que j'avais fait.
Voici le message d'erreur :
En passant : merci beaucoup de t'intéresser à mon problème !
Voici le message d'erreur :
Notice: Undefined index: interet in C:\Program Files\WampServer\www\Nautilus\Connexion.inc on line 2
En passant : merci beaucoup de t'intéresser à mon problème !
dans ce cas puisque tu n'utilises jamais cette variable dans ta premiere page tu peux l'enlever de ton Connection.inc et la mettre directement dans ta deuxieme page
donc essaye enlevant
donc essaye enlevant
if(isset($_REQUEST["interet"])) $interet=$_REQUEST["interet"];de Connection.inc et en le mettant dans ta deuxieme page juste avant
// Sélection des pièces d'un type donné $query="SELECT * FROM Site where NumType='$interet'";
Si je fais ça, rien ne change, sauf que j'ai une autre page qui réagi (que je vais nommé p3). Avant de modifier la ligne
Après avoir modifié la ligne dans Connection.inc, l'erreur disparaissait de la p3, mais continuait d'apparaître en p1.
Voici ma p3 :
Elle est construit avec la même syntaxe que les autres, et maintenant elle fonctionne.
Donc, j'ai laissé
dans la page Connection.inc.
C'est à n'y rien comprendre ! Pourquoi une page avec la même syntaxe ne fonctionnerait pas ???
Je te remercie donc encore une fois pour tes efforts !
Ps : peux-tu m'expliquer la différence entre $interet=$_REQUEST["interet"]; et if(isset($_REQUEST["interet"])) $interet=$_REQUEST["interet"]; ?
$interet=$_request["interet"];dans Connection.inc, la page affichait
Notice: Undefined index: interet in C:\Program Files\WampServer\www\Nautilus\Connection.inc on line 2Donc la même erreur que la page 1.
Après avoir modifié la ligne dans Connection.inc, l'erreur disparaissait de la p3, mais continuait d'apparaître en p1.
Voici ma p3 :
<?php require('enTete.inc'); require('Connection.inc'); ?> <p align="left"><font color="#990099" size="2"><strong><font face="Arial, Helvetica, sans-serif"> Le centre offre à ses clients un large panel de formation grâce à ses accréditations à plusieurs systèmes internationalement reconnus</font></strong></p> <?php // Sélectionner tous les types de pièces présents dans la table Type $query="SELECT distinct systeme, logoniveau FROM niveau ORDER BY Numniveau" ; $result=mysql_query($query) or die("Execution de la requête impossible"); // Créer le formulaire de sélection echo "<form action='Formations_proposes.php' method='post'> \n"; echo "<table background='Photos/tab_boat_mod.jpg' cellpadding='5' border='1'>"; while ($ligne=mysql_fetch_array($result)) { extract($ligne); echo "<tr><td valign='top' width='15%'>\n"; echo "<input type='radio' name='interet' value='$systeme'\n"; echo "<td>$systeme</td> </td> <td>$logoniveau</td>"; } echo "</table>"; echo "<p><input type='submit' value='Faites votre choix'> </form>\n"; ?>
Elle est construit avec la même syntaxe que les autres, et maintenant elle fonctionne.
Donc, j'ai laissé
if(isset($_REQUEST["interet"])) $interet=$_REQUEST["interet"];
dans la page Connection.inc.
C'est à n'y rien comprendre ! Pourquoi une page avec la même syntaxe ne fonctionnerait pas ???
Je te remercie donc encore une fois pour tes efforts !
Ps : peux-tu m'expliquer la différence entre $interet=$_REQUEST["interet"]; et if(isset($_REQUEST["interet"])) $interet=$_REQUEST["interet"]; ?
non mais je t'avais dit de ne laisser dans ton Connection.inc que les lignes de connection a ta base de donnee soit
en fait je t'explique l'erreur ça veut dire que l'index interet n'existe pas et c'est effectivement le cas dans tes p1 et p3 puisque c'est là que tu le definit et comme tu inclus Connection.inc dans ces pages alors tu a l'erreur, c'est pourquoi je t'ai dit de mettre
le probleme est resolu ?
$connection=mysql_connect("localhost","root","") or die ("Connexion au serveur impossible"); $db=mysql_select_db("DivingCenter",$connection) or die ("Sélection de la base de données impossible");en enlevant tout le reste
en fait je t'explique l'erreur ça veut dire que l'index interet n'existe pas et c'est effectivement le cas dans tes p1 et p3 puisque c'est là que tu le definit et comme tu inclus Connection.inc dans ces pages alors tu a l'erreur, c'est pourquoi je t'ai dit de mettre
if(isset($_REQUEST["interet"])) $interet=$_REQUEST["interet"];qui permet de verifier si la variable $_REQUEST["interet"] existe (donc si l'index interet a deja été defini) avant de l'affecter a $interet
le probleme est resolu ?
Bon, ça ne fonctionne toujours pas... Peu importe la méthode utilisée :
Mon fichier Connection.inc me donne le même résultat qu'il soit comme ça :
ou comme ça :
La P1 merde toujours... Il y a ce message qui ne veut pas disparaître.
Je dois vraiment pas être doué car après toutes tes explications, ça ne marche toujours pas.
La seule différence importante entre la P1 et la P3 se situe ici pour la P1 :
Se pourrait-il que ça bloque à ce niveau là ? Ma requête pourrait ne pas être bonne ?
Est-ce nécessairement le fichier Connection.inc qui fait afficher le message d'erreur ?
Mon fichier Connection.inc me donne le même résultat qu'il soit comme ça :
<?php $connection=mysql_connect("localhost","root","") or die ("Connexion au serveur impossible"); $db=mysql_select_db("DivingCenter",$connection) or die ("Sélection de la base de données impossible"); ?>
ou comme ça :
<?php if(isset($_REQUEST["interet"])) $interet=$_REQUEST["interet"]; $connection=mysql_connect("localhost","root","") or die ("Connexion au serveur impossible"); $db=mysql_select_db("DivingCenter",$connection) or die ("Sélection de la base de données impossible"); ?>
La P1 merde toujours... Il y a ce message qui ne veut pas disparaître.
Je dois vraiment pas être doué car après toutes tes explications, ça ne marche toujours pas.
La seule différence importante entre la P1 et la P3 se situe ici pour la P1 :
$query="SELECT * FROM TypeSite ORDER BY NumType" ; $result=mysql_query($query) or die("Execution de la requête impossible");
Se pourrait-il que ça bloque à ce niveau là ? Ma requête pourrait ne pas être bonne ?
Est-ce nécessairement le fichier Connection.inc qui fait afficher le message d'erreur ?