PHP

Fermé
mouna - 29 mai 2009 à 00:09
 mouna - 29 mai 2009 à 14:56
Bonjour,
SVP si qq'un pourra m'aider à comprendre pourquoi ce code m'affiche cet erreur:
Notice: Undefined variable: s in c:\program files\easyphp1-8\www\projet mouna\recherche.php on line 22
j'ai cherché et j'ai pas trouvé la cause de cet erreur, aidez moi SVP je dois compléter mon projet :-(
voilà le code:
<html>
<head> <title> Recherche de disponible </title>
</head>
<body> <center><h1><font color='red'>Recherche des disponibilités dans la résidence</h1></font></center>
<br> <center><h2>Merci de séléctionner la semaine souhaitée ainsi que le type d'appartement recherché </h2></center><br>
<form method="post" ACTION="recherche.php">
<center> Semaine       <select name="semaine" >
<option value="1" name='op'> 1 </option>
<option value="2" name='op'> 2 </option>
</select></center><br><br>
<center>Type d'appartement       <select name="type">
<option value="t1" name='t'> T1 (4 personnes) </option>
<option value="t2" name='t'>T2(6 personnes) </option>
<option value="t3" name='t'>T3 (8 personnes) </option>
</select><br><br>
<input type=submit value="RECHERCHE" name="rch" >
</center>
</form>
<?php
if (isSet($_POST['semaine']))
$s=$_POST['semaine'];
echo $s;
//établir la connexion
$connexion=mysql_pconnect ("localhost","root","");
mysql_select_db ("residence",$connexion);
$requete='select* from dispos ';
$resultat=mysql_query($requete,$connexion);
while ($d=mysql_fetch_array ($resultat))
echo $d['dispos_t1'];
?>
</body>
</html>

merci d'avance
A voir également:

18 réponses

Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 330
29 mai 2009 à 00:13
Tu as ce message lorsque $s n'est pas définie, i.e. lorsque $_POST['semaine'] ne l'est pas.
Ce 'nest pas bien grave (d'ailleurs c'est une notice, pas une erreur) mais si tu veux corriger, il faut n'afficher $s que si elle est bel et bien définie (tu avais commencé à le faire avec le if() mais il fallait aller un brin plus loin ;-):
if (isSet($_POST['semaine']))
{
$s=$_POST['semaine'];
echo $s;
}
0
merci d'avoir me répondre j'ai utilisé echo $s pour vérifier que l'affectation dans une variable est juste mais le problème maintenant lorsque j'ai fait cette modification à ce niveau
if (isSet($_POST['semaine']))
{
$s=$_POST['semaine'];
//établir la connexion
$connexion=mysql_pconnect ("localhost","root","");
mysql_select_db ("residence",$connexion);
$requete='select* from dispos where num_sem=$s';
$resultat=mysql_query($requete,$connexion);
while ($d=mysql_fetch_array ($resultat))
echo $d['dispos_t1'];
}
?>
</body>
</html>

Le problèm que rien ne s'affiche, pourquoi ?????? :(:(:(
Merciiiiiii
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 330
29 mai 2009 à 07:05
Le problèm que rien ne s'affiche, pourquoi ??????
Probablement parce que $_POST['semaine'] n'est pas "set" :-)

Qu'est-ce qui est censé donner une valeur à $_POST['semaine'] ? Un formulaire ? Un autre script ? ...
0
bonjour Yoan, SVP aideeeeeez moi je dois terminer le projet aujourd'hui car je passe demain mon examen, aidez moi à résoudre cette erreur pour que je puisse continuer.
merci
0
je veux affecter la valeur sélectionnée par le formulaire dans une variable pour que je puisse la recherché dans la base de donnée et afficher les enregistrements concernant ctte valeur. j'espère que tu m'a bien compris.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
29 mai 2009 à 09:03
dispos c'est ta table, mais dispos_t1 c'est le premier tuple de ta table?
je pense que rien ne s'affiche car de une tu ne test pas si ta bdd est bien ouverte si il y a eu une erreur tu ne rentre pas dans ton while donc pas d'echo et de deux je ne vois pas bien ce qu'est dispos_t1
0
wé dispos_t1 c'est le premier tuple de table dispos, SVP comment je dois corriger ???
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
29 mai 2009 à 09:20
vérifie tes variable $d et $resultat voir ce qu'il y a dedans
ensuite je ne me souviens pas très bien de mes cours de php mais de tête j'utilisé une variable aussi pour l'indice du tableau dans lequel tu met ton indice en occurence ici dispos_t1
ce que tu souhaite faire c'est afficher le contenue de ta bdd? c'est ça?
0
JE pense que ces étapes sont justes parce que j'ai suivie les étapes présentés dans le cours, mais peut être il s'agit d'une faute d'inattention :(:(:(:(
0
Bonjour

$requete='select* from dispos where num_sem=$s';
Dans une chaîne entre simple quotes, les variables ne sont pas remplacées par leur valeur, donc si $s contient 24 par exemple, ta requête recherche $s et non pas 24
il te faut des double quotes

Fais l'essai suivant :
$s=24;
$requete='select* from dispos where num_sem=$s';
echo $requete, '<br /'>;
$requete="select* from dispos where num_sem=$s";
echo $requete, '<br /'>;
0
pardon, corrige les ' mal placées
echo $requete, '<br />';
et n'oublie pas l'espace entre select et *
0
j'ai essayé rien ne se paaaaaaaaaaaaaaaaaasse, rien ne s'affiche ;(;(;(;(;(;(
0
j'ai essayer de nouveau ça
<?php
if (isSet($_POST['semaine']))
{
$s=$_POST['semaine'];
echo $s;
}
//établir la connexion
$connexion=mysql_pconnect ("localhost","root","");
mysql_select_db ("residence",$connexion);
$requete='select * from dispos where num_sem=$s';
$resultat=mysql_query($requete,$connexion);
while ($d=mysql_fetch_array ($resultat))
echo $d['dispos_t1'];
?>

il m'affiche ce message d'erreur Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\projet mouna\recherche.php on line 30
0
Tu n'as jamais répondu à Yoan qui te demandait d'où venait ton $_POST['semaine'].
Peux-tu nous donner le code du formulaire correspondant ?
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
29 mai 2009 à 09:55
la c'est au point de vue de la connexion c'est sur le contenue de la variable $connexion à un problème
vérifie et test la connexion a la BDD
0
le code du formulaire est dans le premier msg.
0
SVP il n'y a pas qq'un qui a pu connaitre la résolution du ce problème ?!!!!! :-(:-(
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
29 mai 2009 à 10:43
il faudrait que je test tu n'auras rien de ma part avant 15hh30-16h désoler
0
merci bien, j'attends ta réponse, Merciiiiiiiiiiiii
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
29 mai 2009 à 11:09
de plus si je savais ce que tu souhaite faire je pourrai te donner un code que j'ai compo moi même et qui marche à merveil sans bug à la clé ( je crois que tu veux afficher le contenue de ta table mais je ne suis pas sur que ce ne soit que ça)
0
à la sélection d'une option de la liste déroulante je dois afficher le contenu correspondant? je t'explique par un exemple par exemple si j'ai sélectionné le "1" dans la liste déroulante, ce "1" correspond au numéro de semaine num_sem donc je dois chercher dans la table dispos qui contient (num_sem,dispos_t1,dispos_t2,dispos_t3) avec num_sem est le clé primaire le numéro de semaine qui est égale à 1 puis j'affiche dispos_t1 qui corresond à ça. j'espère que c'est claire comme ça.
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 330
29 mai 2009 à 11:47
Pourquoi ne pas mettre des OR die(mysql_error()) pour récupérer les erreurs en relation avec la base plutôt que de jouer avec le pifomètre ?
Un message d'erreur ça a le mérite d'être clair ...

D'autre part il n'y a pas lieu d'avoir un name="" dans les <option>. Mais ce n'est pas ce qui va résoudre ton problèm, je te rassure >:-)
0
merci yoan pour ta conseille, j'ai fait comme tu as dis et il m'affiche '$s' est inconnue pour la clause where. c'est quoi la solution SVP ?? :-((((
0
Merci à touuuss, j'ai résolu mon problème mais j'ai un autre maintenant, désolé mais je suis pressé par la contrainte de temps, je vais poser ma question dans un nouveau sujet, si qq'un peut m'aider merciii bien .
0