Effectuer une inscription à une heure qui ne soit pas prise en PHP

Résolu
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009 - 27 févr. 2006 à 13:45
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 27 févr. 2006 à 18:12
Bonjour à tous,
le problème que j'ai aujourd'hui est une histoire d'inscription.
une personne veut réserver à une heure et à une date, une salle.

j'ai crée la table RESERVATION avec les caractéristiques suivantes:
IdentProf clé étrangère de la table PROF (donc clé primaire de la table
PROF)

IdentLabo clé primaire + clé étrangère de la table LABO
Date clé primaire
Heure_début clé primaire
Date_réservation
Sous forme mysql
Réservation(#IdentProf,#IdentLabo, Date, Heure_debut, Date_réservation)

Le script me détecte bien que la salle est réservée a une date et a une heure mais qd il y a rien à une date et à une heure, elle échoue l'inscription. merci de bien vouloir m'aider.

reservation.htm
<html>

Réserver une salle

,
<FORM Method="POST" Action="reservation.php">
Identification du Professeur :

Identification du Laboratoire :

Date :

Heure début :

Date de réservation :

</FORM>

</html>
--------------------------------------------------------------------------------------------------------------
reservation.php

<html>
<head>
<script>
function retour()
{
history.back();
}
</script>
</head>

<?
//Connexion au serveur
if(!$conn= mysql_connect("Localhost","root","")) { echo ("Prob connexion au serveur"); exit();}

{
//Cette partie vérifie si les cases sont completées
if(isset($HTTP_POST_VARS) && !empty($HTTP_POST_VARS['heuredebut']) && !empty($HTTP_POST_VARS['datereservation']) && !empty($HTTP_POST_VARS['laboratoire']))

{
$hde=$HTTP_POST_VARS['heuredebut'];
$dre=$HTTP_POST_VARS['datereservation'];
$lab=$HTTP_POST_VARS['laboratoire'];

//Connexion a la base de données
$db= mysql_select_db("gestion_laboratoire");
if(!$db) { echo ("Problème de connexion à la base"); exit(); }

//on vérifie si l'heure de début associé à la date de réservation existe dans la base
$ide ="SELECT * from reservation where heure_debut ='".$hde."' and date_réservation='".$dre."' and IdentLabo='".$lab."'";
$ret = mysql_query($ide);
$nb= mysql_num_rows($ret);
if($nb!=0) { echo ("Cette salle est déjà réservée à cette heure là!"); exit();}

$req="Insert Into reservation Values ('$ide','$lab','$dat','$hde','$dre')";
$res= mysql_query($req,$conn);
if($res==1)
echo "insertion réussi";
else
echo "echec de l insertion";
echo "

";
echo"Retour";
//Déconnexion de la base
mysql_close($conn);
}
}
?>

</html>

16 réponses

morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
27 févr. 2006 à 17:16
reservation.htm
<html>

Réserver une salle

,
<FORM Method= "POST" Action="reservation.php">
Identification du Professeur :

Identification du Laboratoire :

Date :

Heure début :

Date de réservation :

</FORM>

</html>
---------------------------------------------------------------------------------------------------
reservation.php


<?
//Connexion au serveur
if(!$conn = mysql_connect("Localhost","root","")) { echo ("Prob connexion au serveur"); exit();}

{
//Cette partie vérifie si les cases sont completées
if(isset($HTTP_POST_VARS) && !empty($HTTP_POST_VARS['heuredebut']) && !empty($HTTP_POST_VARS['datereservation']) && !empty($HTTP_POST_VARS['laboratoire']))

{
$lab=$HTTP_POST_VARS['laboratoire'];
$hde=$HTTP_POST_VARS['heuredebut'];
$dre=$HTTP_POST_VARS['datereservation'];
$ide=$HTTP_POST_VARS['ide'];
$dat=$HTTP_POST_VARS['dat'];

//Connexion a la base de données
$db= mysql_select_db("gestion_laboratoire");
if(!$db) { echo ("Problème de connexion à la base"); exit(); }

//on vérifie si l'heure de début associé à la date de réservation existe dans la base
$ite ="SELECT * from reservation where heure_debut ='".$hde."' and date_réservation='".$dre."' and IdentLabo='".$lab."'";
$ret = mysql_query($ite)or die(mysql_error());
$nb= mysql_num_rows($ret);
if($nb!=0)
echo ("Cette salle est déjà réservée à cette heure là");
else
{
$req="INSERT INTO Reservation Values ('$ide','$lab','$dat','$hde','$dre');";
$res= mysql_query($req,$conn);
if($res==1)
echo "insertion réussi";
else
echo "echec de l insertion";
echo "

";
echo"Retour";
//Déconnexion de la base
mysql_close($conn);
}
}
}
?>

</html>
---------------------------------------------------------------------
Merci encore sidf!!!
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
27 févr. 2006 à 14:10
Salut,

ton code est horrible :




Réserver une salle




tu as deux balises body, et ne met pas de " pour séparer les attributs... c'est pas corect..






$HTTP_POST_VARS ne s'utilise plus, utilise $_POST


echo ("Cette salle est déjà réservée à cette heure là!"); exit();



est à remplacer par :

die('Cette...');



$ret = mysql_query($ide);



il te manque un or die(mysql_error());




In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
27 févr. 2006 à 14:19
je vois bien ton message mais ca me dit comme erreur:



Notice: Undefined variable: dat in d:\program files\easyphp1-8\www\site internet\salle\reservation.php on line 35

echec de l insertion
Retour

ma ligne 35 correspond à ca
$req="Insert Into reservation Values ('$ide','$lab','$dat','$hde','$dre')";

voilà comment j'ai essayer de faire

$ide ="SELECT * from reservation where heure_debut ='".$hde."' and date_réservation='".$dre."' and IdentLabo='".$lab."'";
$ret = mysql_query($ide);
$nb= mysql_num_rows($ret);
if($nb!=0) { echo ("Cette salle est déjà réservée à cette heure là!"); exit();}
else
{
$req="Insert Into reservation Values ('$ide','$lab','$dat','$hde','$dre')";
$res= mysql_query($req,$conn);
if($res==1)
echo "insertion réussi";
else
echo "echec de l insertion";
echo "

";
echo"Retour";
//Déconnexion de la base
mysql_close($conn);
0
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
27 févr. 2006 à 14:41
autre solution qui ne marche toujours pas

//on vérifie si l'heure de début associé à la date de réservation existe dans la base
$ide ="SELECT * from reservation where heure_debut ='".$hde."' and date_réservation='".$dre."' and IdentLabo='".$lab."'";
$ret = mysql_query($ide);
$nb= mysql_num_rows($ret);
if($nb!=0)
echo ("Cette salle est déjà réservée à cette heure là");
else
{
$req="Insert Into reservation Values ('$ide','$lab','$dat','$hde','$dre')";
$res= mysql_query($req,$conn);
if($res==1)
echo "insertion réussi";
else
echo "echec de l insertion";
echo "

";
echo"Retour";
//Déconnexion de la base
mysql_close($conn);
}
}
}
?>

</html>
0

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

Posez votre question
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
27 févr. 2006 à 15:06
comment on déclare une date? car j'ai mis comme ça dans reservation.htm

Date :
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
27 févr. 2006 à 15:31
pas de type date ou time en html
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
27 févr. 2006 à 15:35
$ide ="SELECT * from reservation where heure_debut ='".$hde."' and date_réservation='".$dre."' and IdentLabo='".$lab."'";

tu utilises $ide pour definir une requete SQL
et a la fois c'est une donnée de ta base !!???
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
27 févr. 2006 à 15:36
autrement dit tu essaies d'inserer ta chaine sql dans la table
c'est vraiment ce que tu veux ?
0
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
27 févr. 2006 à 15:37
non je voudrais qu'il m'enregistre ce que j'ai demander sauf si c'est déjà pris (voir ci-dessus)
0
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
27 févr. 2006 à 15:38
et j'ai commis deux erreurs c'est exact
0
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
27 févr. 2006 à 15:43
maintenant j'ai ça mais ca va etre rapide car l'enregistremant c'est fait a moitie

Notice: Undefined variable: ide in d:\program files\easyphp1-8\www\site internet\salle\reservation.php on line 36



Notice: Undefined variable: dat in d:\program files\easyphp1-8\www\site internet\salle\reservation.php on line 36

insertion réussi
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
27 févr. 2006 à 15:50
bon alors ça marche ?
0
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
27 févr. 2006 à 15:52
Notice: Undefined variable: ide in d:\program files\easyphp1-8\www\site internet\salle\reservation.php on line 36



Notice: Undefined variable: dat in d:\program files\easyphp1-8\www\site internet\salle\reservation.php on line 36

insertion réussi

je sais pas si ca vient des tables ou du programme
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
27 févr. 2006 à 17:17
padkwa

$:?)=)
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
27 févr. 2006 à 17:18
ceci dit tu ne devrais avoir qu'une seule page pour traiter tout ça
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
27 févr. 2006 à 18:12
Salut,

$res= mysql_query($req,$conn);



manque toujours le or die()...





$res=
mysql_query($req,$conn) or die(mysql_error());



In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
Rejoignez-nous