01net    Web


Actuellement en ligne : 252 Utilisateurs dont 6 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > PHP
> Mettre données d'une liste déroulante dans un champ grace à
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
xstorias
  
   
      ?   @     Posté le 15/02/2008 16:06:06  
Voter pour ce message
Bonjour
Voici l'adresse de mon formulaire : http://chicochaleur.pirahack.info/formulaire/test.php

Et voici le code source :
[code]
<?php

// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}

// Vérifier que le formulaire a été envoyé...
if (isset($_POST['envoi'])) {


//On commence une session pour enregistrer les variables du formulaire...

session_start();

$_SESSION['champ1'] = $_POST['champ1'];
$_SESSION['zone_email1'] = $_POST['zone_email1'];
$_SESSION['liste1'] = $_POST['liste1'];
$_SESSION['liste2'] = $_POST['liste2'];

//Evaluation du bouton 1 ...
switch($_POST['bouton1']) {
case "Oui":
$_SESSION['bouton1'] = "Oui";
break;
case "Non":
$_SESSION['bouton1'] = "Non";
break;
default:
$_SESSION['bouton1'] = "";
} // Fin du switch...

//Enregistrement des zones de texte...
$_SESSION['zone_texte1'] = $_POST['zone_texte1'];
$_SESSION['zone_texte2'] = $_POST['zone_texte2'];
$_SESSION['zone_texte3'] = $_POST['zone_texte3'];

// Définir l\'icone apparaissant en cas d\'erreur...


// Définir sur 0 pour afficher un petit x de couleur rouge.
// Définir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilisée dans l\'assistant
// Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le répertoire \'images\',
// ce dernier devant se trouver au même niveau que votre formulaire...
$flag_icone = 0;

// On vérifie si $flag_icone est défini sur 0 ou 1...
if ($flag_icone == 0) {
$icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
} else {
$icone = "<img src=\"images/icone.gif\"";
}

// Définir l'indicateur d'erreur sur zéro...
$flag_erreur = 0;
// N'envoyer le formulaire que s'il n'y a pas d'erreurs...
if ($flag_erreur == 0) {

// Addresse de réception du formulaire
$email_dest = "mail@mail.fr";
$sujet = "Formulaire bien recu, il sera traité dans les plus brefs délais";
$entetes ="MIME-Version: 1.0 \n";
$entetes .="From: Matériels<toto@totocom>\n";
$entetes .="Return-Path: Matériels<toto@centrapel.com>\n";
$entetes .="Reply-To: Matérielstoto@centrapel.com>\n";
$entetes .="Content-Type: text/html; charset=iso-8859-1 \n";
$partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFFF>\n";


//Partie HTML de l'e-mail...
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Merci d'indiquez votre nom = " . $_SESSION['champ1'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Merci d'indiquez votre adresse Email pour la confirmation de la commande = " . $_SESSION['zone_email1'] . "</font><br>\n";
$partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Matériels = " . $_SESSION['liste1'] . "</font><br>\n";
$partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Quantité = " . $_SESSION['liste2'] . "</font><br>\n";
$partie_boutons .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Habitez-vous sur Paris? = " . $_SESSION['bouton1'] . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Merci d'indiquez l'adresse de livraison = " . $_SESSION['zone_texte1'] . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Si vous avez des commentaires ou autre sur la commande = " . $_SESSION['zone_texte2'] . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Récapitulatif de votre commande = " . $_SESSION['zone_texte3'] . "</font><br>\n";


// Fin du message HTML
$fin = "</body></html>\n\n";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin;


// Send the e-mail
if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
echo("Envoi du formulaire impossible");
exit();
} else {

// Rediriger vers la page de remerciement
header("Location:http://chicochaleur.myftp.org/merci.html");
exit();
} // Fin else
} // Fin du if ($flag_erreur == 0) {
} // Fin de if POST
?>
<html>
<head>
<script language="javascript">
function changer_couleurs() {
document.fgColor=document.form.fgColor.value
document.bgColor=document.form.bgColor.value
}
</script>
</head>
<body>
<form name="form">
<select size="1" name="bgColor" onclick="changer_couleurs()">
<option>Choisissez une couleur de fond</option>
<option value="Blue">Bleu</option>
<option value="Red">Rouge</option>
<option value="Green">Vert</option>
<option value="Yellow">Jaune</option>
<option value="Orange">Orange</option>
<option value="Violet">Violet</option>
<option value="Navy">Bleu foncé</option>
</select>

<select size="1" name="fgColor" onclick="changer_couleurs()">
<option>Choisissez une couleur de police</option>
<option value="Blue">Bleu</option>
<option value="Red">Rouge</option>
<option value="Green">Vert</option>
<option value="Yellow">Jaune</option>
<option value="Orange">Orange</option>
<option value="Violet">Violet</option>
<option value="Navy">Bleu foncé</option>
</select>

</form>
</body>
</html>
<html>
<head><script language="JavaScript">
<!--
function Retour()
{
document.write('<form><input type="button" value="Retour" onclick="history.back();"></form>');
}
-->
</script>
<title>Formulaire</title><script language="JavaScript">


function verifSelection() {


if (document.mail_form.champ1.value == "") {
alert("Merci d\'indiquez votre nom")
return false
}

if (document.mail_form.zone_email1.value == "") {
alert("Merci d\'indiquez votre adresse Email")
return false
}

invalidChars = " /:,;'"

for (i=0; i < invalidChars.length; i++) { // does it contain any invalid characters?
badChar = invalidChars.charAt(i)

if (document.mail_form.zone_email1.value.indexOf(badChar,0) > -1) {
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
document.mail_form.zone_email1.focus()
return false
}
}

atPos = document.mail_form.zone_email1.value.indexOf("@",1) // there must be one "@" symbol
if (atPos == -1) {
alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}

if (document.mail_form.zone_email1.value.indexOf("@",atPos+1) != -1) { // and only one "@" symbol
alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}

periodPos = document.mail_form.zone_email1.value.indexOf(".",atPos)

if (periodPos == -1) { // and at least one "." after the "@"
alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}

if (periodPos+3 > document.mail_form.zone_email1.value.length) { // must be at least 2 characters after the
alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}

if (document.mail_form.liste1.value == "") {
alert("Merci de choisir un matériel")
return false
}

if (document.mail_form.liste2.value == "") {
alert("Merci de choisir la quantitée")
return false
}

nbreboutons1 = document.mail_form.bouton1.length

flag = 0

for (i = 0; i < nbreboutons1 ; i++) {

if (document.mail_form.bouton1.checked) {

flag = 1

}

}


if (flag == 0) {

alert("Merci de préciser de lieu où vous résidez")
return false;
}


if (document.mail_form.zone_texte1.value == "") {
alert("Merci de remplir l\'adresse de livraison")
return false
}

} // Fin de la fonction
</script>
</head><body><form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong>Formulaire
d'envoi de Matériels</strong></font></div><br><table align="center" width="566" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="16"><div align="center">
<font color="#CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong><?php
if ($erreur_champ1) {
echo(stripslashes($erreur_champ1));
} else {
if ($erreur_email1) {
echo(stripslashes($erreur_email1));
} else {
if ($erreur_liste1) {
echo(stripslashes($erreur_liste1));
} else {
if ($erreur_liste2) {
echo(stripslashes($erreur_liste2));
} else {
if ($erreur_bouton1) {
echo(stripslashes($erreur_bouton1));
} else {
if ($erreur_texte1) {
echo(stripslashes($erreur_texte1));
} else {
if ($erreur_texte2) {
echo(stripslashes($erreur_texte2));
} else {
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
?>
</strong></font>
</div></td>
</tr>
</table>
<p align="center"></p><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Merci d'indiquez votre Nom</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ1) {
echo($icone);
}
?>
</td>
<td><input name="champ1" type="text" value="<?=stripslashes($_SESSION['champ1']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Merci d'indiquez votre Adresse Email pour la confirmation de la commande</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_email1) {
echo($icone);
}
?>
</td>
<td><input name="zone_email1" type="text" value="<?=stripslashes($_SESSION['zone_email1']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Matériels</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_liste1) {
echo($icone);
}
?>
</td>
<td><select name="liste1" style="width:200"><option value="">Sélectionner...</option>
<option value="Griffon"<?php
if ($_SESSION['liste1'] == "Griffon") {
echo(" selected");
}
?>>Griffon</option>
<option value="Sctochlocks"<?php
if ($_SESSION['liste1'] == "Sctochlocks") {
echo(" selected");
}
?>>Sctochlocks</option>
<option value="Sucettes"<?php
if ($_SESSION['liste1'] == "Sucettes") {
echo(" selected");
}
?>>Sucettes</option>
</select></td></tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Quantité</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_liste2) {
echo($icone);
}
?>
</td>
<td><select name="liste2" style="width:40"><option value="">...</option>
<option value="1"<?php
if ($_SESSION['liste2'] == "1") {
echo(" selected");
}
?>>1</option>
<option value="2"<?php
if ($_SESSION['liste2'] == "2") {
echo(" selected");
}
?>>2</option>
<option value="3"<?php
if ($_SESSION['liste2'] == "3") {
echo(" selected");
}
?>>3</option>
<option value="4"<?php
if ($_SESSION['liste2'] == "4") {
echo(" selected");
}
?>>4</option>
<option value="5"<?php
if ($_SESSION['liste2'] == "5") {
echo(" selected");
}
?>>5</option>
<option value="6"<?php
if ($_SESSION['liste2'] == "6") {
echo(" selected");
}
?>>6</option>
<option value="7"<?php
if ($_SESSION['liste2'] == "7") {
echo(" selected");
}
?>>7</option>
<option value="8"<?php
if ($_SESSION['liste2'] == "8") {
echo(" selected");
}
?>>8</option>
<option value="9"<?php
if ($_SESSION['liste2'] == "9") {
echo(" selected");
}
?>>9</option>
<option value="10"<?php
if ($_SESSION['liste2'] == "10") {
echo(" selected");
}
?>>10</option>
</select></td></tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="left"><font face="Verdana" size="2">Habitez-vous sur Paris?</font></div></td>
<td width="30" align="left" valign="middle">
<?php
if ($erreur_bouton1) {
echo($icone);
}
?>
</td>
<td width="200" align="left"><input type="radio" name="button1" value="oui" onclick="document.getElementById('adres').style.display='none';document.getElementById('adres1').style.display='none';"><font face="Verdana" size="2">Oui</font>
<td width="100" align="left"><input type="radio" name="button1" value="non" onclick="document.getElementById('adres').style.display='block';document.getElementById('adres1').style.display='block';">
<font face="Verdana" size="2">Non</font></td></tr></table><td width="140" valign="top"><div align="center"><font face="Verdana" size="2"><table width="566" border="0" align="center"><tr>
<td width="140" valign="top"><div align="right" id="adres1" style="display:<?php echo ($_SESSION['button1']== 'oui' ? 'none' : 'block');?>;"><font face="Verdana" size="2">Merci d'indiquez l'adresse de livraison</font></div></td>
<td width="30" align="center" valign="top">
<?php
if ($erreur_texte1) {
echo($icone);
}
?>
</td>
<td><textarea id="adres" style="display:<?php echo ($_SESSION['button1']== 'oui' ? 'none' : 'block');?>;" name="zone_texte1" cols="45" rows="5"><?=stripslashes($_SESSION['zone_texte1']);?></textarea></td>
</tr>

</table><table width="566" border="0" align="center"><tr>
<td width="140" valign="top"><div align="right"><font face="Verdana" size="2">Si vous avez des commentaires ou autre sur la commande</font></div></td>
<td width="25" align="center" valign="top">
<?php
if ($erreur_texte2) {
echo($icone);
}
?>
</td>
<td><textarea name="zone_texte2" cols="45" rows="2"><?=stripslashes($_SESSION['zone_texte2']);?></textarea></td>
</tr><td width="30" align="center" valign="top"></table><table width="566" border="0" align="center"><td width="30" align="center" valign="top"><tr><div align="center"><font face="Verdana" size="2">Voici le récapitulatif de votre commande</font></div></td>

<?php
if ($erreur_texte3) {
echo($icone);
}
?>
</td>
<tr><textarea name="zone_texte3" cols="70" rows="5"><?=stripslashes($_SESSION['zone_texte3']);?></textarea></td><td width="140" valign="top"><div align="right"><font face="Verdana" size="2"><input type="submit" value="Ajouter un article" onclick=";">
<td width="140" valign="top"><div align="left"><font face="Verdana" size="2"><input type="submit" value="Supprimer un article" onclick=";">
</tr></table><table width="566" border="0" align="center">
&nbsp;
<table width="566" border="0" align="center">
<td valign="top"><div align="center">
<script language="JavaScript">Retour()</script><input type="reset" name="Reset" value=" Effacer tout ">
&nbsp;
<input type="submit" name="envoi" value="Envoyer">
</div></td></tr></table><div align="center"><input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value=""></div></form></body></html>[/code]



Donc j'aimerai faire fonctionner mes boutons "ajouter" et "supprimer"
Quand on clique sur "ajouter" ca doit ajouter ce que la personne à choisis dans les liste déroulante dans le champ récapitulalif de la commande
Et quand on clique sur supprimer, ca doit supprimer dans le champs récapitulatif de la commande, juste l'article qui faut supprimer
Donc j'aimerai voir un truc en ligne

par exemple, elle choisi 5 griffons et 2 sucettes
ca devrai afficher dans le champs récapitulatif de la commande

5 griffons
2 succettes

Et si la personne se trompe, si elle clique sur 2 sucettes par exemple et ensuite qu'elle clique sur supprimer, ca supprimer juste 2 sucettes et les 5 griffons sont garder

C'est assez compliquer à faire je pense, mais je n'ai aucune idée de comment faire!

Merci d'avance!
hamster3553
  www.guillaume-charbonneau.fr
  :-)
      ?   ^   @     Posté le 22/02/2008 14:57:49  
Voter pour ce message
euh, j'ai pas regarder ton code mais d'après ce que je comprend, ca devrait t'aider:xmlhttprequest

http://www.toutjavascript.com/savoir/xmlhttprequest.php3

ca sert a mettre a jour en temps réel un formulaire en fonction des choix précèdent.
<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> Mettre données d'une liste déroulante dans un champ grace à

Aller à :

Page générée en : 0.088s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Conversion vidéo
Convertissez vos fichiers dans les formats vidéo les plus courants (également psp, ipod, ...)
Jeux
Nouveauté : Explorez une vieille maison pleinne de chambres secrètes et de corridors cachés !