Bonjour
Je viens de créer un formulaire, c'est le premier
il est juste ici
Il s'agit d'un bulletin de vote pour cinq prix en littérature. Les votants ont cinq choix à faire dans une liste d'une centaine de valeurs par prix. Je n'ai rentré que deux valeurs par prix pour l'instant, je suis en train de compléter la liste. Puis avant de la développer je veux être certaine de mon code. Jusqu'à maintenant ça semble fonctionner, j'ai juste trois petits problèmes à régler :
1 - Je n'arrive pas à mettre un background blanc à l'ensemble du formulaire.
2 - Certaines valeurs, surtout dans "Meilleurs ouvrages et essais" sont beaucoup plus larges que le width="600" autorisé. J'aimerais savoir s'il est possible de dépasser cette largeur, voir même afficher en plusieurs lignes, quand l'on passe la souris dessus, mais ceci sans que j'ai besoin d'élargir mon champs.
3 - Finalement, le plus important lolol je ne reçois pas le formulaire dans mon courriel. Quelqu'un voit ou est mon erreur?
Voici mon code :
Merci pour votre aide
Modifié par Mireldar (07 Mar 2008 - 23:59)

Je viens de créer un formulaire, c'est le premier

Il s'agit d'un bulletin de vote pour cinq prix en littérature. Les votants ont cinq choix à faire dans une liste d'une centaine de valeurs par prix. Je n'ai rentré que deux valeurs par prix pour l'instant, je suis en train de compléter la liste. Puis avant de la développer je veux être certaine de mon code. Jusqu'à maintenant ça semble fonctionner, j'ai juste trois petits problèmes à régler :
1 - Je n'arrive pas à mettre un background blanc à l'ensemble du formulaire.
2 - Certaines valeurs, surtout dans "Meilleurs ouvrages et essais" sont beaucoup plus larges que le width="600" autorisé. J'aimerais savoir s'il est possible de dépasser cette largeur, voir même afficher en plusieurs lignes, quand l'on passe la souris dessus, mais ceci sans que j'ai besoin d'élargir mon champs.
3 - Finalement, le plus important lolol je ne reçois pas le formulaire dans mon courriel. Quelqu'un voit ou est mon erreur?
Voici mon code :
<?php
// Dans la ligne qui suit, remplacer webmaster@domaine.tld par l'adresse email du webmaster, à laquelle les messages devront être envoyés
$email_webmaster = "shirlmonadresseeditee@domaine.org";
// === traitement des données du formulaire ============================================================
if (isset($_POST["envoyer"])){
// le formulaire a été soumis
$etat = "erreur";
// Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
// --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
if (isset($_POST["email_expediteur"])) {
$_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"]));
}
if (isset($_POST["titre"])) {
$_POST["titre"]=trim(stripslashes($_POST["titre"]));
}
if (isset($_POST["message"])) {
$_POST["message"]=trim(stripslashes($_POST["message"]));
}
if (isset($_POST["adresse"])) {
$_POST["adresse"]=trim(stripslashes($_POST["adresse"]));
}
// --- test de la validité des champs saisis ---
if (empty($_POST["email_expediteur"])) {
// il manque l'email de l'expéditeur
$erreur="Saisissez votre adresse email...";
}
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){
// l'adresse e-mail n'est pas valide
$erreur="Votre adresse e-mail n'est pas valide...";
}
elseif (empty($_POST["adresse"])) {
// le message est vide
$erreur="Saisissez votre adresse";
}
else {
// --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
$etat="ok";
}
}
else {
// --- le formulaire n'a pas été soumis ---
$etat="attente";
}
// === fin de traitement des données du formulaire =======================================================
?>
<html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Form BORÉAL2008</title>
<div align="center">
<img src="http://www.sffq.org/uploads/images/enteteboreal.jpg" alt="" /></div>
</head>
<body>
<div align="center">
<h1>BORÉAL 2008</h1>
<h2>Bulletin de vote préliminaire</h2></div>
<?php
if ($etat!="ok"){// le formulaire n'a pas été soumis, ou soumis avec une erreur
if ($etat=="erreur"){
//le formulaire a été soumis avec une erreur
echo "<p><strong>".$erreur."</strong></p>\n";
// afficher le message d'erreur
}
?>
<p><table width="600" border="1" align="center"><tr>
<td width="600"><div align="left" height="16"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><i>Ceci est un vote préliminaire. Les cinq oeuvres primées seront votées sur format papier lors du Congrès Boréal. Les œuvres concernées sont uniquement celles de l’année 2007. VOUS N’AVEZ PAS BESOIN D’AVOIR TOUT LU POUR VOTER. Vous pouvez ne pas voter dans une catégorie ou n’exprimer qu’un seul choix. Merci pour votre participation.
</i></font></div></td></tr></table></p>
<?php
$romans = array(
array(
"id" => 1,
"nom" => "Meilleur roman",
"data" =>array(
array(
"id" => 1,
"valeur" => "loups-garous",
"nom" => "Amiot, Renée - Nous serons tous des loups-garous",
),
array(
"id" => 2,
"valeur" => "naufragés",
"nom" => "Bacon, Annie - Terra Incognita, tome 1 -Les naufragés de Chélon",
),
),
),
);
foreach($romans as $k => $v){
echo "<table align='center' border='0' width='600'><tbody><tr>\n";
echo "<td width='600' style='text-align:left;font-family:Verdana;font-size:20'>".$v['nom']."</td>\n";
echo "<td align='center' valign='center' width='180'>\n";
echo "</td></tr>\n";
echo "<tr><td align='center' valign='middle' width='180'>\n";
for($xx=0;$xx<5;$xx++){
echo "\n<select name='liste".$v['id']."[".$xx."]' style='width: 600px;'>\n";
echo "\t\t<option value=''></option>\n";
foreach($v['data'] as $k2 => $v2){
echo "\t\t<option value='".$v2['valeur']."'>".$v2['nom']."</option>\n";
}
echo "</select>\n";
}
echo "</td></tr>\n";
echo "</tbody></table>\n";
}
/*
echo"<pre>";
print_r($romans);
echo"</pre>";
*/
$nouvelles = array(
array(
"id" => 2,
"nom" => "Meilleure nouvelle ou novella",
"data" =>array(
array(
"id" => 1,
"valeur" => "Beauté",
"nom" => "Allard, Matt - Beauté fatale [FA], in Nocturne, hors-série 1",
),
array(
"id" => 2,
"valeur" => "Fragments",
"nom" => "Allard, Matt - Fragments [FA], in Horrifique # 56",
),
),
),
);
foreach($nouvelles as $k => $v){
echo "<table align='center' border='0' width='600'><tbody><tr>\n";
echo "<td width='600' style='text-align:left;font-family:Verdana;font-size:20'>".$v['nom']."</td>\n";
echo "<td align='center' valign='center' width='180'>\n";
echo "</td></tr>\n";
echo "<tr><td align='center' valign='middle' width='180'>\n";
for($xx=0;$xx<5;$xx++){
echo "\n<select name='liste".$v['id']."[".$xx."]' style='width: 600px;'>\n";
echo "\t\t<option value=''></option>\n";
foreach($v['data'] as $k2 => $v2){
echo "\t\t<option value='".$v2['valeur']."'>".$v2['nom']."</option>\n";
}
echo "</select>\n";
}
echo "</td></tr>\n";
echo "</tbody></table>\n";
}
/*
echo"<pre>";
print_r($nouvelles);
echo"</pre>";
*/
$ouvrages = array(
array(
"id" => 3,
"nom" => "Meilleur ouvrage ou essais",
"data" =>array(
array(
"id" => 1,
"valeur" => "Allard, Jérôme-Olivier",
"nom" => "Allard, Jérôme-Olivier - Le Cycle d’Elric : un aller simple pour le multivers, in Solaris 162 - La Fanfic: quand le fan devient auteur, in Solaris 164 - Lectures, in Solaris 163",
),
array(
"id" => 2,
"valeur" => "Boudreau, Josée",
"nom" => "Boudreau, Josée - Derniers Lus, in Brins d'éternité #17",
),
),
),
);
foreach($ouvrages as $k => $v){
echo "<table align='center' border='0' width='600'><tbody><tr>\n";
echo "<td width='600' style='text-align:left;font-family:Verdana;font-size:20'>".$v['nom']."</td>\n";
echo "<td align='center' valign='center' width='180'>\n";
echo "</td></tr>\n";
echo "<tr><td align='center' valign='middle' width='180'>\n";
for($xx=0;$xx<5;$xx++){
echo "\n<select name='liste".$v['id']."[".$xx."]' style='width: 600px;'>\n";
echo "\t\t<option value=''></option>\n";
foreach($v['data'] as $k2 => $v2){
echo "\t\t<option value='".$v2['valeur']."'>".$v2['nom']."</option>\n";
}
echo "</select>\n";
}
echo "</td></tr>\n";
echo "</tbody></table>\n";
}
/*
echo"<pre>";
print_r($ouvrages);
echo"</pre>";
*/
$artistique = array(
array(
"id" => 4,
"nom" => "Meilleure création artistique visuelle ou audiovisuelle",
"data" =>array(
array(
"id" => 1,
"valeur" => "Bayadjiev",
"nom" => "Bayadjiev, Alexandre - Le Diable et la lune (Isatis)"
),
array(
"id" => 2,
"valeur" => "Bourguignon, Pascale",
"nom" => "Bourguignon, Pascale - L’Enfant dans le miroir (Marchand de feuille)",
),
),
),
);
foreach($artistique as $k => $v){
echo "<table align='center' border='0' width='600'><tbody><tr>\n";
echo "<td width='600' style='text-align:left;font-family:Verdana;font-size:20'>".$v['nom']."</td>\n";
echo "<td align='center' valign='center' width='180'>\n";
echo "</td></tr>\n";
echo "<tr><td align='center' valign='middle' width='180'>\n";
for($xx=0;$xx<5;$xx++){
echo "\n<select name='liste".$v['id']."[".$xx."]' style='width: 600px;'>\n";
echo "\t\t<option value=''></option>\n";
foreach($v['data'] as $k2 => $v2){
echo "\t\t<option value='".$v2['valeur']."'>".$v2['nom']."</option>\n";
}
echo "</select>\n";
}
echo "</td></tr>\n";
echo "</tbody></table>\n";
}
/*
echo"<pre>";
print_r($artistique);
echo"</pre>";
*/
$fanique = array(
array(
"id" => 5,
"nom" => "Meilleure activité fanique ou semi-professionnelle",
"data" =>array(
array(
"id" => 1,
"valeur" => "Brins d'éternité",
"nom" => "Brins d'éternité"
),
array(
"id" => 2,
"valeur" => "Clair/Obscur",
"nom" => "Clair/Obscur",
),
),
),
);
foreach($fanique as $k => $v){
echo "<table align='center' border='0' width='600'><tbody><tr>\n";
echo "<td width='600' style='text-align:left;font-family:Verdana;font-size:20'>".$v['nom']."</td>\n";
echo "<td align='center' valign='center' width='180'>\n";
echo "</td></tr>\n";
echo "<tr><td align='center' valign='middle' width='180'>\n";
for($xx=0;$xx<5;$xx++){
echo "\n<select name='liste".$v['id']."[".$xx."]' style='width: 600px;'>\n";
echo "\t\t<option value=''></option>\n";
foreach($v['data'] as $k2 => $v2){
echo "\t\t<option value='".$v2['valeur']."'>".$v2['nom']."</option>\n";
}
echo "</select>\n";
}
echo "</td></tr>\n";
echo "</tbody></table>\n";
}
/*
echo"<pre>";
print_r($fanique);
echo"</pre>";
*/
?>
<p><table width="600" border="1" align="center"><tr>
<td width="600"><div align="left" height="16"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><i>Cette liste, bien qu'exhaustive, peut s'avérer incomplète. Si vous désirez voter pour une ou plusieurs oeuvres ne figurant pas dans cette liste, je vous invite à les inscrire ici. Max.5 par catégorie.
</i></font></div></td></tr></table></p>
<p><table width="600" align="center"><tr><td width="600"><div align="left" height="16">
<label for="message">Autres suggestions:</label><br />
<textarea name="message" id="message" cols="72" rows="5"><?php
if (isset($_POST["message"])) {
// le message a été saisi: le réafficher
echo htmlspecialchars($_POST["message"],ENT_QUOTES);
}
?></textarea></td></tr></table>
</p>
<p><table width="600" border="1" align="center"><tr>
<td width="600"><div align="left" height="16"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><i>Ces renseignements sont nécessaires à la validitation de votre bulletin ; Ils resteront confidentiels :
</i></font></div></td></tr></table></p>
<p><table width="600" align="center"><tr><td width="600"><div align="left" height="16">
<label for="titre">Votre nom (obligatoire):</label><br />
<input type="text" size="40" name="titre" id="titre" value="<?php
if (!empty($_POST["titre"])) {
// le titre du message a été saisi: le réafficher
echo htmlspecialchars($_POST["titre"],ENT_QUOTES);
}
?>" /></td></tr></table>
<table width="600" align="center"><tr><td><form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<p><label for="email_expediteur">Votre courriel (obligatoire):</label><br />
<input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php
if (!empty($_POST["email_expediteur"])) {
// l'adresse email de l'expéditeur a été saisie: la réafficher
echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES);
}
?>" /></td></tr></table>
<table width="600" align="center"><tr><td><p><label for="message">Votre adresse (obligatoire):</label><br />
<textarea name="message" id="message" cols="40" rows="5" value=:"Adresse/rue/ville/province/code postal/pays"><?php
if (isset($_POST["adresse"])) {
// le message a été saisi: le réafficher
echo htmlspecialchars($_POST["message"],ENT_QUOTES);
}
?></textarea></td></tr></table>
</p>
<table width="600" align="center"><tr><td><p><input type="submit" name="envoyer" value="Envoyer" /></td></tr>
</table>
</p>
</form>
<?php
}
else {
// le formulaire a été soumis sans erreur, on envoie le mail
$entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n";
$entete .= "MIME-Version: 1.0";
if (@mail($email_webmaster,$_POST["titre"],$_POST["adresse"],$entete)){
// mail envoyé
echo "Votre bulletin de vote a été envoyé. Merci pour votre participation.<br />\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">nnn</a>\n";
}
else {
// erreur lors de l'envoi du mail
echo "Un problème s'est produit lors de l'envoi de votre bulletin.\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Veuillez réessayer...</a>\n";
}
}
?>
</body>
</html>
Merci pour votre aide

Modifié par Mireldar (07 Mar 2008 - 23:59)