PHP

mouna -  
 mouna -
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   Statut Modérateur Dernière intervention   2 331
 
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
mouna
 
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   Statut Modérateur Dernière intervention   2 331
 
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
mouna
 
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
mouna
 
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   Statut Membre Dernière intervention   27
 
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
mouna
 
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   Statut Membre Dernière intervention   27
 
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
mouna
 
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
le père
 
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
le père
 
pardon, corrige les ' mal placées
echo $requete, '<br />';
et n'oublie pas l'espace entre select et *
0
mouna
 
j'ai essayé rien ne se paaaaaaaaaaaaaaaaaasse, rien ne s'affiche ;(;(;(;(;(;(
0
mouna
 
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
le père
 
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   Statut Membre Dernière intervention   27
 
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
mouna
 
le code du formulaire est dans le premier msg.
0
mouna
 
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   Statut Membre Dernière intervention   27
 
il faudrait que je test tu n'auras rien de ma part avant 15hh30-16h désoler
0
mouna
 
merci bien, j'attends ta réponse, Merciiiiiiiiiiiii
0
DarkAurora Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   27
 
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
mouna
 
à 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   Statut Modérateur Dernière intervention   2 331
 
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
mouna
 
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
mouna
 
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