Application web réservation de salle ASP

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Yana20, 24 Avril 2015.

  1. Yana20
    Yana20 Nouveau WRInaute
    Inscrit:
    24 Avril 2015
    Messages:
    2
    J'aime reçus:
    0
    Bonjour,

    Normalement ça devrait être ici pour poster mon sujet, en espérant que l'ASP soit un peu connu dans la région ^^

    Alors voilà je vous explique: je dois améliorer une application de réservations de salles. Celle qui existe consiste à ce que l'utilisateur rentre une date de début et de fin, ainsi qu'une heure de début et de fin avec un message expliquant pourquoi il réserve.

    Je dois le coder en ASP (VB) que j'apprend sur le tas (contrainte supplémentaire donc car je perds beaucoup de temps).

    Moi je dois faire une application "par critères" pour que l'utilisateur rentre non pas des dates mais des critères: il y a donc sa localisation (ville), sa capacité (nb_personne), si c'est une salle informatique ou non (sélecteur oui/sans importance) et la raison de sa réservation. C'est le fichier saisie.asp . Après avoir validé, l'utilisateur est dirigé vers la page choix.asp où il y a un tableau avec la liste des salles qui existent en fonction des critères qu'il a rentré.

    Le premier problème est le suivant: je voudrais afficher un message d'erreur s'il n'existe aucune salle, et pour ça je ne sais d'une part pas où le faire (est-ce dans saisie.asp ou dans choix.asp) et pas le mettre en forme (requête sql).

    Ensuite, pourriez vous me donner votre opinion sur mon code (aurais-je fais des erreurs ?) car mon server ne marche pas... du coup je ne peux rien tester et je code à l'aveugle (minimum jusqu'à lundi).

    Fichier saisie.asp

    Code:
    <%@ Language=VBScript %>
    <%
    If (session("ID_User") = "") Then
    	response.redirect "../index.asp"
    End if
    %>
    
    <html>
    <head>
    	<title>Projet </title>
    	<link rel="stylesheet" type="text/css" href="../../style.css" />
    	<script language="Javascript" src="../../javascript/javascript.js"></script>
    	<script language="Javascript">
    	function Valider()
    	{
    		if (document.F_Res.T_Comment.value.length < 3)
    		{
    			alert('Motif obligatoire !');
    			document.F_Res.T_Comment.focus();
    		}
    		else
    		{
    			document.F_Res.submit();
    		}
    	}
    	</script>
    </head>
    <body>
    	<div id="conteneur">		
    		<!-- #include file="../../javascript/calendrier1mois.asp"-->
    		<!-- #include file="../../MiseEnForme/header.asp"-->
    		<!-- #include file="../../MiseEnForme/menuHorizontal.asp"-->
    		
    		<div id="conteneur2">		
    			<!-- #include file="../../MiseEnForme/menuVerticalPrive.asp"-->
    			<div id="centre">
    			<center>
    			<form name="F_Res" action="./Reservation/choix.asp" method="post">
    			<table class="corps">
    				<tr>
    					<td colspan="3" class="entete">
    						Réservation d'une salle par critères
    					</td>
    				</tr>
    				<tr><td>&nbsp;</td></tr>
    				
    				<td>
    					<form method="post" >
    						<Font color = #000000 Style= "margin-left:15px"> Lieu: <SELECT id="lieu" name="S_Lieu" style= "width:135px; margin-left:10px">
    													<OPTION value="1"> Non-renseigné
    													<OPTION value="2"> A
    													<OPTION value="3"> B
    													<OPTION value="4"> C
    													<OPTION value="5"> D							
    													<OPTION value="6"> E
    													<OPTION value="7"> F								
    													<OPTION value="8"> G
    													<OPTION value="9"> H
    
    												</SELECT>
    							
    						<Font color = #000000 Style= "margin-left:25px">Capacité: <SELECT id="capacite" name="S_Cap" style= "width:135px; margin-left:10px">
    													<OPTION value="1"> Non-renseigné
    													<OPTION value="2"> 3 personnes
    													<OPTION value="3"> 8 personnes
    													<OPTION value="4"> 10 personnes
    													<OPTION value="5"> 11 personnes
    													<OPTION value="6"> 12 personnes
    													<OPTION value="7"> 15 personnes
    													<OPTION value="8"> 19 personnes
    													<OPTION value="9"> 20 personnes
    													<OPTION value="10"> 22 personnes
    													<OPTION value="11"> 23 personnes
    													<OPTION value="12"> 40 personnes
    												</SELECT>
    									
    						<Font color = #000000 Style= "margin-left:25px">Salle info: 	<input type="radio" name="S_Info" value="Oui" /> Oui 
    																						<input type="radio" name="S_Info" value="PI" checked /> Sans Importance
    												
    					</form>	
    				</td>
    										
    				<tr>
    					<td>
    						<Font color = #FF0000 Style="margin-left:15px;" >Raison : </font> <textarea name="T_Comment" rows="4" cols="50" style= "margin-left:150px"></textarea>
    					</td>
    				</tr>
    				
    				<tr>
    					<td>
    						</br> <input type="checkbox" name="CK_Affichage" value="Oui" checked Style="margin-left:11px;" /> Pour que votre réservation <b>n'apparaisse pas</b> sur l'écran à l'accueil, <b>décochez</b> cette case.</b>
    					</td>
    				</tr>
    				<tr><td>&nbsp;</td></tr>
    				<tr>
    					<td colspan="3" align="center">
    						<input type="button" value="Valider" name="B_Valider" onClick="Valider();" />
    						&nbsp;&nbsp;
    						<input type="reset" value="Annuler" name="B_Reset" />
    					</td>
    				</tr>
    				<tr><td>&nbsp;</td></tr>
    			</table>
    			</form>
    			</center>
    			</div>
    		</div>
    	</div>
    </body>
    </html>
    Fichier choix.asp

    Code:
    <%@ Language=VBScript %>
    
    <%if (session("ID_User") = "") then
           response.redirect "../index.asp"
    End if%>
    
    <html>
    <head>
           <title> Projet </title>
           <link rel="stylesheet" type="text/css" href="../../style.css" />
           <script language="Javascript" src="../../javascript/javascript.js"></script>
    
    <script language="Javascript">
    function Dispo(type)
    {	
    	if (sup_elt.length <= 0)
           {
    		   alert("Vous devez sélectionner une salle pour voir ses disponibilités !");
           }
           else
           {
    		   document.F_Reserv.submit();
           }
    }
    </script>
    
    </head>
    
    <body>
     <div id="conteneur">
                   <!-- #include file="../../javascript/calendrier1mois.asp"-->
                   <!-- #include file="../../MiseEnForme/header.asp"-->
                   <!-- #include file="../../MiseEnForme/menuHorizontal.asp"-->
                   <div id="conteneur2">
                           <!-- #include file="../../MiseEnForme/menuVerticalPrive.asp"-->
                           <div id="centre">
                           <form name="F_Reserv" method="post" action="recapReservationSalle.asp">
                           <input type="hidden" name="H_Lieu" value="<%=request.form("S_Lieu")%>" />
                           <input type="hidden" name="H_Cap" value="<%=request.form("S_Cap")%>" />
    					   <input type="hidden" name="H_Info" value= "<%=request.form("S_Info")%>"/>
    					   <input type="hidden" name="H_Comment" value="<%=request.form("T_Comment")%>" />
    					   <input type="hidden" name="H_Affichage" value="<%request.form("CK_Affichage")%>"/>
    					   <input type="hidden" name="H_Salle" />
                           <center>
                           <b> Réserver une salle </b>
                           <br/>
                           à <%=request.form("S_Lieu")%> <br/> pouvant contenir <%=request.form("S_Cap")%> avec salle info ? <%=request.form("S_Visio")%> 		
    				       <br/><br/>
                           <table class="miniCorps" width="800">
                                   <tr>
                                           <td colspan="6" class="entete"> Liste des salles disponibles </td>
                                   </tr>
                                   <tr align="center">
                                           <td width="175">
                                                   <b>Salle</b>
                                           </td>
    									   
    									   <td width="175">
                                                   <b>Etage</b>
                                           </td>
    									   
    									   <td width="175">
                                                   <b>Localisation</b>
                                           </td>
    									  								   
    									   <td width="175">
                                                   <b>Capacité</b>
                                           </td>
    									   
    									   <td width="175">
                                                   <b>Info</b>
                                           </td>	
    									   
                                           <td width="100">
                                                   <b>Réserver</b>
                                           </td>
                                   </tr>
                                 
                                           <tr><td>&nbsp;</td><tr>
                                           <tr>
                                                   <td colspan="6" align="center">
                                                           <input type="button" name="B_Dispo" value="Voir les disponibilités" onclick="Dispo('');" />
                                                           <br/>&nbsp;
                                                   </td>
                                           </tr>
                               
    						res_choixSalle.Close
    			
                           </table>
                           </center>
                           </form>
                           </div>
                   </div>
           </div>
    </body>
    </html>
    
    <%
    ' On récupére les infos du formulaire de saisie
        
    	'sql = ""																					'Pour les espaces... mais vu que c'est dans une liste déroulante pas besoin
    	
    	sql = "Select * from Salle S " 																'Sélectionner tous les éléments de la salle dans la table salle
    	sql = sql & "where 1 = 1 "																	'pour que la condition soit toujours vraie
    	
    	<%if Len(Trim(request("S_Lieu"))) > 0 then%>			      								'Si l'utilisateur choisi un lieu 
    		sql = sql & "and H_Lieu = '" & request.form("S_Lieu") & "' "							'alors on rajoute le lieu à Where
    	<%end if%>
    	
    	<%if Len(Trim(request("S_Cap"))) > 0 then%>				  									'Si l'utilisateur choisi une capacité 
    		sql = sql & "and H_Cap = '" & request.form("S_Cap") & "' " 								'alors on rajoute la capacité à Where
    	<%end if%>
    	
    	<%if Len(Trim(request("S_info"))) > 0 then%> 				  								'Si l'utilisateur veut la info
    		sql = sql & "and H_info = '" & request.form("S_info") & "' "							'alors on rajoute la salle info à Where
    	<%end if%>
    		
    	sql = sql & "order by ASC, R_Info = 1"                              						'résultat ordonné par odre alphabétique et ensuite par salle qui sont informatisées.                     
    	MesEr = " Aucune salle ne correspond à votre requête. Veuillez réitérer votre recherche. "  'Message d'erreur si la requête ne trouve rien.
    	
    	
    	'Demande si l'utilisateur veut que sa salle soit affichée sur l'écran de l'accueil
    	
    	' <%if Len(request("CK_Affichage")) > 0 then%>					'Si oui
    	'		sql = sql & "and H_Affichage = '" & request.form("CK_Affichage") & " ' " 'alors on rajoute l'affichage à Where
    	' <%end if%> 
    	 
    %>
    Je précise que ma base de données regroupent les tables suivantes: User, User_Droits, Salles, Reservations.

    Merci d'avance :)
     
  2. loubet
    loubet WRInaute impliqué
    Inscrit:
    19 Février 2003
    Messages:
    788
    J'aime reçus:
    0
    If (session("ID_User") = "") Then

    en vb comme dans les autres langages, = c'est pour affecter, == pour comparer
     
  3. rienneseperd
    rienneseperd Nouveau WRInaute
    Inscrit:
    5 Février 2015
    Messages:
    1
    J'aime reçus:
    0
    En asp.net oui, en asp (tout court) non.
    L'opérateur = utilisé dans un bloc conditionnel implique une comparaison et non une affectation.

    cf. https://msdn.microsoft.com/fr-fr/library/9hck4s70%28v=vs.84%29.aspx

    Dans l'exemple evoqué cela semble bien être de l'asp/vbscript.

    @Yana20:

    Je doute que cette condition soit utile puisqu'elle est toujours vraie.

    Sauf erreur de ma part tu construis bien ta requête dans ta variable "sql" mais je ne vois pas son exécution ni le traitement des résultats.
    Tu peux afficher sur la page choix.asp ton "message d'erreur" et indiquer à l'utilisateur de réaliser une nouvelle saisie avec de nouveaux critères avec un lien vers la page saisie.asp. Pour ta mise en forme elle n'est pas liée à SQL mais doit être gérée via les CSS.
    Par contre à ta place et ça n'est que mon avis, je ne maitrise pas toutes les contraintes liées à ton projet, j'aurais fait une unique page de recherche avec en première partie de page le formulaire de recherche et en dessous les résultats.

    Enfin pour finir, je déconseillerai l'emploi des technologies asp dont la dernière release date d'environ une quinzaine d'années, ce language ayant été abandonné au profit des technologies .net (asp.net & c#/vb.net ...). Si tu dois/veux rester sur des technologies miscrosoft je te conseille de passer au .net (Ne connaissant pas le contexte du projet je ne peux cependant me prononcer sur les contraintes de migration technique que tu peux rencontrer).

    Bon courage & a dispo au besoin.
    Cordialement.
     
  4. Yana20
    Yana20 Nouveau WRInaute
    Inscrit:
    24 Avril 2015
    Messages:
    2
    J'aime reçus:
    0
    Bonjour !

    Je vous remercie à tous les deux pour vos réponses. D'accord pour ce qui concerne

    c'est bien le égal qui marche (j'en suis sur, je l'ai repris de l'existant) mais merci quand même loubet :)

    Pour le fichier choix.asp voici mon code normalement finalisé (mon server plante toujours donc pas moyen de vérifier si ça marche...):

    Code:
    <%@ Language=VBScript %>
    
    <%if (session("ID_User") = "") then
           response.redirect "../index.asp"
    End if%>
    
    <html>
    <head>
    <!-- #include file="../../parametresAutan.asp"-->
           <title> Projet </title>
           <link rel="stylesheet" type="text/css" href="../../style.css" />
           <script language="Javascript" src="../../javascript/javascript.js"></script>
    
    <script language="Javascript">
    function Dispo(type)
    {	
    	if (sup_elt.length <= 0)
           {
    		   alert("Vous devez sélectionner une salle pour voir ses disponibilités !");
           }
           else
           {
    		   document.F_Reserv.submit();
           }
    }
    </script>
    
    </head>
    
    <body>
     <div id="conteneur">
                   <!-- #include file="../../javascript/calendrier1mois.asp"-->
                   <!-- #include file="../../MiseEnForme/header.asp"-->
                   <!-- #include file="../../MiseEnForme/menuHorizontal.asp"-->
                   <div id="conteneur2">
                           <!-- #include file="../../MiseEnForme/menuVerticalPrive.asp"-->
                           <div id="centre">
                           <form name="F_Reserv" method="post" action="recapReservationSalle.asp">
                           <input type="hidden" name="H_Lieu" value="<%=request.form("S_Lieu")%>" />
                           <input type="hidden" name="H_Cap" value="<%=request.form("S_Cap")%>" />
    					   <input type="hidden" name="H_Visio" value= "<%=request.form("S_Visio")%>"/>
    					   <input type="hidden" name="H_Comment" value="<%=request.form("T_Comment")%>" />
    					   <input type="hidden" name="H_Affichage" value="<%request.form("CK_Affichage")%>"/>
    					   <input type="hidden" name="H_Salle" />
                           <center>
                           <b> Réserver une salle </b>
                           <br/>
                           à <% response.write rs_choixSalle("S_Lieu") %> <br/> 
    					   pouvant contenir <% response.write rs_choixSalle("S_Cap") %> <br/> 
    					   avec Visio ? <% response.write rs_choixSalle("S_Visio") %>
    
    				       <br/><br/>
                           <table class="miniCorps" width="800">
                                   <tr>
                                           <td colspan="6" class="entete"> Liste des salles disponibles </td>
                                   </tr>
                                   <tr align="center">
                                           <td width="175">
                                                   <b>Salle</b>
                                           </td>
    									   
    									   <td width="175">
                                                   <b>Etage</b>
                                           </td>
    									   
    									   <td width="175">
                                                   <b>Localisation</b>
                                           </td>
    									  								   
    									   <td width="175">
                                                   <b>Capacité</b>
                                           </td>
    									   
    									   <td width="175">
                                                   <b>Info</b>
                                           </td>	
    									   
                                           <td width="100">
                                                   <b>Réserver</b>
                                           </td>
                                   </tr>
                                 
                                           <tr><td>&nbsp;</td><tr>
                                           <tr>
                                                   <td colspan="6" align="center">
                                                           <input type="button" name="B_Dispo" value="Voir les disponibilités" onclick="Dispo('');" />
                                                           <br/>&nbsp;
                                                   </td>
                                           </tr>
                               
    						res_choixSalle.Close
    			
                           </table>
                           </center>
                           </form>
                           </div>
                   </div>
           </div>
    </body>
    </html>
    
    
    <script language="Javascript">
    var arrayLignes = document.getElementById("Reservations").rows; 						//l'array est stocké dans une variable
    var longueur = arrayLignes.length;													//on peut donc appliquer la propriété length
    var i=1; 																			//on définit un incrémenteur qui représentera la clé
    
    while(i<longueur)
    {
    
    	if(i === 2) 																		 // si la ligne est égal à 2 
    	{
    		arrayLignes[i].style.backgroundColor = "#008080";							    // alors la ligne 2 prend la couleur verte
    	}	
    	else if(i % 2 == 0)																   // si la clé est paire
    	{
    		arrayLignes[i].style.backgroundColor = "#bdcbf5";							  // alors la ligne prendra la couleur violet claire
    	}
    	else 																			 // elle est impaire
    	{
    		arrayLignes[i].style.backgroundColor = "#829eeb";							// alors la ligne prendra la couleur violet foncé
    	}
    	i++;
    }
    </script>
    
    
    <%
    ' On récupére les infos du formulaire de saisie
        
    	'sql = ""																					'Pour les espaces... mais vu que c'est dans une liste déroulante pas besoin
    	
    	sql = "Select * from Salle S " 																'Sélectionner tous les éléments de la salle dans la table salle
    	sql = sql & "where 1 = 1 "																	'pour que la condition soit toujours vraie
    	
    	if Len(Trim(request.form("S_Lieu"))) > 0 then			      							'Si l'utilisateur choisi un lieu 
    		sql = sql & "and H_Lieu = '" & request.form("S_Lieu") & "' "							'alors on rajoute le lieu à Where
    	end if
    	
    	if Len(Trim(request.form("S_Cap"))) > 0 then				  							'Si l'utilisateur choisi une capacité 
    		sql = sql & "and H_Cap = '" & request.form("S_Cap") & "' " 								'alors on rajoute la capacité à Where
    	end if
    	
    	if Len(Trim(request.form("S_Visio"))) > 0 then 				  							'Si l'utilisateur veut la visio
    		sql = sql & "and H_Visio = '" & request.form("S_Visio") & "' "							'alors on rajoute la visio à Where  			
    	end if
    	
    	sql = "order by ASC, R_Visio = 1"  															'ordonné par ordre alphabetique et par salle visio
    	
    	if not rs_choixSalle.eof then																'Si le choix correspond à une requete
    		
    		do while not rs_choix.eof
    
    			response.write "<tr><td>" 
    			& rs_choixSalle("S.Nom")
    
    			& "</td><td> " 
    			& rs_choixSalle("S.Etage") 		
    			
    			& "</td><td> " 
    			& rs_choixSalle("S.Lieu")
    
    			& "</td><td> " 
    			& rs_choixSalle("S.Capacite") 
    		
    			& "</td><td> " 
    			& rs_choixSalle("S.Visio") 
    		
    			& "</td><td align=""center""> <input type=""radio"" name=""R_Salle"" value="" " 
    			& rs_choixSalle("ID_Salle") 
    			
    			& " "" /></td></tr>" 
    			
    			rs_choixSalle.MoveNext
    		
    		loop
    	
    	else																					'Sinon afficher un message d'erreur.
    		
    		response.write "<tr><td colspan=""3"" align=""center""><br/><b><font color=""red"">Aucune salle ne correspond à vos critères, veuillez réitérer votre recherche.</font></b><br/>&nbsp;</td></tr>"
    	
    	end if
    	
    	
    	'Demande si l'utilisateur veut que sa salle soit affichée sur l'écran de l'accueil
    	
    	if Len(request("CK_Affichage")) > 0 then											'Si oui
    			sql = sql & "and H_Affichage = '" & request.form("CK_Affichage") & " ' "    'alors on rajoute l'affichage à Where
    	end if
    	 
    %>
    Je trouve que c'est une très bonne idée, je n'y avais pas pensé :) Donc si je comprend bien, à la validation du formulaire, au lieu de changer de page, ça me l'affiche sur la même page ce qui est plus simpa pour l'utilisateur j'imagine ?

    Mon cher rienneseperd, je pense exactement la même chose que toi, et j'avoue que pour moi, le php reste le meilleure langage pour développer sur du web (avec js/html/css quoi). Malheureusement, je n'ai pas le choix, je suis obligée de continuer avec ce langage pour plusieurs raisons (entre autre le fait qu'il y a une cinquantaine de fichier asp sans parler de mon travail actuel, que je ne peux pas migrer, et ensuite pour une question de temps, je dois boucler ce projet avant le 10 juin...).

    Est-ce que tu t'y connais en ce qui concerne les agendas/calendrier en asp ? Car voilà mon deuxième soucis: après avoir validé le formulaire, et vue les salles qui correspondaient à leur critères, l'utilisateur clique sur une des salles et doit s'afficher un agenda de cette salle. Là, il peut choisir un créneau en cliquant sur l'agenda, et réserver une salle. Est-ce que tu crois pouvoir m'aider ? J'ai commencer le html.
     
Chargement...
Similar Threads - Application web réservation Forum Date
Une web application Node.JS en iframe Développement d'un site Web ou d'une appli mobile 20 Mai 2020
prix d'une application web ( site internet + plateforme de mise en relation) Développement d'un site Web ou d'une appli mobile 13 Septembre 2019
Intérêt d'une application mobile identique au site WEB ? Débuter en référencement 18 Avril 2018
Utiliser le template responsive de mon site web pour mon application mobile Développement d'un site Web ou d'une appli mobile 15 Février 2016
Quel avenir - sites web versus applications pour smartphones ? Le café de WebRankInfo 28 Décembre 2014
Protéger un application web (site local) Droit du web (juridique, fiscalité...) 17 Juin 2014
Logiciel ou application WEB ? Le café de WebRankInfo 8 Janvier 2014
Une application web, pas exactement un site Demandes d'avis et de conseils sur vos sites 8 Août 2011
Référencer une application web Débuter en référencement 28 Août 2010
Google livre les outils qui ont permis de créer ses applications web Google : l'entreprise, les sites web, les services 12 Novembre 2009
Application Twitter (web) pour les conversations Demandes d'avis et de conseils sur vos sites 3 Juillet 2009
Les applications iPhone pour webmaster Administration d'un site Web 18 Juin 2009
CPM, Adsense, autres régies... et applications web ? Monétisation d'un site web 18 Mai 2009
Framakey WebApps, applications web portables Développement d'un site Web ou d'une appli mobile 20 Avril 2009
Débuter en application web Java Développement d'un site Web ou d'une appli mobile 19 Février 2009
Le WAF (web application fire wall = reverse proxy) contre les attaques web Administration d'un site Web 20 Novembre 2008
Application Mobile (IOS/Android) Le café de WebRankInfo 27 Novembre 2021
Besoin d'aide pour le lancement de mon Application Demandes d'avis et de conseils sur vos sites 12 Août 2021
Besoin d'aide pour la compréhension d'une application Développement d'un site Web ou d'une appli mobile 1 Août 2021
Développement application mobile Développement d'un site Web ou d'une appli mobile 29 Janvier 2021