J'accède à une page de formulaire via un paramètre :
resa_formulaire.php?id_room={$id_room}
Ensuite, resa_formulaire.php me permet de remplir un formulaire qui envoie des données via messagerie.Malheureusement, quand je valide ou quand je ne remplit pas un champ, la page se recharge mais visiblement mon paramètre $id_room "a disparu" car je me prend une erreur de type : Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /preprod-php/www/dr78-drinet/grr-prod/mysql.php.inc on line 77
Je met le code de la page resa_formulaire.php :
<?php
session_name("dr78-drinet");
session_start();
require_once("plat_php_auth.php.inc");
require_once("Ldin.php");
plat_php_verif("no", "Gestion et réservation des ressources");
$idep_ldap = $_SESSION['plat_php']['user'];
//Connexion à l'annuaire ldap
LdinConnexion();
$liste_ldap=LdinSearchPersonnes("uid=$idep_ldap");
$individu_ldap=$liste_ldap[0];
// $individu est un tableau associatif dont les clefs sont 'nom',
// 'prenom', 'mail', 'idep', 'dr', 'mvs', 'unite'
LdinDeconnexion();
require_once "config.php.inc";
require_once "functions.php.inc";
require_once "mysql.php.inc";
// Settings
require_once("./settings.php.inc");
//Chargement des valeurs de la table settingS
if (!loadSettings())
die("Erreur chargement settings");
// Session related functions
require_once("./session.php.inc");
resumeSession();
// Paramètres langage
require_once "language.php.inc";
if ((!isset($_SESSION['login']))) {
$type_session = "no_session";
} else {
$type_session = "with_session";
}
$id_room = isset($_GET["id_room"]) ? $_GET["id_room"] : NULL;
$res = sql_query("SELECT * FROM mrbs_room WHERE id=$id_room");
$row = sql_row_keyed($res, 0);
sql_free($res);
$form_description = $row["description"];
$form_area_id = $row["area_id"];
$form_nom_salle = $row["room_name"];
$res1 = sql_query("SELECT * FROM mrbs_area WHERE id=$form_area_id");
$row1 = sql_row_keyed($res1, 0);
sql_free($res1);
$form_type = $row1["area_name"];
//Envoi du formulaire
if(isset($_POST['action']) == 'Submitted')
{
$adress = "{$_POST['bal']}";
$sujet = "Demande de reservation";
$message = "<html><body style='font-family: Arial; font-size: 10 pt'>
<p>Une demande de réservation a été effectuée depuis l'application <a href='http://www.exemple.fr'>Gestion et réservation des ressources</a></p>
<p>Type de réservation : <b>{$_POST['type']}</b></p>
<p>Description rapide : <b>{$_POST['name']}</b></p>
<p>Description complète (Nombre de personnes, etc) : <b>{$_POST['description']}</b></p>
<p>Nom du demandeur : <b>{$individu_ldap['nom']}</b></p>
<p>Prénom du demandeur : <b>{$individu_ldap['prenom']}</b></p>
<p>Adresse de messagerie du demandeur : <b>{$individu_ldap['mail']}</b></p>
</body></html>";
$entete = "Content-type:text/html\nFrom: [email protected]\n";
mail($adress, $sujet, $message, $entete);
//page de sortie
$insertGoTo = "fin_resa.htm";
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Demander une réservation</TITLE>
<link rel="stylesheet" type="text/css" href="css/style_eds.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function verif_champs()
{
if(document.forml.type.value == "0")
{
alert("Veuillez choisir un type de réservation SVP");
document.forml.rooms.focus();
return false;
}
}
</script>
</HEAD>
<BODY>
<h1>Formulaire de réservation : <?php echo $form_type; ?></h1>
<form name="forml" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" onSubmit="return verif_champs()">
<p align="center"><b>Vous souhaitez réserver la ressource suivante : <br>
<?php echo $form_type;?><br>
<?php echo $form_nom_salle;?><br>
<?php echo $form_description;?></p></b>
<TABLE border=0>
<TBODY>
<TR>
<TD vAlign=top>Ressource :</TD>
<TD></TD></TR>
<TR>
<TD vAlign=top>Type de réservation :</TD>
<TD><SELECT name=type size=1>
<OPTION value="0" selected>(choisissez)</option>
<option value="Réunion">Réunion</option>
<option value="Communication">Comm'</option>
<option value="Visio-conférence">Visio</option>
<option value="RP">RP</option>
<option value="Formation">Formation</option>
<option value="Concours et examens">Concours</option>
<option value="Autre">Autre</option>
<option value="Indisponible">Indisponible</option>
</SELECT></TD></TR>
<TR>
<TD vAlign=top>Brève description :</TD>
<TD><INPUT size=40 name=name></TD></TR>
<TR>
<TD vAlign=top>Description complète:<BR>(Nombre de personnes,<br>besoin en matériel...)</TD>
<TD><TEXTAREA name=description rows=8 cols=40></TEXTAREA></TD></TR>
<TR>
<TD vAlign=top><p>Durée de la réservation :<BR>
- Nombre de jours<br>
- Dates<br>
- Heure de début<br>
- Heure de fin </p> </TD>
<TD vAlign=top><TEXTAREA name=horaire rows=8 cols=40></TEXTAREA></TD>
</TR>
<tr>
<TD vAlign=top>Envoyer la demande auprès </TD>
<TD vAlign=top><SELECT name=bal size=1>
<option selected>(choisissez)</option>
<option value="[email protected]">du secrétariat de la DIR</option>
<option value="[email protected]">du secrétariat du SAR</option>
<option value="[email protected]">du secrétariat du SED</option>
<option value="[email protected]">du secrétariat du SES</option>
</SELECT></TD>
</tr>
<tr>
<TD colspan="2" vAlign=top>
<div align="center">
<input type="submit" name="Submit" value="Envoyer">
<input type="hidden" name="action" value="submitted">
</div></TD>
</tr>
</TBODY></TABLE>
<p> </p>
</FORM>
</BODY>
</HTML>
En espérant que je suis assez clair