Probleme de redirection pour select

Fermé
babyhay Messages postés 6 Date d'inscription dimanche 11 septembre 2016 Statut Membre Dernière intervention 28 septembre 2016 - Modifié par crapoulou le 28/09/2016 à 18:41
babyhay Messages postés 6 Date d'inscription dimanche 11 septembre 2016 Statut Membre Dernière intervention 28 septembre 2016 - 28 sept. 2016 à 19:20
bonjour a tous et a toutes,j'espere deja que vous allez bien

je rencontre un grand probleme avec un code que je trouve sur ce forum,parait semblant que le code fonctionne tres bien mais pas pour moi,

voici le code


<?php if(isset($_POST['tache']))
{
  switch($_POST['tache'])
  {
    case 'a':
    header('location: fichier1.php');
    exit;
  
    case 'b':
    header('location: fichier2.php');
    exit;
  
    case 'c':
    header('location: fichier3.php');
    exit;
  
    case 'd':
    header('location: fichier4.php');
    exit;
  
    default:
    header('location: fichier1.php');
    exit;
  }
}
else
{
    header("location:index.php");
}
    
?>



donc je l'ai modifier pour mettre dans un traitememnt php pour une page html
voici la page de traitement

<?php
session_start();//on démarre la session
// $errors = [];
  $errors = array(); // on crée une vérif de champs
if(!array_key_exists('Name', $_POST) || $_POST['Name'] == '') {// on verifie l'existence du champ et d'un contenu
  $errors ['Name'] = "vous n'avez pas renseigné votre nom";
  }
if(!array_key_exists('mail', $_POST) || $_POST['mail'] == '' || !filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL)) {// on verifie existence de la clé
  $errors ['mail'] = "vous n'avez pas renseigné votre email";
  }
if(!array_key_exists('imei', $_POST) || $_POST['imei'] == '') {
  $errors ['imei'] = "vous n'avez pas renseigné votre message";
  }
  if(!array_key_exists('Provider', $_POST) || $_POST['Provider'] == '') {
  $errors ['Provider'] = "vous n'avez pas renseigné votre message";
  }
  if(!array_key_exists('Zte', $_POST) || $_POST['Zte'] == '') {
  $errors ['Zte'] = "vous n'avez pas renseigné votre message";
  }

//On check les infos transmises lors de la validation
  if(!empty($errors)){ // si erreur on renvoie vers la page précédente
  $_SESSION['errors'] = $errors;//on stocke les erreurs
  $_SESSION['inputs'] = $_POST;
  header('Location:index.html/');
  }else{
  $_SESSION['success'] = 1;
  $headers  = 'MIME-Version: 1.0' . "\r\n";
  $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  $headers .= 'FROM:' . htmlspecialchars($_POST['email']);
  $to = 'xxxxx@xxxxxxxx.com'; // Insérer votre adresse email ICI
  $subject = 'Message envoyé par ' . htmlspecialchars($_POST['Name']);
  $message_content = '
  <table>
  <tr>
  <td><b>bonjour,je voudrais unlock mon portable:</b></td>
  </tr>
  <tr>
  <td>'. $subject . '</td>
  </tr>
  <tr>
  <td><b>voici les coordonnes de mon portable:;</b></td>
  </tr>
  <tr>
  <td>le Model de mon portable est::::>>>'. htmlspecialchars($_POST['Zte']) .'</td>
  </tr>
  <tr>
  <td>l/imei de mon portable est le suivant::::>>>'. htmlspecialchars($_POST['imei']) .'</td>
  </tr>
  <tr>
  <td>son provider ID est::::==>>'. htmlspecialchars($_POST['Provider']) .'</td>
  </tr>
   <tr>
  <td>est aussi mon mail est::::==>>'. htmlspecialchars($_POST['mail']) .'</td>
  </tr>
  <tr>
  <td>Merci de m/aider,message de la part de:::>>>'. htmlspecialchars($_POST['Name']) .'</td>
  </tr>
  </table>
  ';
if(isset($_POST['zte']))
{
  switch($_POST['zte'])
  {
    case 'b':
    header('location:[https://web.whatsapp.com/%27); https://web.whatsapp.com/');|nofollow]    exit;
  
    case 'a':
    header('location:send.html');
    exit;
  
    case 'c':
    header('location: [https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1475068975&rver=6.4.6456.0&wp=MBI_SSL_SHARED&wreply=https:%2F%2Fmail.live.com%2Fdefault.aspx&lc=1036&id=64855&mkt=fr-fr&cbcxt=mai%27); https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1475068975&rver=6.4.6456.0&wp=MBI_SSL_SHARED&wreply=https:%2F%2Fmail.live.com%2Fdefault.aspx&lc=1036&id=64855&mkt=fr-fr&cbcxt=mai');|nofollow]    exit;
  
    case 'd':
    header('location:[https://fr.yahoo.com/%27); https://fr.yahoo.com/');|nofollow]    exit;
  
    default:
    header('location:index.php');
    exit;
  }
}
else
{
    header("location:index.php");
}
  }
?> 



et aussi voici la page HTML

 <form name="Zte" form method="post" action="formmail2.php" class="select-model" onSubmit="return verify();">

<select name="Zte"  required>
<option value="at&t+r225+gophone" > </option>
                           <option value="810-E810" name="a"> </option>
                                <option value="A261" name="b"> </option>
                                <option value="at&t-r225-gophone" name="c" > </option>
                                <option value="Blade-Lutea" name="d" > </option>
</select>
 <li class="last"> 

         Imei<input id="imei" type="text" name="imei" pattern="[0-9]{15}" title=enter your Imei maxlength="15" required>

         Provider ID <INPUT type="text" NAME="Provider" SIZE=46 placeholder="no worry if you have'nt"> <P>

         Name <INPUT id="name"     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> 
</form>


mon plus grand probleme c'est que apres la soumission du formulaire,la redirection se fait toujours sur la page par defaut,je ne sais ppas que dois je faire maintenant,je veux vraiment de votre aide,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 38320 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 707
Modifié par jordane45 le 28/09/2016 à 18:57
Bonjour,

Premier souci.. tu as le même NAME sur deux éléments
<form name="Zte" 

<select name="Zte"  required>


ensuite, dans :
<form name="Zte" form method="post" action="formmail2.php" class="select-model" onSubmit="return verify();">


que vient faire le "form" qui se promène tout seul en plein milieu?


Puis ... dans les éléments OPTION ...il n'y a pas d'attribut NAME
<option value="810-E810" name="a"

ça n'existe pas..... (tu ne dois pas en mettre).

Le code que tu as trouvé se base sur la VALUE de tes options...
Il faut donc faire comme ceci :
<select name="select_Zte"  required>
  <option value="at&t+r225+gophone" > </option>
  <option value="810-E810"> </option>
  <option value="A261" > </option>
  <option value="at&t-r225-gophone" > </option>
  <option value="Blade-Lutea" > </option>
</select>

et côté php :
 //récupération "propre" des variables en utilisant l'écriture ternaire
 $select_Zte = isset($_POST['select_Zte']) ? $_POST['select_Zte'] : NULL;
 
 switch($select_Zte){
  case '810-E810':
    $url_redirection = 'send.html';
    break;
  case 'A261':
    $url_redirection = 'https://web.whatsapp.com/';
    break;
  case 'at&t-r225-gophone':
    $url_redirection = ' https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1475068975&rver=6.4.6456.0&wp=MBI_SSL_SHARED&wreply=https:%2F%2Fmail.live.com%2Fdefault.aspx&lc=1036&id=64855&mkt=fr-fr&cbcxt=mai';
    break;
  case 'Blade-Lutea':
    $url_redirection = 'https://fr.yahoo.com/';
    break;
  default:
    $url_redirection = 'index.php';
    break;
  }
  header('location:'.$url_redirection);



Cordialement, 
Jordane                                                                 
0
Ok merci JORDAN, je vais essayer ta solution
0
babyhay Messages postés 6 Date d'inscription dimanche 11 septembre 2016 Statut Membre Dernière intervention 28 septembre 2016
28 sept. 2016 à 18:50
est ca vas fonctionner sans que la valeur dans la case ne correspond pas avec celles dans option?
0
jordane45 Messages postés 38320 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 707
28 sept. 2016 à 18:56
oups un oublie lors de mon copier/coller
En effet il faut modifier dans le switch les "values" de référence....

J'édite mon message précédent
0
babyhay Messages postés 6 Date d'inscription dimanche 11 septembre 2016 Statut Membre Dernière intervention 28 septembre 2016
28 sept. 2016 à 19:09
merci Jordane ,ca fonctionne tres bien
0
babyhay Messages postés 6 Date d'inscription dimanche 11 septembre 2016 Statut Membre Dernière intervention 28 septembre 2016
28 sept. 2016 à 19:10
comment puis je envoyer un email automatique des donne saisies par l'utilisateur dans ce traitement php?
0