form d'identification muet et pb avec IE

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 : form d'identification muet et pb avec IE

par Boro64 » 31 août 2008, 23:17

Bonsoir
Bhé voilà c'est résolu!
En fait, après bien des re-lectures de mes codes, je me suis aperçu que j'avais écrit comme value du submit "Envoyer !", et que mon code était:

Code : Tout sélectionner

if (isset($_POST['envoyer']) && $_POST['envoyer'] =='Envoyer'
Hé oui, le ! avait disparu... :-*
Bête problème d'inattention
Merci à tous
Tchô

par _activmik » 30 juil. 2008, 09:41

Si je ne m'abuse tu as un include avant ton header, alors qu'il doit être en premier.

form d'identification muet et pb avec IE

par Boro64 » 29 juil. 2008, 21:31

Bonsoir
J'ai un formulaire d'identification qui me pose de drôles de problèmes:
1) Il reste muet, c'est à dire qu'il ne m'affiche aucun des messages d'erreur possible
2) il ne renvoie pas sur la page "header: Location..." si bien le visiteur est bien identifié
3) Le bouton "reset" est inopérant (???)
4) aucun message d'erreur de php...(peut être ce qui m'etonne le plus... :? )
5) avec IE (6) c'est pire: les champs sont carrément inaccessible... :shock:
Voici le code php, placé dans l'en-tête:

Code : Tout sélectionner

<?php include ('code_boutik/connect.inc.php'); ?> <?php //test de soumission du formulaire où "envoyer" est le nom du submit if (isset($_POST['envoyer']) && $_POST['envoyer'] =='Envoyer') { if ((isset($_POST['prenom']) && !empty($_POST['prenom'])) && (isset($_POST['nom']) && !empty($_POST['nom'])) && (isset($_POST['email']) && !empty($_POST['email'])) && (isset($_POST['mdp']) && !empty($_POST['mdp']))) //test pour vérifier si une entrée de la base clients contient l'ensemble prenom, nom, email, mdp { $sql = 'SELECT * FROM clients WHERE prenom ="'.mysql_escape_string($_POST['prenom']).'" AND nom ="'.mysql_escape_string($_POST['nom']).'" AND email = ="'.mysql_escape_string($_POST['email']).'" AND mdp_md5 ="'.md5(mysql_escape_string($_POST['mdp'])).'"'; $req = mysql_query($sql) or die ('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); mysql_free_result($req); //si réponse, c'est que le client est inscrit $id = mysql_insert_id();//récupération de l'id du client if ($data[0] == 1){ session_start(); $_SESSION['id'] = $id; $_SESSION['prenom'] = $_POST['prenom']; $_SESSION['nom'] = $_POST['nom']; $_SESSION['email'] = $_POST['email']; header ('Location: base.php'); exit(); mysql_close(); } //si on ne trouve aucune réponse, c'est qu'il doit y avoir erreur dans la saisie, on le signale elseif ($data[0] == 0){ $erreur = "Aïe!...Compte non reconnu par notre base...Êtes vous certain d'avoir bien entré les bonnes données?..Essayez à nouveau, svp. Merci"; } else { $erreur = "Houlà...Nous avons visiblement un problème avec notre base...Notez ce message et veuillez contactez le webmaster, svp; Merci!"; } } else{ $erreur = "Au moins 1 des champs n'est pas rempli; merci de remplir <b>TOUS</b> les champs."; } } ?>
et voici le html:

Code : Tout sélectionner

<p> <form action="<?php print $_SERVER['REQUEST_URI'];?>" method="post" class="txt-form"> <table> <tr> <td>Votre prénom: <input type="text" name="prenom" value="<?php if(isset($_POST['prenom']))echo htmlentities(trim($_POST['prenom'])); ?>" /> </td> <td>Votre nom: <input type="text" name="nom" value="<?php if(isset($_POST['nom']))echo htmlentities(trim($_POST['nom'])); ?>" /> </td> </tr> <tr> <td>Votre email: <input type="text" name="email" value="<?php if(isset($_POST['email']))echo htmlentities(trim($_POST['email'])); ?>" /> </td> <td>Votre mot de passe: <input type="password" name="mdp" value="<?php if(isset($_POST['mdp']))echo htmlentities(trim($_POST['mdp'])); ?>" /> </td> </tr> <tr> <td><input type="submit" name="envoyer" value="Envoyer!" /> </td> <td> <input type="reset" name="effacer" value="Effacer..." /> </td> </tr> </table> </form> <br /> <br /> <?php if (isset($erreur)) { echo $erreur; } ?> </p>
Honnêtement je ne sais plus quoi faire..Auriez vous quelques pistes, avis, conseils? Et avez vous déjà rencontré ce pb avec IE ? D'ailleurs sur une autre page, j'ai un pb avec IE (6 ET 7), où les boutons "S'inscrire" et "s'identifier" ne génèrent aucune action, alors que "tout va bien, merci" avec FF et Opera (pas encore testé avec mon mac)...Enfin, bref...Merci d'avance pour votre aide