Aller au contenu

Sujets conseillés

Posté

Bonjour à vous ! :)

J'ai un soucis de validation de mes pages en php.

Toutes celles qui sont protégées par l'authentification du mot de passe avec ce code

<?php include 'authentification.php'; ?>

ne passe pas au validateur W3C.

D'après W3C, si je comprends bien je dois avoir une erreur dans mon doctype.

J'ai parcouru tout le tutoriel : comment bien choisir son doctype mais je ne trouve pas.

Voila le lien pour valider une de mes pages qui ne passent pas.

Pouvez-vous m'aider SVP?

Posté

Lorsqu'on regarde la source de la page qui ne valide pas, on trouve ceci :

Vous n'êtes pas connecté
<A href="connexion.php">Cliquez ici pour retourner à la page de connexion</A>

.

Tu n'as pas de balise HTML, head, body ... rien de tout ça ! Normal que la validation ne s'effectue pas.

Ensuite ... Est-il absolument nécessaire de valider ce genre de page ?

Posté

Bonjour,

Je ne suis pas certaine de bien comprendre le sens de ta question... sans login ni mot de passe, personne ne peux avoir accès aux pages en question (qu ce soit l'un de nous pour voir éventuellement ce qui y cloche, ou le validateur pour évaluer le code).

Le seul moyen de valider ces pages-là, c'est de coller directement le code via l'onglet Validate by Direct Input.

Posté

Merci pour votre aide!

En fait, si j'ai compris la réponse de captain_torche, ce ne sont pas mes pages du site qui passent au validateur lorsqu'elles sont protégées, mais c'est ma page qui sert à l'authentification. Et il est vrai que celle-ci n'a pas de doctype.

<?php

// on retrouve la session et on l'ouvre
if (!isset($_POST["login"])) { session_start(); }

// connexion à la BDD
$BDD=mysql_connect ( getenv("MYSQL_HOST"),"login","mdp" );
mysql_select_db (getenv("MYSQL_DATABASE"));
If (!$BDD) { die("Connexion echouée !"); }

// on vérifie le login et le mot de passe par rapport à la BDD
$req = "SELECT * FROM identification WHERE login='".$_SESSION['login']."' and mdp='".MD5($_SESSION['mdp'])."' and activation='1'";
$rep = mysql_query($req);

If (mysql_num_rows($rep) > 0)
{
// connexion OK

// une petite variable si jamais on en a besoin dans le reste de la page à afficher
$login = $_SESSION["login"];
}
else
{
// connexion incorrecte
echo "Vous n'êtes pas connecté<br><A href=\"connexion.php\">Cliquez ici pour retourner à la page de connexion</A>";
exit();
}

?>

Est-ce que si je mets un lien vers une page au lieu de juste un echo ça peut régler mon problème?

Posté

Vous avez tout les deux raisons et cela a été fais.

En remplaçant echo par include vers une page à résolu mon problème. :)

Merci de vous être intéressé sur ma demande.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...