Rechercher : dans
Par :

Javascript /php :bug de window.location

Dernière réponse le 12 nov 2009 à 08:06:20 Pure chèvre, le 9 nov 2009 à 17:58:05 
 Signaler ce message aux modérateurs

Bonjour à tous,

Je suis novueau, j'espère avoir posté au bon endroit :)
Je reprends la gestion d'un site, et je suis très mauvais en javascript.

Depuis quelques jours, un problème est apparu (en même temps que la nouvelle version d'IE8 ?). Sur ma page d'accueil, j'ai un champ de texte et un bouton "VALIDER". si on rentre le bon mot de passe, on peut accéder à la page suivante.

Sous Firefox, pas de problème, qu'on clique sur VALIDER ou qu'on appuie sur "Entrée", on accède à la page suivante.
Sous IE 8, le clic fonctionne. Mais pas le fait d'appuyer sur Entrée. Alors que tout allait bien jusque là.

Voilà la syntaxe utilisée pour le semblant de sécurisation.

<?php
              include ('./connect_db.php'); 
              if (isset($_POST['valider']))
                  {
                    $mot_de_passe = $_POST['mdp'];
                    $mot_de_passe_hash = md5($mot_de_passe);
                    $log=mysql_query("SELECT * FROM pass ")or die(mysql_error());
                    $t_log=mysql_fetch_array($log);
                  if ($mot_de_passe_hash==$t_log['pass']){
                  ?>
<script type="text/javascript">
window.location.href="./fichier_cible.php";
</script>
<?php }}

Quelqu'un a une idée d'où ça peut venir ?

Merci d'avance :)
Configuration: Windows XP
Firefox 3.5.5
IE8

Meilleures réponses pour « Javascript /php :bug de window.location » dans :
[Webmaster] Faire une redirection VoirLes différentes solutions sont présentées de la meilleure (.htaccess) à la moins bonne (JavaScript). Un .htaccess Le .htaccess est à placer dans le répertoire qui doit être redirigé. On applique une redirection de cette façon : RedirectPermanent...
Javascript - L'objet window VoirLes particularités de l'objet window L'objet window est l'objet par excellence dans Javascript, car il est le parent de chaque objet qui compose la page web, il contient donc : l'objet document: la page en elle-même l'objet location: le lieu de...
Javascript - Implantation du code VoirA quel emplacement insérer le Javascript dans votre page HTML Il existe plusieurs façons d'inclure du JavaScript dans une page HTML : Grâce à la balise En mettant le code dans un fichier Grâce aux événements Dans la balise...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...

1

avion-f16, le 9 nov 2009 à 18:02:39

en même temps que la nouvelle version d'IE8 ?
IE8 est sorti depuis déjà plusieurs mois ...

Pour mieux comprendre ton problème, il est souvent utile d'ouvrir les codes sources depuis le navigateur, pour voir à quoi elles ressemble après avoir été générée avec PHP.

Je penses que c'est cette ligne qui pose problème :

$log=mysql_query("SELECT * FROM pass ")or die(mysql_error());
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.

Répondre à avion-f16

2

Pure chèvre, le 10 nov 2009 à 08:05:56

Merci pour la réponse :)
En fait je parlais d'une mise à jour Windows concernant internet Explorer, qui a eu lieu ces derniers jours, pas de la dernière version en elle même.

J'ai affiché la source de la page côté client, et voilà que j'obtiens :

<form name="pass" enctype="multipart/form-data" method="post" action="fichier_cible.php">
       <center>
             <label class="label"><i>Espace Client</i></label>
             <input type="password" name="mdp" size="10" class = "champtexte"/> <br />
             <input type="submit" name="valider" value="valider" class="submit"/>
       </center>
</form>


Si c'était la requête SQL qui posait problème, ne devrait-elle pas le poser quel que soit le navigateur ?
Merci en tout cas pour ta réponse :)

Répondre à Pure chèvre

3

avion-f16, le 10 nov 2009 à 16:46:03

Je penses que c'est surtout la redirection en JS.
D'ailleur, évite de faire des redirections en JS quand c'est pour empêcher de voir le reste de la page.
Fait ça en PHP avec la fonction header (aucun caractères, espace compris, ne dois avoir été envoyé [echo, en-dehors de "<?php" et "?>", ...]). :

<?php
...
header('Location: pagecible.php');
die();
...
?>
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.

Répondre à avion-f16

4

 Pure chèvre, le 12 nov 2009 à 08:06:20

Ok, je vais me documenter sur ces fonctions php et tenter le coup.

Merci de l'info ;)

Répondre à Pure chèvre
Collection CommentÇaMarche.net