Probleme de redirection pour select
babyhay
Messages postés
7
Statut
Membre
-
babyhay Messages postés 7 Statut Membre -
babyhay Messages postés 7 Statut Membre -
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
donc je l'ai modifier pour mettre dans un traitememnt php pour une page html
voici la page de traitement
et aussi voici la page HTML
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
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
Bonjour,
Premier souci.. tu as le même NAME sur deux éléments
ensuite, dans :
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
ç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 :
et côté php :
Cordialement,
Jordane
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
En effet il faut modifier dans le switch les "values" de référence....
J'édite mon message précédent