Et voila, les scripts fonctionnent.
Premier script rechauteurs.php
<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
$serveur = "localhost";
$admin = "ville_alain";
$mdp = "guylaine";
$base = "ville_bibliotheque";
/* On récupère si elle existe la valeur de l'auteur envoyé par le formulaire */
$aut = isset($_POST['auteurs'])?$_POST['auteurs']:null;
$envoi = isset($_POST['fait']);
if ($envoi != false ) {
include('resultats.php');
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
<title>Sélectionner un titre selon l'auteur choisie</title>
</head>
<body style="font-family: verdana, helvetica, sans-serif; font-size: 100%">
<h3>Chercher un auteur et un titre</h3>
<?php
/* Connexion et stocker l'auteur choisi dans une variable*/
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false){
$choixbase = mysql_select_db($base, $connexion);
$sql1 = "SELECT DISTINCT`auteurs`".
" FROM `nds_bib_`".
" ORDER BY `auteurs`";
$selected_auteur = mysql_query($sql1);
$auteurs = array();
/* On active un compteur pour les auteurs */
$nb_auteurs = 0;
if($selected_auteur != false)
{
while($ligne = mysql_fetch_assoc($selected_auteur))
{
array_push($auteurs, $ligne['auteurs']);
/* On incrémente le compteur */
$nb_auteurs++;
}
}
?>
<?php
/* Création du formaulaire contenant la liste des auteurs*/
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgauteur">
<fieldset style="border: 3px double #333399">
<select name="auteurs" id="auteurs" onchange="document.forms['chgauteur'].submit();">
<option value="-1">- - - Choisissez un auteurs - - -</option>
<?php
for($i = 0; $i < $nb_auteurs; $i++)
{
?>
<option value="<?php echo($auteurs[$i]); ?>"<?php echo((isset($aut) && $aut == $auteurs[$i])?" selected=\"selected\"":null); ?>><?php echo($auteurs[$i]); ?></option>
<?php
}
?>
</select>
<?php
mysql_free_result($selected_auteur);
/* On vérifie si l'on a envoyé un auteur */
if(isset($aut) )
{
/* Si oui, on cré une liste de titre correspondand à l'auteur choisi */
$sql2 = "SELECT auteurs , titre ".
"FROM nds_bib_ ".
"WHERE auteurs = '". mysql_real_escape_string($aut) ."' ".
"ORDER BY titre";
if($connexion != false)
{
$selected_titre = mysql_query($sql2, $connexion);
/* Un compteur pour les auteurs */
$nd = 0;
/* Création de deux tableaux pour les auteurs et les titres */
$nom_auteur = array();
$nom_titre = array();
/* On va mettre les auteur et les titres dans les deux tableaux */
while($ligne_titre = mysql_fetch_assoc($selected_titre))
{
array_push($nom_auteur, $ligne_titre['auteurs']);
array_push($nom_titre, $ligne_titre['titre']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante des titres */
?>
<select name="titre" id="titre">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($nom_titre[$d]); ?>"<?php echo((isset($titre_selectionne) && $titre_selectionne == $nom_titre[$d])?" selected=\"selected\"":null); ?>><?php echo ($nom_titre[$d]) ; ?></option>
<?php
}
?>
</select>
<?php
}
/*Sinon, on Initialiser la variable $selected_titre à NULL; */
mysql_free_result($selected_titre);
}
/* On construit le formulaire contenant le titre et l'auteur choisi */
?>
<br /><input type="submit" name="ok" id="ok" value="Choisir" />
</fieldset>
</form>
<?php
if(isset($_POST['ok']) && isset($_POST['auteurs']) && $_POST['auteurs'] != "")
{
$auteur_selectionne = $_POST['auteurs'];
$titre_selectionne = $_POST['titre'];
include('reservation.php');
}
?>
<?php
/* Terminer, on ferme la connexion */
mysql_close($connexion);
}
else
{
/* Sinon on vérifie les paramètre de connexion
*/
?>
<p>Un incident s'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p>
<?php
}
?>
</body>
</html>
Le deuxième srcipts reservation.php
<?php
$auteur_selectionne = $_POST['auteurs'];
$titre_selectionne = $_POST['titre'];
?>
<html>
</head>
<body>
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr><td><tt><?echo nl2br(stripslashes($message));?></tt></td></tr>
<tr><td> </td></tr>
<tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr>
<tr><td> </td></tr>
</table>
<h2> Formulaire pour réserver un livre</h2>
<form action="<? echo $PHP_SELF ?>" method="post" name="Form">
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr><td colspan="2'="><span class="txterror">Les champs marqué d'un * sont obligatoires</span></td></tr>
<tr><td align="right" width="30%"><span class="txtform">Titre du livre* :</span></td><td><input type="text" style="width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;" name="f_10" value="<?echo ($titre_selectionne);?>" size="0"></td></tr>
<tr><td align="right" width="30%"><span class="txtform">Auteur du livre* :</span></td><td><input type="text" style="width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;" name="f_11" value="<?echo ($auteur_selectionne);?>" size="0"></td></tr>
<tr><td align="right" width="30%"><span class="txtform">Votre nom de famille* :</span></td><td><input type="text" style="width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;" name="f_1" value="<?echo stripslashes($f_1);?>" size="24" border="0"></td></tr>
<tr><td align="right" width="30%"><span class="txtform">Votre prénom* :</span></td><td><input type="text" style="width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>" name="f_2" value="<?echo stripslashes($f_2);?>" size="24" border="0"></td></tr>
<tr><td align="right" width="30%"><span class="txtform">Votre courriel* :</span></td><td><input type="text" style="width:200 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;" name="f_3" value="<?echo stripslashes($f_3);?>" size="24" border="0"></td></tr>
<tr><td align="right" width="30%"><span class="txtform">Votre numéro de téléphone* :</span></td><td><input type="text" style="width:200 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;" name="f_4" value="<?echo stripslashes($f_4);?>" size="24" border="0"></td></tr>
<tr><td align="right" width="30%"><span class="txtform">Votre numéro de membre :</span></td><td><input type="text" style="width:200 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;" name="f_5" value="<?echo stripslashes($f_5);?>" size="24" border="0"></td></tr>
<tr><td align="right" width='30%'></td><td><input type="submit" name="fait" value="Envoyer la réservation" border="0"></td></tr>
</table>
</form>
</body>
et le troisième resultats.php
<?
if(isset($_POST['fait']))
{
$f_6="Votre message nous a bien été transmis, et nous vous en remercions.";
$f_7="Nous allons y donner suite dans les meilleurs délais.";
// Création du message
$titre="Message de votre site";
$tete="From:[email protected]\n";
$corps.="Titre du livre : ".$f_10."\n";
$corps.="Nom de auteur : ".$f_11."\n";
$corps."Votre nom de famille : ".$f_1."\n";
$corps.="Votre prénom : ".$f_2."\n";
$corps.="Votre courriel : ".$f_3."\n";
$corps.="Votre numéro de téléphone : ".$f_4."\n";
$corps.="Votre numéro de membre : ".$f_5."\n";
$message.=" ".$f_6."\n";
$message.=" ".$f_7."\n";
$to= "[email protected]";
mail($to,$titre,$corps,$tete);
?> <table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr><td><tt><?echo nl2br(stripslashes($message));?></tt></td></tr>
<tr><td> </td></tr>
<tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr>
<tr><td> </td></tr>
</table>
<?php
}
?>
<?
if(isset($_POST['fait']))
{
$f_6="Votre message nous a bien été transmis, et nous vous en remercions.";
$f_7="Nous allons y donner suite dans les meilleurs délais.";
// Création du message
$titre="Message de votre site";
$tete="From:[email protected]\n";
$corps.="Titre du livre : ".$f_10."\n";
$corps.="Nom de auteur : ".$f_11."\n";
$corps."Votre nom de famille : ".$f_1."\n";
$corps.="Votre prénom : ".$f_2."\n";
$corps.="Votre courriel : ".$f_3."\n";
$corps.="Votre numéro de téléphone : ".$f_4."\n";
$corps.="Votre numéro de membre : ".$f_5."\n";
$message.=" ".$f_6."\n";
$message.=" ".$f_7."\n";
$to= "[email protected]";
mail($to,$titre,$corps,$tete);
?> <table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr><td><tt><?echo nl2br(stripslashes($message));?></tt></td></tr>
<tr><td> </td></tr>
<tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr>
<tr><td> </td></tr>
</table>
<?php
}
?>
]
Je te remercie beaucoup Cyrano pour ton aide et ta patience. Sans cela, je n'y serait pas parvenu.
Avant de mettre régler sur le sujet, crois tu qu'il serait mieux d'améliorer le scipt, afin qu'il soit utile à d'autre?
Alain