[RESOLU] probleme de redirection en traitement php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] probleme de redirection en traitement php

Re: probleme de redirection en traitement php

par Babyhay » 29 sept. 2016, 12:23

Ok merci pour votre aide,ça fonctionne

Re: probleme de redirection en traitement php

par moogli » 29 sept. 2016, 09:37

salut,

merci de faire un effort sur la syntaxe française c'est compliqué de te comprendre.

ensuite la balise option n'as pas d'attribut name, tu peux le mettre mais cela ne change rien.

ton champ de formulaire de type select s'appel zte et toi tu cherches Zte or les index de tableau sont sensible à la casse.
la preuve simple
<?php
$tab =['zte'=> 'zte','Zte'=>'Zte','zTe'=>'zTe','ZTE'=>'ZTE'];

echo '<pre>';
var_dump($tab);
donne

Code : Tout sélectionner

array(4) { ["zte"]=> string(3) "zte" ["Zte"]=> string(3) "Zte" ["zTe"]=> string(3) "zTe" ["ZTE"]=> string(3) "ZTE" }
il faut donc changer zte en Zte dans le code php ou l'inverse dans le code html.

ensuite, comme l'indique or1, il faut que que tu changes les cas de ton switch pour coller aux valeurs de ton select (810-E810 etc).

dernière chose une option s'écrit <option value="xxx">label</option> c'est important pour que cela reste compréhensible pour tout le monde.
tu peux, dans cas, très bien utiliser ce que tu as en value pour le label et remplacer name par value
<option value="a" >810-E810</option>
essai d'indenter correctement ton code cela facilite la lecture ;)


@+

Re: probleme de redirection en traitement php

par Babyhay » 28 sept. 2016, 18:12

c'est apres l'essae sans la balise name que je suis obliger a mettre la balise name parcequ'il ne fonction pas...

Re: probleme de redirection en traitement php

par or 1 » 28 sept. 2016, 18:04

<option value="A261" name="b"> </option>
cette balise n'a pas d'attribut name, c'est ce qu'il y a dans l'attribut value qui est récupérable avec $_POST. il faut donc mettre à jour le switch.

probleme de redirection en traitement php

par Babyhay » 28 sept. 2016, 17: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

Code : Tout sélectionner

<?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

Code : Tout sélectionner

<?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 = '[email protected]'; // 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/'); 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'); exit; case 'd': header('location:https://fr.yahoo.com/'); exit; default: header('location:index.php'); exit; } } else { header("location:index.php"); } } ?>
et aussi voici la page HTML

Code : Tout sélectionner

<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= "[email protected]" 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 vex vraiment de votre aide,merci d'avance pour votre aide