Je recherche un moyen de verification de donnees en php

Mammouth du PHP | 506 Messages

05 août 2013, 13:04

Posez votre question Signaler


bonsoir a tous
je suis en train de vouloir un bon de commande en php et
je recherche un moyen de vérification de données en php
jusqu a présent cela fonctionne avec pays , si il n y a pas de pays sélectionner il y a une erreur
je souhaiterais savoir comment je pourrais faire pour que quand la personne choisisse par exemple la Belgique
qu elle ne puisse pas cocher ni poste fr, ni mondial relay
Mais juste soit la poste ou kiala
si kiala est choisi alors l obliger a remplir les coordonnes du point kiala
si la personne choisit la france qu elle ne puisse pas cocher ni poste be ni kila
si mondial relay est choisi alors l obliger a remplir les coordonnes du point mondial relay
si un autre pays choisis l empêcher de choisir un mode de livraison , avec par exemple un message lui indiquant de m envoyer un mail
voici le code avec tout le superflu effacer
merci de votre aide
<?php
ini_set('display_errors', 1);
error_reporting(-1); 
?> 



<?php
date_default_timezone_set('Europe/Paris');
/*ton script doit etre sur un hebergeur qui supporte le php 5 de préférence*/

/*remplace [email protected] entre les doubles guillemets*/
$tonemail="[email protected]"; /**/

/*à toi de définir ta page de retour aprés envoi du mail*/
$site="http://talonaiguille.canalblog.com/";

/*pas toucher*/
$headers = "From: <$tonemail>\n";
$headers .= "Reply-To: $tonemail\n";
$headers .= "MIME-version: 1.0\n";
$headers .= "Content-type: text/html; charset= iso-8859-1\n";

$message="";

$sujet = "Commande depuis mon site http://???"; /*si tu veux mettre quelque chose*/


if(isset($_POST['sub']) && $_POST['sub']==="commander") {

$mode_envoi = "La Poste belge"; //vaut la poste sauf ...
if($_POST['envoi'] == 1) $mode_envoi = "Kiala" ;//si kiala a ete choisi(poste.envoi=0)
elseif($_POST['envoi'] == 2) $mode_envoi = "la poste francaise" ;//si poste fr a ete choisi(poste.envoi=2)
elseif($_POST['envoi'] == 3) $mode_envoi = "Mondial relay" ;//si poste fr a ete choisi(poste.envoi=2)

$message.='<br> Un client a passe commande. Voici le recapitulatif du bon de commande : <br><br>
 <table width="640"border ="1">
<tr width="640"><td width="320"colspan="2">Nom : </td><td width="320" colspan="2">'.$_POST["nom"].'</td></tr>
<tr><td colspan="2">Prénom :</td><td colspan="2">'.$_POST["prenom"].'</td></tr>
<tr><td colspan="2">Email : </td><td colspan="2">'.$_POST["email"].'</td></tr>
<tr><td colspan="2">Adresse :</td><td colspan="2">'.$_POST["adresse"].'</td></tr>
<tr><td colspan="2">Code postal :</td><td colspan="2">'.$_POST["code_postal"].'</td></tr>
<tr><td colspan="2">Numéro de téléphone :</td><td colspan="2"> '.$_POST["telephone"].'</td></tr>
<tr><td colspan="2">Ville : </td><td colspan="2">'.$_POST["ville"].'</td></tr>
<tr><td colspan="2">Mode de paiement :</td><td colspan="2">'.$_POST["paiement"].' </td></tr>
<tr><td colspan="2">Email paypal optionnel : </td><td colspan="2">'.$_POST["emailpaypal"].'</td></tr>
<tr><td width="170"></td><td width="110"></td><td width="160"></td><td width="110"></td><td></td></tr>
<tr><td >
<tr width="640">
<td width="160"> <center> Reference article</center></td> <td width="160"> <center>Prix pour un sachet  <br>de 4 perles identique</center></td> <td width="160"> <center>Quantite de sachets</center></td> <td width="160"><center>Montant total</center></td>' 
;


if ($_POST["Quant1"] != 0) {
$message.='<tr width="640">
<td width="160"><center>'.$_POST["NomArticle1"].' </center></td> <td width="160"><center>  '.$_POST["Prix1"].'</center> </td> <td width="160"><center>   '.$_POST["Quant1"].'</center>  </td> <td width="160"><center> <i> '.$_POST["Montant1"].' </i></center> </td> </tr>';}

if ($_POST["Quant2"] != 0) {
$message.='<tr width="640">
<td width="160"><center>'.$_POST["NomArticle2"].' </center></td> <td width="160"><center>  '.$_POST["Prix2"].'</center> </td> <td width="160"><center>   '.$_POST["Quant2"].'</center>  </td> <td width="160"><center> <i> '.$_POST["Montant2"].' </i></center> </td> </tr>';}
if ($_POST["Quant3"] != 0) {
$message.='<tr width="640">
<td width="160"><center>'.$_POST["NomArticle3"].' </center></td> <td width="160"><center>  '.$_POST["Prix3"].'</center> </td> <td width="160"><center>   '.$_POST["Quant3"].'</center>  </td> <td width="160"><center> <i> '.$_POST["Montant3"].' </i></center> </td> </tr>';}
$message.='<br>
<tr><td colspan="3">Frais de port par '.$mode_envoi.'</td><td > <center>'.$_POST["prix_port"].'</center></td></tr>
<tr><td bgcolor="#FC0021"colspan="3">Le client payera au total</td><td><center> '.$_POST["MontantTotal"].' euro. </center> </td></tr>';


if ($_POST["envoi"] == 1) {
$message.='<tr><td colspan="2">non du point kiala :</td> <td colspan="2">'.$_POST["non_du_point_kiala"].'</td> </tr> 
<tr><td colspan="2">adresse point kiala:</td> <td colspan="2">'.$_POST["adresse_point_kiala"].'</td> </tr> 
<tr><td colspan="2">Localite du point kiala :</td> <td colspan="2">'.$_POST["Localite_du_point_kiala"].'</td> </tr> 
<tr><td colspan="2">code_postal du point kiala :</td> <td colspan="2">'.$_POST["code_postal_du_point_kiala"].'</td> </tr> 
<tr><td colspan="2">point kiala :</td> <td colspan="2">'.$_POST["point_kiala"].' </td> </tr>';
}

if($_POST["envoi"]==3){
$message.='<tr><td colspan="2">nom du point mondial relay:</td> <td colspan="2">'.$_POST["non_du_point_mondial_relay"].' </td> </tr>
<tr><td colspan="2">adresse point kiala:</td> <td colspan="2">'.$_POST["adresse_point_kiala"].' </td> </tr>
<tr><td colspan="2">adresse point mondial relay:</td> <td colspan="2">'.$_POST["adresse_point_mondial_relay"].' </td> </tr>
<tr><td colspan="2">Localite du point mondial relay :</td> <td colspan="2">'.$_POST["Localite_du_point_mondial_relay"].' </td> </tr>
<tr><td colspan="2">code postal du point mondial relay :</td> <td colspan="2">'.$_POST["code_postal_du_point_mondial_relay"].' </td> </tr>';
}



$message.='<b>----------------------------------</b><br>
commentaires
commentaires clients:'.$_POST["commentaires"].' <br>
<br>

'
;
$message.="<hr>Le ".date('d-m-Y H:i:s')." par ip du client : ".$_SERVER['REMOTE_ADDR']."<hr>";

if(mail($tonemail,$sujet,$message,$headers)){
echo '
<HTML>
<HEAD>
</HEAD>
<BODY  bgcolor="#72ACDC">
<center><b><h2>Nous vous remercions pour votre commande qui a bien été enregistrée <br>Après traitement de vos données un mail de confirmation vous sera envoyé </h2></b> </center>
   ';
/******* Vérification
foreach( $send as $value )
  echo $value . '<br />';
********/
    //$site="http://talonaiguille.canalblog.com/"; /*à toi de définir ta page*/
   
   // echo '<br><center><b><h2>Pour revenir au site  <a href="'.$site.'" >ici</a></h2></b></center> ';
       
    exit;
    }else{
    echo 'PROBLEME FONCTION MAIL PHP';exit;
    }
}else{
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<head>



<style type="text/css">

	body {
	background-color: #72ACDC;
	
 }

	

	</style>
<!--[if lte IE 6]>
	<style type="text/css">
		li {
			height: 1px;
			}
	</style>
	<![endif]-->
    <title>Formulaire</title>

      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>  
	  
<script src="http://les-perles.comze.com/les-perles/js/menu.js"></script>


<link rel="stylesheet" type="text/css" href="http://les-perles.comze.com/les-perles/css/accordion_glam.css" />
<link rel="stylesheet" href="http://les-perles.comze.com/les-perles/css/style.css" type="text/css" media="screen" >
<link rel="stylesheet" type="text/css" href="http://les-perles.comze.com/les-perles/css/menu.css" />
 <link rel="stylesheet" type="text/css" href="http://les-perles.comze.com/les-perles/css/accordeonalsacreations.css" />  
	<script type="text/javascript">
	 
     function majPrixPort(oForm)
{
     Calcule();
  var iPoids = parseFloat(oForm.PoidsTotal.value);
      
    if(oForm.envoi[1].checked) // si "kiala" est cochée
    {
      iPrix = 3;
      if (iPoids > 3) iPrix = 2;
    }else if(oForm.envoi[0].checked)
    { // si "poste" est coché
        iPrix = 1; // frais de port = 1€
      var nombre_total_article = parseInt(oForm.Quant1.options[oForm.Quant1.selectedIndex].value) + parseInt(oForm.Quant2.options[oForm.Quant2.selectedIndex].value) + parseInt(oForm.Quant3.options[oForm.Quant3.selectedIndex].value) + parseInt(oForm.Quant4.options[oForm.Quant4.selectedIndex].value) + parseInt(oForm.Quant5.options[oForm.Quant5.selectedIndex].value) + parseInt(oForm.Quant6.options[oForm.Quant6.selectedIndex].value) + parseInt(oForm.Quant7.options[oForm.Quant7.selectedIndex].value)+ parseInt(oForm.Quant8.options[oForm.Quant8.selectedIndex].value)+ parseInt(oForm.Quant9.options[oForm.Quant9.selectedIndex].value)+ parseInt(oForm.Quant10.options[oForm.Quant10.selectedIndex].value)+ parseInt(oForm.Quant11.options[oForm.Quant11.selectedIndex].value)+ parseInt(oForm.Quant12.options[oForm.Quant12.selectedIndex].value);
      if(nombre_total_article > 3) iPrix = 0; //sauf si il y a plus de 3 articles, alors c'est gratuit
    }	else if(oForm.envoi[2].checked)
    { // si "france" est coché
        iPrix = 1.5; // frais de port = 1€
      var nombre_total_article = parseInt(oForm.Quant1.options[oForm.Quant1.selectedIndex].value) + parseInt(oForm.Quant2.options[oForm.Quant2.selectedIndex].value) + parseInt(oForm.Quant3.options[oForm.Quant3.selectedIndex].value) + parseInt(oForm.Quant4.options[oForm.Quant4.selectedIndex].value) + parseInt(oForm.Quant5.options[oForm.Quant5.selectedIndex].value) + parseInt(oForm.Quant6.options[oForm.Quant6.selectedIndex].value) + parseInt(oForm.Quant7.options[oForm.Quant7.selectedIndex].value)+ parseInt(oForm.Quant8.options[oForm.Quant8.selectedIndex].value)+ parseInt(oForm.Quant9.options[oForm.Quant9.selectedIndex].value)+ parseInt(oForm.Quant10.options[oForm.Quant10.selectedIndex].value)+ parseInt(oForm.Quant11.options[oForm.Quant11.selectedIndex].value)+ parseInt(oForm.Quant12.options[oForm.Quant12.selectedIndex].value);
      if(nombre_total_article > 3) iPrix = 0; //sauf si il y a plus de 3 articles, alors c'est gratuit
    }
			else if(oForm.envoi[3].checked)
    { // si "france mondial" est coché
        iPrix = 5; // frais de port = 7€
      var nombre_total_article = parseInt(oForm.Quant1.options[oForm.Quant1.selectedIndex].value) + parseInt(oForm.Quant2.options[oForm.Quant2.selectedIndex].value) + parseInt(oForm.Quant3.options[oForm.Quant3.selectedIndex].value) + parseInt(oForm.Quant4.options[oForm.Quant4.selectedIndex].value) + parseInt(oForm.Quant5.options[oForm.Quant5.selectedIndex].value) + parseInt(oForm.Quant6.options[oForm.Quant6.selectedIndex].value) + parseInt(oForm.Quant7.options[oForm.Quant7.selectedIndex].value)+ parseInt(oForm.Quant8.options[oForm.Quant8.selectedIndex].value)+ parseInt(oForm.Quant9.options[oForm.Quant9.selectedIndex].value)+ parseInt(oForm.Quant10.options[oForm.Quant10.selectedIndex].value)+ parseInt(oForm.Quant11.options[oForm.Quant11.selectedIndex].value)+ parseInt(oForm.Quant12.options[oForm.Quant12.selectedIndex].value);
      if(nombre_total_article > 6) iPrix = 7; //sauf si il y a plus de 3 articles
    }	else
    {
          iPrix = 0;
    }
    
    AjouteVirgule(iPrix,3);
    oForm.prix_port.value = iPrix;
    plus_frais_de_port = true;
    Calcule();
}
    function Verifie(aBC)
   {
 if(aBC.pays.value == ""){
        alert('Vous n\'avez pas renseign\351 votre pays.');
        return false;
   } 
	 {
		return true;
	 }else
	 {
        alert('Vous devez renseign\351 une adresse e-mail corecte.');
		return false;
	 }

     /*if(regCP.test(aBC.email.value)) ///////////Verif Code Postal Benelux
    {
        return true;
    }else
    {
        alert('Vous devez renseign\351 un Code postal correct !');
        document.ex.cp.focus();
        return false;
    }*/
   }
     }
 			
     <!--
        $(document).ready( function () {

            // parie du code non modifie

            // On cache les sous-menus
            // sauf celui qui porte la classe "open_at_load" :
            $("ul.subMenu:not('.open_at_load')").hide();
            // On selectionne tous les items de liste portant la classe "toggleSubMenu"

            // et on remplace l'element span qu'ils contiennent par un lien :
            $("li.toggleSubMenu span").each( function () {
                // On stocke le contenu du span :
                var TexteSpan = $(this).text();
                $(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '</a>') ;
            } ) ;

            // On modifie l'evenement "click" sur les liens dans les items de liste
            // qui portent la classe "toggleSubMenu" :
            $("li.toggleSubMenu > a").click( function () {
                // Si le sous-menu etait deja ouvert, on le referme :
                if ($(this).next("ul.subMenu:visible").length != 0) {
                    $(this).next("ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") } );
                }
                // Si le sous-menu est cache, on ferme les autres et on l'affiche :
                else {
                    $("ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") } );
                    $(this).next("ul.subMenu").slideDown("normal", function () { $(this).parent().addClass("open") } );
                }
                // On emp?e le navigateur de suivre le lien :
                return false;
            });

            // On cache les sous-menus
            // sauf celui qui porte la classe "open_at_load" :
            $("ul.subMenu2:not('.open_at_load')").hide();
            // On selectionne tous les items de liste portant la classe "toggleSubMenu"

            // et on remplace l'element span qu'ils contiennent par un lien :
            $("li.toggleSubMenu2 span").each( function () {
                // On stocke le contenu du span :
                var TexteSpan = $(this).text();
                $(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '</a>') ;
            } ) ;

            // On modifie l'evenement "click" sur les liens dans les items de liste
            // qui portent la classe "toggleSubMenu2" :
            $("li.toggleSubMenu2 > a").click( function () {
                // Si le sous-menu etait deja ouvert, on le referme :
                if ($(this).next("ul.subMenu2:visible").length != 0) {
                    $(this).next("ul.subMenu2").slideUp("normal", function () { $(this).parent().removeClass("open") } );
                }
                // Si le sous-menu est cache, on ferme les autres et on l'affiche :
                else {
                    $("ul.subMenu2").slideUp("normal", function () { $(this).parent().removeClass("open") } );
                    $(this).next("ul.subMenu2").slideDown("normal", function () { $(this).parent().addClass("open") } );
                }
                // On emp?e le navigateur de suivre le lien :
                return false;
            });

        } ) ;
        // -->
   
//<![CDATA[

   // Ligne comment?
   document.write("");
   /*
   Bloc de lignes
   comment?
   document.write("Ligne B - commment?);
   */
   document.write("");

//]]>
</script> 
   <META content="text/html; charset=windows-1252" http-equiv="Content-Type">
</head>
   <BODY background="Bon de commande JAVASCRIPT (Copyright Crash Computing 2011)_fichiers/index.htm" bgcolor="#008000">

	
   
 <CENTER>
	<table width="800" height="150" cellspacing="0" border="1">
	<tbody>
		<tr width="800"   ><form id="F_COMMANDE" action="http://les-perles.comze.com/les-perles/essai6perlecommande270613NV.php" onSubmit="return Verifie(this)" method="post"><img alt="" src="http://les-perles.comze.com/les-perles/imagediverse/top_bon_de_commande.jpg"width="803">
					</tr>
						<tr>
        <td width="250" height="24" bgcolor=#ffffff colspan="1"><font color="noir">Pays</font></td>
        <td width="550" height="24" bgcolor="#ffffff" colspan="4">
<select name="pays">
<option value="Afghanistan">Afghanistan</option>
<option value="Afrique du Sud">Afrique du Sud</option>
<option value="Albani">Albanie</option>
<option value="france">france</option>
<option selected="selected" value="be">Belgique</option>
  </select></td>
</tr>
		</TABLE >
           </ul>
        </li>
	</ul>
			<tr >
		<td width="800" height="49" bgcolor="#1A3665" align="center" colspan="5"><b> <font size="3"><font color = "ffffff">Frais de livraison :</font></font></b>
		</td>
		</tr>
				<!-- debut scprit menu deroulant -->		

	<!-- fin script menu deroulant -->

		<tr bgcolor="#ffffcc">
		<td   bgcolor=#ffffff align="LEFT" colspan="4">
    	<ul class="navigation">

  <li class="toggleSubMenu"><span style="background-color: #F7DFFF;">Calculez les frais de livraison pour la belgique</span>
    <ul class="subMenu">
      <TABLE width="690"BORDER>
	<TR width="690">
	<TD width="80"bgcolor=#9FB9B5 ><img src="http://les-perles.comze.com/les-perles/image envois/bpost.jpeg"width=75 height=75 > </TD> 
	
	<td width="400"><li><a><label for="by_poste"><input type="radio" checked="checked" id="by_poste" name="envoi" value="0" onclick="majPrixPort(this.form);"><font color="noir">Par la poste envoi par courrier non sécurisé ( je ne suis pas responsable des pertes éventuelle)
</font><br><br><font color="noir">Si moins de 4 sachets 1 euros <br><font color="red">(Si plus de 3 sachets GRATUIT)</font></font></label> </a></li></td> 
	<TD width="210"bgcolor=#9FB9B5 >
		</TD> 
			</TR>
			<TR width="690">
	<TD width="80" > <img src="http://les-perles.comze.com/les-perles/image envois/kiala.jpeg"width=75 height=75 > </TD> 			
			<TD width="400" >		<li><a ><label for="by_kiala"><input type="radio" onclick="majPrixPort(this.form);" value="1" name="envoi" id="by_kiala"><font color="noir">Par kiala l envois est securisé et garanti</font><br><br><font color="noir">Si moins de 4 sachets 3 euros<br><font color="red">(Si plus de 3 sachets 2 euros)</font></font></label></a></li></TD> 
								<TD width="210" >
		<a target="_blank" href="http://www.kiala.be/fr/locateandselect"><img src="http://les-perles.comze.com/les-perles/imagediverse/localisation_kiala.fw.png"width=200 height=62> </a> 
	</TD> 
					</TR>
		</TABLE>
			<li>
<TABLE width="690"BORDER>
	<TR width="690">
	</TR>
			<TR width="690"height="6">
	
	
		<TD width="345"><font color="noir">Nom du point kiala (ex librairie ...)</font>
		</TD> 
		<TD width="345"> 
		<input size="45" name="non_du_point_kiala"><img align="absmiddle" id="adresse_ife_marker_3" src="chrome://informenter/skin/marker.png" class="ife_marker" style="border: 0pt none; width: 14px; height: 19px; cursor: pointer; display: inline;" title="La longueur du champ est inconnue">
		</TD> 
	</TR>
	<TR>
		<TD><font color="noir">Localite du point kiala</font>
		</TD>
		<TD>
        <input size="15" name="Localite_du_point_kiala"><img align="absmiddle" id="adresse_ife_marker_3" src="chrome://informenter/skin/marker.png" class="ife_marker" style="border: 0pt none; width: 14px; height: 19px; cursor: pointer; display: inline;" title="La longueur du champ est inconnue">
		</TD> 
	</TR>
	<TR>
		<TD><font color="noir">Code postal du point kiala</font>
		</TD> 
		<TD><input size="15" name="code_postal_du_point_kiala"><img align="absmiddle" id="adresse_ife_marker_3" src="chrome://informenter/skin/marker.png" class="ife_marker" style="border: 0pt none; width: 14px; height: 19px; cursor: pointer; display: inline;" title="La longueur du champ est inconnue"><br></TD> 
	</TR>
	<TR>
		<TD><font color="noir">Adresse du point kiala </font>
		</TD> 
		<TD>
        <input size="45" name="adresse_point_kiala"><img align="absmiddle" id="adresse_ife_marker_3" src="chrome://informenter/skin/marker.png" class="ife_marker" style="border: 0pt none; width: 14px; height: 19px; cursor: pointer; display: inline;" title="La longueur du champ est inconnue">
		</TD> 
	</TR>
		<TR>
		<TD>   <font color="noir">Point kiala (ex k0001)</font>
		</TD> 
		<TD><input value="K" size="5" name="point_kiala"><img align="absmiddle" id="adresse_ife_marker_3" src="chrome://informenter/skin/marker.png" class="ife_marker" style="border: 0pt none; width: 14px; height: 19px; cursor: pointer; display: inline;" title="La longueur du champ est inconnue"><br></TD> 
	</TR>
</TABLE>
   
	
	
	</li>
      
    </ul>
    </li>
    <li class="toggleSubMenu"><span style="background-color: #F7DFFF;">Calculez les frais de livraison pour la france</span>
      <ul class="subMenu">
        <TABLE width="690"BORDER>
	<TR width="690">
	<TD width="80" > <img src="http://les-perles.comze.com/les-perles/image envois/postefrance.jpeg"width=75 height=75 > </TD> 
		<TD width="400" >			<li><a ><label for="by_poste fr">     <input type="radio" onclick="majPrixPort(this.form);" value="2" name="envoi" id="by_poste fr" checked="checked"><font color="noir">Par la poste envoi par courrier non sécurisé ( je ne suis pas responsable des pertes éventuelle)
</font><br><br><font color="noir">Si moins de 4 sachets 1.5 euros </font ><br><font color="red">(Si plus de 3 sachets GRATUIT)</font></label> </a></li></TD> 
		<TD width="210"bgcolor=#9FB9B5 >	</TD>
			<TR width="690">
	<TD width="80" ><img src="http://les-perles.comze.com/les-perles/image envois/mondialrelay.jpeg"width=75 height=75 > </TD> 
		<TD width="400" ><li><a ><label for="by_mondial relay">     <input type="radio" onclick="majPrixPort(this.form);" value="3" name="envoi" id="by_mondial relay" checked="checked"><font color="noir">Par mondial relay, l'envoi est sécurisé et garanti</font><br><br><font color="noir">Si moins de 7 sachets 5 euros </font><br><font color="red">(Si plus de 6 sachets 7 euros)</font ></label> </a></li></TD> 
		<TD width="210" >
	
	<a target="_blank" href="http://www.kiala.be/fr/locateandselect"><img src="http://les-perles.comze.com/les-perles/imagediverse/localisation_kiala.fw.png"width=200 height=62> </a> 
	</TD> 	
					
					</li>
						</TR>

		</TABLE>
					<li>
		
		<TABLE width="690"BORDER>			
	<TR width="690">
	
	
		<TD width="345><font color="noir">Nom du point mondial relay (ex librairie ...)</font>
		</TD> 
		<TD width="345"> 
		<input size="45" name="non_du_point_mondial_relay"><img align="absmiddle" id="adresse_ife_marker_3" src="chrome://informenter/skin/marker.png" class="ife_marker" style="border: 0pt none; width: 14px; height: 19px; cursor: pointer; display: inline;" title="La longueur du champ est inconnue">
		</TD> 
	</TR>
	<TR>
		<TD><font color="noir">Localite du point mondial relay</font>
		</TD>
		<TD>
        <input size="15" name="Localite_du_point_mondial_relay"><img align="absmiddle" id="adresse_ife_marker_3" src="chrome://informenter/skin/marker.png" class="ife_marker" style="border: 0pt none; width: 14px; height: 19px; cursor: pointer; display: inline;" title="La longueur du champ est inconnue">
		</TD> 
	</TR>
	<TR>
		<TD><font color="noir">Code postal du point mondial relay</font>
		</TD> 
		<TD><input size="15" name="code_postal_du_point_mondial_relay"><img align="absmiddle" id="adresse_ife_marker_3" src="chrome://informenter/skin/marker.png" class="ife_marker" style="border: 0pt none; width: 14px; height: 19px; cursor: pointer; display: inline;" title="La longueur du champ est inconnue"><br></TD> 
	</TR>
	<TR>
		<TD><font color="noir">Adresse du point mondial relay </font>
		</TD> 
		<TD>
        <input size="45" name="adresse_point_mondial_relay"><img align="absmiddle" id="adresse_ife_marker_3" src="chrome://informenter/skin/marker.png" class="ife_marker" style="border: 0pt none; width: 14px; height: 19px; cursor: pointer; display: inline;" title="La longueur du champ est inconnue">
		</TD> 
	</TR>
		
</TABLE>		
					
					    </li>
					
       
      </ul>
    </li>
   <li class="toggleSubMenu"><span style="background-color: #F7DFFF;">Calculez les frais de livraison pour un autre pays</span>
      <ul class="subMenu">
        <li><a target="_blank" href="http://talon-aiguille.net46.net/formulaire.php"><b>Pour un autre pays envoyer moi un mail cliquez ici </b> </a>
					
      </ul>
    </li>
</ul>
		</td>
		<td width="110"height="69" bgcolor=#ffffff align="right" ><font size="3">€</font><input type="text" value="" size="7" name="prix_port"><img align="absmiddle" id="prix_port_ife_marker_23" src="chrome://informenter/skin/marker.png" class="ife_marker" style="border: 0pt none; width: 14px; height: 19px; cursor: pointer; display: inline;" title="La longueur du champ est inconnue">
		
		
		</td>
    </tr>
	
	<tr width="800">
		<td width="690"height="1" bgcolor="#FC0021" align="center" colspan="4"><b><font size="3"><b> <font color = "ffffff">Total a payer tva comprise</font></b></td>
		<td width="110"height="1" bgcolor=#ffffff align="right"><font size="3">€</font> <input align="right" size="8" onchange="majPrixPort(this.form);" name="MontantTotal"><img align="absmiddle" id="MontantTotal_ife_marker_24" src="chrome://informenter/skin/marker.png" class="ife_marker" style="border: 0pt none; width: 14px; height: 19px; cursor: pointer; display: inline;" title="La longueur du champ est inconnue"></td>
    </tr>

	</tbody>

    </table>
		<input type="submit" value="commander" name="sub"style="font-size:2.85em;background-color : red;color:white;">
		
    </form>
	
	
   </CENTER>


   </BODY>
   </HTML>

<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->

ViPHP
ViPHP | 2577 Messages

05 août 2013, 13:41

Bonjour,

Regardes du coté de javascript et ajax pour faire évoluer le formulaire au fil de la saisie et faire des contrôles avant l'envoi des données au serveur.

Mammouth du PHP | 506 Messages

05 août 2013, 13:47

Merci pour la reponse
n y a t il rien de plus simple
car n y connaissant rien en java et ajax

ViPHP
xTG
ViPHP | 7331 Messages

05 août 2013, 14:58

Si tu souhaites une réponse full PHP il va te falloir décomposer ton formulaire.
En fonction des réponses postées précédemment tu affiches le formulaire courant.
if( $_POST['choix'] == '1' ){
  // affichage du sous-formulaire répondant au choix 1
}elseif( $_POST['choix'] == '1' ){
  // affichage du sous-formulaire répondant au choix 2
}// ect
Et ne pas oublier des input hidden pour propager les données reçues d'un formulaire à un autre.
Ou bien mettre en place un stockage des données dans une variable de session.

Mammouth du PHP | 506 Messages

05 août 2013, 15:35

bonjour
merci pour cette idée qui me parait pas mal et de plus cela permettrait de diminuer le poids du formulaire
Mais a présent comment la mettre vraiment en pratique dans mon formulaire
je demande pas une solution clé en main , mais juste un peu d aide
si je comprends bien l idée c est que quand la personne ouvre le formulaire
le choix pour la belgique , la france et les autres pays soit affiches
comme sur ce lien
http://les-perles.comze.com/les-perles/ ... 613NV1.php

et que des que la personne aura fait le choix de son pays par exemple la France que les frais d envois pour la Belgique et les autres disparaisse
si tel est le cas


ma variable est pays je suppose que je dois dans l exemple donne
faire ceci
if( $_POST['pays'] == 'Belgique' ){
  // affichage du sous-formulaire répondant au choix 1
}elseif( $_POST['choix'] == 'France' ){
  // affichage du sous-formulaire répondant au choix 2
}
Mais une fois cela fait je rentre comment ce morceau de code dans " affichage du sous-formulaire répondant au choix 1"
<font color="noir">votre choix est la belgique</font>

ViPHP
xTG
ViPHP | 7331 Messages

06 août 2013, 13:01

if( isSet($_POST['pays']) ){
  if( $_POST['pays'] == 'Belgique' ){
    echo 'Votre choix est la Belgique.';
    echo '<select name="banque">';
    echo '<option>Banque de belgique 1</option>';
    echo '<option>Banque de belgique 2</option>';
    echo '</select>';
  }elseif( $_POST['pays'] == 'France' ){
    echo 'Votre choix est la France.';
    echo '<select name="banque">';
    echo '<option>Banque de france 1</option>';
    echo '<option>Banque de france 2</option>';
    echo '<option>Banque de france 3</option>';
    echo '</select>';
  }else{
    echo 'Erreur : ce pays n\'existe pas ou ne propose aucune banque.';
  }
}else{
  // on est dans un cas où le premier sous-formulaire (contenant pays) n'a pas été posté
}
:)

Mammouth du PHP | 506 Messages

06 août 2013, 13:18

bonjour
merci pour la reponse et le code
mais je viens de trouver autre chose cela fonctionne nickel je recherche juste un peu a perfectionner
donc voici le code source que j ai trouver
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>afficher-masquer</title>
<style type="text/css">
.divs	{ display 		: none;	}
a		{ margin-right	: 25px;	}

#receveur {
	position			: absolute;
	top					: 60px; 
	left				: 300px; 
	width				: 400px; 
	height				: 250px; 

	background-color	: #F7F7F7;
	border				: 1px solid gray; 
	padding				: 10px; 
}
</style>
<script type="text/javascript">
function visibilite (id)
{
	var xx = document.getElementById("receveur").getElementsByTagName("div");

	for (var i=0; i<xx.length; i++)
		xx.item(i).style.display = "none";

	document.getElementById(id).style.display = "block";
}
</script>
</head>

<body>
	<a href="javascript:visibilite('opt1');">afficher/masquer 01</a>
	<a href="javascript:visibilite('opt2');">afficher/masquer 02</a>
	<a href="javascript:visibilite('opt3');">afficher/masquer 03</a>
	<a href="javascript:visibilite('opt4');">afficher/masquer 04</a>

	<div id="receveur">
		<div id="opt1" class="divs"><b>Coucou A</b></div>
		<div id="opt2" class="divs"><i>Coucou B</i></div>
		<div id="opt3" class="divs"><u>Coucou C</u></div>
		<div id="opt4" class="divs"><b><i><u>Coucou D</u></i></b></div>
	</div>
</body>
</html>
c est nickel cela fonctionne et correspond a mes attendes seul petit soucis je souhaiterais remplacer
<a href="javascript:visibilite('opt1');">afficher/masquer 01</a>
	<a href="javascript:visibilite('opt2');">afficher/masquer 02</a>
	<a href="javascript:visibilite('opt3');">afficher/masquer 03</a>
	<a href="javascript:visibilite('opt4');">afficher/masquer 04</a>
par ceci
<select name="pays" id="pays"> 
<option value="belgique">belgique</option>
<option value="Afrique du Sud">Afrique du Sud</option>
<option value="Albani">Albanie</option>
<option value="france">france</option>
<option selected="selected" value="be">Afghanistan</option>
  </select>
afin que je puisse avoir le même résultat mais via une liste déroulante

Mammouth du PHP | 506 Messages

06 août 2013, 13:39

c est bon j ai trouve
		<form name="form" >
<select size="1"  onChange="location = this.options[this.selectedIndex].value;">
	  <option selected="" value="0"></option>
	<option value="javascript:visibilite('opt1');">1</option>
	<option value="javascript:visibilite('opt2');" >2</option>
	<option value="javascript:visibilite('opt3');">3</option>
	<option value="javascript:visibilite('opt4');">4</option>
</select>
a présent
je souhaiterais qu un texte soit affiche des que l on ouvre la page dans la carre du code précédent et qu il sois remplacer quand la personne choisit 1 , 2 3 ou 4

merci pour l aide