Lien de redirection apres selection dans la liste deroulante

Fermé
babyhay Messages postés 6 Date d'inscription dimanche 11 septembre 2016 Statut Membre Dernière intervention 28 septembre 2016 - Modifié par jordane45 le 11/09/2016 à 22:03
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 16 sept. 2016 à 09:25
Bonjour,a toutes les personnages du forum

Voila je rencontre un petit problème,.

je suis en train de creer un site ecommerce e commerce,cela fai des jours que je recherche une solution pour une liste deroulante je n'ai rien trouver,voici mon code

 <script>

                                                     function verifMail(champ)
                            {
                             var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
                             if(!regex.test(champ.value))
                             {
                             surligne(champ, true);
                             return false;
                            }
                            else
                         {
                        surligne(champ, false);
                        return true;
                        }
                        }


                                         var selectElmt = document.getElementById("Vodafone");
                                         var valeurselectionnee = selectElmt.options[selectElmt.selectedIndex].value;
                                         var textselectionne = selectElmt.options[selectElmt.selectedIndex].text;
                                         function submitForm() 
                                         {var form;
                        form = document.getElementById("Vodafone");
                        form.submit();
                        document.Vodafone.submit();
                         }

                                                </script>


                                                    </head>
                                                <body>

                                            <header>
                                         <h1><a href="#" rel="nofollow" target="_blank">All Unlock</a></h1>
                                     </header>
                 <nav><!-- top nav -->
                 <div class="menu">
                 <ul>
        <li><a href="#" rel="nofollow" target="_blank">Home</a></li>
        <li><a href="#" rel="nofollow" target="_blank">Phone Brand</a>
          <ul>
             <li><a href="#" rel="nofollow" target="_blank">Alcatel</a></li>
            <li><a href="#" rel="nofollow" target="_blank">Avvio</a></li>
            <li><a href="#" rel="nofollow" target="_blank">BlackBerry</a></li>
            <li><a href="">Coral</a></li>
            <li><a href="#" rel="nofollow" target="_blank">Huawei</a></li>
             <li><a href="#" rel="nofollow" target="_blank">Lanix</a></li>
               <li><a href="">Motorola</a></li>
               <li><a href="#" rel="nofollow" target="_blank">Vodafone</a></li>

               <li><a href="">Zte</a></li>

                <li><a href="">Iphone</a></li>
            <li><a href="#" rel="nofollow" target="_blank">Samsung</a></li>
             <li><a href="#" rel="nofollow" target="_blank">LG</a></li>
               <li><a href="">HTC</a></li>
               <li><a href="#" rel="nofollow" target="_blank">Nokia</a></li>

          </ul>
                </li>
                <li><a href="#" rel="nofollow" target="_blank">Products</a>
                        <ul>
                                <li><a href="#" rel="nofollow" target="_blank">Large Pools</a></li>
                                <li><a href="#" rel="nofollow" target="_blank">Small Pools</a></li>
                     </ul>
                </li>
                             <li><a href="#" rel="nofollow" target="_blank">Contact Us</a></li>
             </ul>
             </div>
            </nav><!-- end of top nav -->
<div id="content">
 <p>Choose your model to unlock</p>
<form name="Vodafone" form method="post" action="Mailto:" class="select-model" onSubmit="return verify();">

<input type="hidden" name="Vodafone" value='unlock'>


<ul>
<li>
<div class="selectthree">
<div class="arrow">
</div>

<select name="Vodafone"  required>

<option>Please Select Model</option>
<optgroup label="**********unlock your Vodafone**********"></optgroup>



<option value="VODAFONE-1230+ZTE811"> Vodafone 1230(ZTE 811) </option>
<option value="VODAFONE-1231" > Vodafone 1231 </option>
<option value="VODAFONE-351" >  Vodafone 351  </option>
<option value="VODAFONE-353" >  Vodafone 353  </option>
<option value="VODAFONE-547" >  Vodafone 547  </option>
<option value="VODAFONE-553" >  Vodafone 553  </option>
<option value="VODAFONE-945" >  Vodafone 945  </option>
<option value="VODAFONE-INDIA-TARA"> Vodafone India Tara </option>
</select>
</div>
</li>
<li class="last"> 
    Imei<input id="number" type="text" name="imei" value="" pattern="[0-9]{15}" title=enter your Imei maxlength="15" required>
Provider ID <INPUT NAME="Provider" SIZE=46 required   placeholder="no worry if you have'nt"> <P>
ame <INPUT NAME="Name"               SIZE=40  required> <p>
Enter your Mail <input      name="mail"  placeholder= "mail@example.com"  required> <p> 
<input name="button" type="submit" value="unlock"></input>
</li> 
</ul>
</div>
</form>  

```
et voici mon code php,c'est pas encore terminer,j'ai besoin de cet aide pour le termine

```
<?php
/* Récupération des informations du formulaire*/
if (get_magic_quotes_gpc())
{
 $nom = stripslashes(trim($_POST['nom']));
 $form = stripslashes(trim($_POST['form']));
 $imei = stripslashes(trim($_POST['imei']));    
 $mail = stripslashes(trim($_POST['email']));
 $mepcount = stripslashes(trim($_POST['mepcount']));
 $blackberry = stripslashes(trim($_POST['blackberry']));
 $provider = stripslashes(trim($_POST['provider']));

}     
else      
{
 $nom = trim($_POST['nom']);
 $form = trim($_POST['form']);
 $imei = trim($_POST['imei']);
 $mail = trim($_POST['email']);
 $provider= trim($_POST['provider']);
  $mepcount = stripslashes(trim($_POST['mepcount']));
 $blackberry = stripslashes(trim($_POST['blackberry']));

}
/*Vérifie si l'adresse mail est au bon format */
 $regex_mail = '/^[-+.w]{1,64}@[-.w]{1,64}.[-.w]{2,6}$/i'; 
 /*Verifie qu il n y est pas d en tête dans les données*/
$regex_head = '/[nr]/';   
/*Vérifie qu il n y est pas d erreur dans adresse mail*/
 if (!preg_match($regex_mail, $mail))
 {
 $alert = 'L'adresse '.$mail.' n'est pas valide';      
 }
 else
{ 
 $courriel = 1;
}   
/* On affiche l'erreur s'il y en a une */ 
if (!empty($alert))
{
 $courriel = 0;
}     
/* On vérifie qu'il n'y a aucun header dans les champs */ 
if (preg_match($regex_head, $nom)
 || preg_match($regex_head, $email)
 || preg_match($regex_head, $provider)
 || preg_match($regex_head, $imei)
 || preg_match($regex_head, $form))
 || preg_match($regex_head, $blackberry))
 || preg_match($regex_head, $mepcount))

{  
 $alert = 'En-têtes interdites dans les champs du formulaire'; 
}
else
{ 
 $header = 1;
}   
/* On affiche l'erreur s'il y en a une */ 
if (!empty($alert))
{
 $header = 0;
}
if (empty($imei) 
 || empty($mail) 
 || empty($provider))
{  
 $alert = 'Tous les champs doivent être renseignés';
} 
else
{  
 $renseigne = 1;
}   
/* On affiche l'erreur s'il y en a une */ 
if (!empty($alert))
{
 $renseigne = 0;
}
/* Si les variables sont bonne */
if ($renseigne == 1 AND $header == 1 AND $courriel == 1)
{
/*Envoi du mail*/

/*Le destinataire*/
$to="";

/*Le sujet du message qui apparaitra*/
$sujet="ALL device unlock";
$msg = '';
/*sa se fason mesaj lan dwe paret*/
/*$msg = 'Mail envoye depuis le site' "rnrn";*/
$msg .= 'Bonjour, mon Nom est : '.$nom."r/n";
$msg .= 'form : '.$form."r/n";
$msg .= 'et le numero suivant est imei de mon portable: '.$imei."r/n";
$msg .= 'et sa Provider est ceci : '.$Provider."r/n";
$msg .= 'le Mail pour que je recois les code debloquage est: '.$mail."r/n";
$msg .= 'ceci est le mep count ou PRD de mon portable : '.$mepcount."r/n";
$msg .= 'ceci est le model de mon portable : '.$V."r/n";

/*Les en-têtes du mail*/
$headers = 'From: MESSAGE DU<>'."r/n";
$headers .= "r/n";
/*L'envoi du mail - Et page de kap paypal redirection*/
mail($to, $sujet, $msg, $headers);
header('Location:[http://www. http://www.');|nofollow]
}
else
{
header('Location:[http://www. http://www.');|nofollow]
}   


/*sa se pou email konfimasyon kliyan yo*/
mail($mail, $objet, $contenu, $entetes);
/ Mail
$objet = 'Confirmation code request' ;
$contenu = '
<html>
<head>
   <title>Thank you for choosing Alldeviceunlock.com</title>
</head>
<body>
   <p>Bonjour Mr/Mmme '.$nom.'</p>
   <p>blablablabla</p>
</body>
</html>';<br><br> $entetes =
'Content-type: text/html; charset=utf-8' . "\r\n" .
'From: email@domain.tld' . "\r\n" .
'Reply-To: email@domain.tld' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

//Envoi du mail


je veux avoir afficher un prix apres chaque selection d'un model du liste deroulante,et aussi mettre un lien de redirection pour chaque model saisie et de ne pas perde les autres information saisie,comme imei et autres.
merci d'avance pour votre aide



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

1 réponse

jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
11 sept. 2016 à 22:05
Bonjour,


je veux avoir afficher un prix apres chaque selection d'un model du liste deroulante,et aussi mettre un lien de redirection pour chaque model saisie

Si je comprend bien... tu veux que le contenu de ta page s'actualise après chaque selection.... sans rechargement de la page ni avoir à cliquer sur un bouton submit ?
Dans ce cas...c 'est en JAVASCRIPT que tu dois le faire... pas en PHP.
Je déplace la discussion dans le bon forum.

0
Oui pour afficher le prix je penses que c'est en javascript mais je ne sais pas comment,et aussi pour chaque élément du liste doit avoir une redirection differente,.
0
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
11 sept. 2016 à 22:43
Pour commencer... tu parles de cette liste ?
<select name="Vodafone"  required>
<option>Please Select Model</option>
<optgroup label="**********unlock your Vodafone**********"></optgroup>
<option value="VODAFONE-1230+ZTE811"> Vodafone 1230(ZTE 811) </option>
<option value="VODAFONE-1231" > Vodafone 1231 </option>
<option value="VODAFONE-351" >  Vodafone 351  </option>
<option value="VODAFONE-353" >  Vodafone 353  </option>
<option value="VODAFONE-547" >  Vodafone 547  </option>
<option value="VODAFONE-553" >  Vodafone 553  </option>
<option value="VODAFONE-945" >  Vodafone 945  </option>
<option value="VODAFONE-INDIA-TARA"> Vodafone India Tara </option>
</select>


Tu dois donc mettre un ONCHANGE sur ton select et y faire appel à une fonction javascript.

Par exemple
<select name="Vodafone"  required onchange="go(this.value)">
<option>Please Select Model</option>
<optgroup label="**********unlock your Vodafone**********"></optgroup>
<option value="VODAFONE-1230+ZTE811"> Vodafone 1230(ZTE 811) </option>
<option value="VODAFONE-1231" > Vodafone 1231 </option>
<option value="VODAFONE-351" >  Vodafone 351  </option>
<option value="VODAFONE-353" >  Vodafone 353  </option>
<option value="VODAFONE-547" >  Vodafone 547  </option>
<option value="VODAFONE-553" >  Vodafone 553  </option>
<option value="VODAFONE-945" >  Vodafone 945  </option>
<option value="VODAFONE-INDIA-TARA"> Vodafone India Tara </option>
</select>
<script type="text/javascript">
 function go(choix){
    // ici tu mets ton code 
 }
</script>



Par contre... autant pour "afficher" le prix je comprend... autant pour pour la "redirection" là.. je ne vois pas..;
De quelle redirection tu parles ?

et puis... tu ne nous as pas indiqué d'où proviennent les prix.... dans quoi sont-ils stockés et comment les récupères tout actuellement ?

Sachant que si jamais ils sont stockés en BDD ... il te faudra utiliser de l'ajax
0
Babyhay > jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
16 sept. 2016 à 09:04
Je comprend bien maintenant, je suis en train de suivre un tuto pour la creation de la base de données pour afficher le prix,mais mon probleme c'est parce que le tuto n'expliquer pas comment comment attribuer chaque valeur de la liste deroulante a son prix dans la BDD,est ce que je peux avoir un exemple de code pour faire ça?
0
Merci Jordane45 pour ton aide,je veux simplement afficher le prix sur ma page html selon la selection dans liste deroulante,par exemple:si le premier model est sélectionné,ça dois fqit appel a le prix dans la page HTML et ensuit appeler le lien de redirection vers paypal correspond a ce prix dans le traitement PHP.je ne sais pas si c'est possible?
0
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
16 sept. 2016 à 09:25
Pour commencer... tu dois relier ton code php à ta BDD.
pour ça tu dois utiliser PDO ou Mysqli
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
Perso je préfère PDO
pour lequel il faut activer la gestion des erreurs
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

Ensuite tu devras faire une requête de type SELECT pour récupérer les données voulues.

Encore une fois, si ton souhait est d'afficher les données LORS DU CHOIX dans la liste (sans avoir à cliquer sur un autre bouton ni à rafraichir la page) tu DEVRAS passer par de l'AJAX.
Voici un exemple utilisant jquery (préférable au simple javascript de base...)
https://forums.commentcamarche.net/forum/affich-33258760-remplir-un-formulaire-dynamiquement-en-fonction-d-une-combobox#2

Bien entendu pour faire tout ça il te faut avoir un minimum de connaissances en PHP / HTML / JAVASCRIPT et MYSQL.
Si tu n'as pas le niveau... je t'invite vivement à regarder des tutos sur le net.....
0