5568 sujets

Sémantique web et HTML

Bonjour à tous,
j'ai crée une page internet permettant la saisie d'un mot de passe qui, une fois validé raffraichit la page vers une autre page d'administration. J'ai crée ceci afin de l'inclure dans mes pseudo frame. Voici le code :


<?php

if (isset($_POST['mot_de_passe'])) // Si la variable existe
{
    // On se crée une variable $mot_de_passe avec le mot de passe entré
    $mot_de_passe = $_POST['mot_de_passe'];
}
else // La variable n'existe pas encore
{
    $mot_de_passe = ""; // On crée une variable $mot_de_passe vide
}

if ($mot_de_passe == "******") // Si le mot de passe est bon
{
// On affiche la page cachée.
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
   <meta http-equiv="refresh" content="0, URL=../index.php?page=liste_news"> <!-- NOTEZ ICI LE LIEN DE LA PAGE A AFFICHER LORS DU RAFFRAICHISSEMENT
</head>
</html>

<?php
}

else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
...
...
...
?>


Le problème est :
Sur Firefox, aucun problème, la nouvelle page s'affiche par raffraichissement de la page actuelle.
Mais sur IE, la page se raffraichit bien, mais me réaffiche toujours la zone de texte pour la saisie du mot de passe (et je n'ai donc jamais accès à la page d'administration).

Avec un echo de la variable $mot_de_passe, je m'apperçois pourtant que, que ce soit pour IE ou pour FF, le mot de passe entré est le bon...

Que puis-je y faire ?

Merci,
Killaman
Modifié par Killaman (07 Jun 2007 - 11:27)
Je ne vois pas où il y a de problème. Essaie de mettre des echos pour voir quelle partie ne marche pas, et par outon script passe.

Bonne chance
Salut Killaman Smiley cligne ,

Effectivement le code semble correct mais pourquoi faire un refresh au lieu d'utiliser le header ? Comme ceci :
<?php
if (isset($_POST['mot_de_passe'])) // Si la variable existe
{
    // On se crée une variable $mot_de_passe avec le mot de passe entré
    $mot_de_passe = $_POST['mot_de_passe'];
}
else // La variable n'existe pas encore
{
    $mot_de_passe = ""; // On crée une variable $mot_de_passe vide
}
if ($mot_de_passe == "******") // Si le mot de passe est bon
{
header("Location: ../index.php?page=liste_news");
die();
}
else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
...
...
...
}
?>
Le header, je connaissais pas. Ca ne fait rien de plus que le refresh ?!?

Mais celà n'a pas résolu mon problème. En fait, je comprend pas pourquoi, quand j'affiche la variable $mot_de_passe, elle me met bien le bon mot de passe pour les deux navigateurs.

Pour mozilla, s'ensuit la redirection vers "index.php?page=liste_news" avec le header.
Mais pour Internet Explorer, je ne comprend pas pourquoi, lorsque j'entre le mot de passe (qui pourtant est bon), ça me ramène à la page d'entrée du mot de passe...

Si quelqu'un veut vérifier mes dire, je peux lui donner l'accès vers le site pour tester, mais puisque celui-ci est la page d'administration, je ne le donnerai que par MSN : venus_mon_reve@hotmail.com, pour me joindre.

Merci,
Killaman
Salut Smiley cligne ,

Voici un avis sur le "pourquoi header plutôt que refresh ?"

*Edit: A tout hasard, est-ce que ton problème ne se situerait pas sur la page appelée index.php?page=liste_news qui renverrait à la saisie du mot de passe ?
Modifié par Heyoan (06 Jun 2007 - 12:51)
Si je fixe la paramètre de temps de mon refresh à 0, il se raffraichi à la même vitesse que le header...

Comme tu as pu le constater sur le fichier que je t'ai envoyé, la saisie du mot de passe est traitée intégralement au niveau de mon fichier adminweb.php
Re'

Je t'ai répondu par MP pour ton problème et en ce qui concerne le header, il ne fonctionne que si aucun caractère n'a été envoyé avant (même un espace blanc Smiley cligne ). Le problème principal du refresh AMHA est qu'il écrit deux pages au lieu d'une sans aucune raison (les 2 seuls cas pour lesquels je m'en sers sont 1 - un message du type "Patience, vous allez être redirigé..." et 2 - dans un espace réservé pour lancer un timeout d'utilisation de la page avant d'être automatiquement déconnecté Smiley murf )