8792 sujets

Développement web côté serveur, CMS

bonjour
J'ai un formulaire qui me pose des problemes, et plus exactement la récupération des varables d'une liste déroulante. J'ai tourné le script dans tous les sens, je sais que je suis pas loin mais bon, je trouve pas.
Le plus simple étant de poser le script alors voila :

<?php 
$email_dest = "mon@adresse.com";
// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: expediteur<email expediteur>\n";
$headers .="Content-Type: text/html; charset=iso-8859-1 \n";
$subject = "Inscription dans l'annuaire";
$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head><body bgcolor=#FFFFFF>";

for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . $_POST['liste'] ."</font><br>";
}

if ($_POST['nbre_zone_email'] != 0) {
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
}
if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
$partie_zone_texte = stripslashes($partie_zone_texte);
}
$fin = "</body></html>";
$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;
// Send the e-mail
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} 
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><script language="JavaScript">
function verifSelection() {if (mail_form.champ1.value == "") {
alert("remplir tous les champs")
return false
} if (mail_form.champ2.value == "") {
alert("remplir tous les champs")
return false
} } 
</script>
</head>
<body>
<form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
<div align="center"></div><p align="center">

							 <table width="566" border="1" align="center">
   <p align="center"> </p>
    <tr><td colspan="2" class="infoBoxHeading"><div align="center">merci de remplir les champs suivants</div></td>
 <tr><td class="infoBoxContents">Rubrique</td>
    					     
    <td><select name="liste" size="1">
        <option selected style="color:#FF0000">ARCHITECTURE</option>
        <option>Architecture</option>
        <option>Design</option>
        <option>-------------------------</option>
        <option style="color:#FF0000">ARTISTES</option>
        <option>Peintres</option>
        <option>Photographes</option>
        </select></td>
  </tr>
  <tr><td td class="infoBoxContents">Nom</td>
 <td><input name="champ3" type="text"></td></tr>
<tr><td td class="infoBoxContents">Prénom</td>
<td><input name="champ4" type="text"></td></tr>
<tr><td td class="infoBoxContents">Téléphone</td>
<td><input name="champ5" type="text"></td></tr>
<tr><td td class="infoBoxContents">Adresse</td>
<td><input name="champ6" type="text"></td></tr>
<tr><td td class="infoBoxContents">E-Mail</td>
<td><input name="zone_email" type="text"></td></tr>
 <tr><td td class="infoBoxContents">Description</td>
 <td><textarea name="zone_texte" cols="25" rows="5"></textarea></td></tr>
<tr><td valign="top">
<input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="4"> 
<input name="nbre_zones_texte" type="hidden" value="1"> 
<input name="nbre_zone_email" type="hidden" value="1"> 
 <input name="titre_champ1" type="hidden" value="rubrique"> 
<input name="titre_champ3" type="hidden" value="nom"> 
<input name="titre_champ4" type="hidden" value="prenom">
<input name="titre_champ5" type="hidden" value="telephone">
<input name="titre_champ6" type="hidden" value="adresse">
<input name="titre_email" type="hidden" value="e-mail">
<input name="titre_zone" type="hidden" value="description"></td>
 <td><div align="center"> 
<input type="reset" name="Reset" value="Effacer">
<input type="submit" name="envoi" value="Envoyer">
 </div></td>
</tr></table>
	


Merci salut
ce_l
Bonjour,

Il faut que tu donnes une valeur à chacune de tes options :

<option value="architecture">Architecture</option>
Salut Eradwen
J'ai essaye comme tu dis deja, en donnant une valeur pour chaque de 1, 2, 3 ,...
Mais ca ne résout pas mon probleme en fait il se situe surtout ici
for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . $_POST['liste'] ."</font><br>";
}

C'est a dire que je recoit ma variable mais évidemment, elle se place sur toutes les lignes de texte.
Genre en résultat j'ai :
Rubrique =
Nom = Bertignacarchitecture
Prénom = Louisarchitecture
Telephone = 0000000000architecture
adresse = impasse trucmuchearchitecture
Mail = son@adresse.com
Description =
Ben c'est normal, puisque ta boucle dit que pour chacun des champs textes, affiche leur valeur et à la suite la valeur du select box "liste".

Je ne comprend pas trop le résultat que tu recherches.
Modifié par Eradwen (13 Jul 2006 - 16:15)
Oui je sais, j'ai mis $_POST['liste'] comme ca car je savais pas ou le mettre.
Mais je voudrais juste qu'il s'affiche correctement, à sa ligne d'origine soit :
Rubrique = ici
nom =
prénom
...
J'arrive pas a le parametrer pour qu'il apparaisse correctement
c tout
bye
ce_l
Ben l'intitulé du forum c'est : "Standards web et langages serveurs " Qui dit languages serveurs dit php d'ou la question ...
ce_l
Administrateur
ce_l a écrit :
Ben l'intitulé du forum c'est : "Standards web et langages serveurs " Qui dit languages serveurs dit php d'ou la question ...
ce_l

Justement, le nom du salon est bien "Standards web et langages serveurs" et pas uniquement "langages serveurs".

Le sous-titre du salon est : "PHP, ASP, MySQL, Coldfusion, .NET... réservé aux questions en rapport avec les standards web"

Et l'annonce de ce salon, à lire avant de poster, rappelle ceci :
a écrit :
Le but de ce Salon est de répondre à des problèmes spécifiques de respect des Standards Web rencontrés avec les technologies serveurs (PHP, ASP, .NET, etc). Par exemple :
- gestion des diverses informations spécifiées via HTTP sur le type de contenu, l'encodage, la langue...
- gestion des URL de session PHP...
- code XHTML invalide généré par .Net...

Le but de ce salon n'est pas de répondre à des questions portant sur les tutoriels Alsacréations PHP (le salon "Service Après Vente" est là pour ça), vos premiers pas en PHP, ou l'apprentissage des technologies serveurs en général.

Pour ces questions, merci de vous adresser à un site plus approprié. Par exemple, pour PHP:
Phpdebutant.org: Initiation à PHP et forum spécialisé, parfait pour les débutants
Forum et tutoriaux de PHP-France
Forum de Nexen.net
Documentation officielle de PHP en français
FAQ du groupe de discussion (newsgroup) fr.comp.lang.php
Nombreux liens en anglais pour PHP : tutoriaux, PHP/MySQL, portails, scripts


... d'où la question de Dominique Smiley cligne