Page 1 sur 1

form d'identification muet et pb avec IE

Posté : 29 juil. 2008, 21:31
par Boro64
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

Posté : 30 juil. 2008, 09:41
par _activmik
Si je ne m'abuse tu as un include avant ton header, alors qu'il doit être en premier.

Posté : 31 août 2008, 23:17
par Boro64
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ô