Problème header

Fermé
ludger71 Messages postés 3 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 12 avril 2006 - 12 avril 2006 à 13:49
ludger71 Messages postés 3 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 12 avril 2006 - 12 avril 2006 à 15:00
Bonjour,

Deuxième soussi...

J'ai créer un accès sécurisé pour le site web d'une organisation, cependant, je n'arrive pas à faire marcher la redirection :

J'ai lu les différents messages, et j'ai compris qu'il est nécessaire que la fonction header soit en début de programme, mais il faut tout de même que le programme vérifie que la personne à bien le droit d'aller sur cette page web!

Je vous montre mon code, pourriez-vous le regarder et m'aider merci.
<?
$connexion=mysql_connect("localhost","root",""); //lance la connection
if($connexion){ //s'il ya connexion...
$Nom=$_POST['login']; //on recupère les identifiants
$Password=$_POST['password'];
mysql_select_db("intranet", $connexion);//et on les vérifie
$requete="SELECT Nom, password From`connexion` WHERE Nom='$Nom' AND password='$Password'";
$resultat=mysql_query($requete);
$ligne=mysql_fetch_array($resultat);
if ($ligne[Nom]==$Nom && $ligne[password]==$Password){
//si les identifiants sont bons, alors afficher [...] et executer la requête
header ('Localisation: essai.htm');
if ($Nom=="admin" && $Password=="admin_password")
{
//echo "<p>";
//echo "Vous pouvez <a href=modif.html>ajouter des films</a>";
}
else
{
echo "";
}
echo "<BR><BR>";
echo "Vous pouvez faire vos recherches ou retourner à la <a href=index.htm>Page d'accueil</a>";
echo "<a href=deconnexion.php>deconnxion</a>";
echo "<BR>";

}
else {//sinon, si les identifiants sont mauvais, alors afficher :
echo " Mauvais Login ou mot de passe";
echo "<p><a href=index.htm>Retour</a>";// et rediriger vers la page d'acceuil
}

}else{//si la connexion echoue, alors afficher :
echo "<P>Echec de la connexion";
exit ;
}



?>

3 réponses

P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
12 avril 2006 à 14:11
j'ai pas tout compris ta question, mais

1- utilise le bouton "code" pour motrer ton code ... c'est plus facile à lire

2- header ('Localisation: essai.htm'); ne marchera pas parce que
header ('Location: essai.htm'); 
localisation n'existe pas en php

3- tu peux repéter la question, stp ??

Pour info sur le sujet https://www.php.net/manual/en/function.header.php
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 109
12 avril 2006 à 14:14
Bonjour,

Tout d'abord, une petite remarque : si c'est une connexion sécurisée, je pense que la première chose à faire est de mettre un mot de passe à l'utilisateur root sur la base MySQL.

Pour la fonction header(), il faut l'utiliser avant d'avoir écrit quoi que ce soit sur la page web. Par exemple :

echo 'opopop';
header("Location: index.html");

ne marchera pas. Mais tu peux faire tout ce que tu veux avant d'appeler cette fonction si tu n'envoies rien en sortie.

D'ailleurs ce n'est pas header("Localisation:..."); mais header("Location:...");

Voilà pourquoi ton code ne pas fonctionner.

Bon courage ++.
0
ludger71 Messages postés 3 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 12 avril 2006
12 avril 2006 à 15:00
Je repose ma question:

Ma redirection ne marche pas...

Ce programme vérifie que la personne souhaitant se connecter en a bien le droit, et si c'est le cas, il la redirige vers le site.

Cependant, lorsque j'éxécute ce programme, j'ai le problème suivant : "Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\site\connexion3.php:9) in c:\program files\easyphp1-8\www\site\connexion3.php on line 22"

Je ne vois pas ou il faut que je place la fonction header...!

<html>
<head>
<title>Connexion</title>
</head>
<?
$connexion=mysql_connect("localhost","root",""); //lance la connection
if($connexion){ //s'il ya connexion...
$Nom=$_POST['login']; //on recupère les identifiants
$Password=$_POST['password'];
mysql_select_db("intranet", $connexion);//et on les vérifie
$requete="SELECT Nom, password From`connexion` WHERE Nom='$Nom' AND password='$Password'";
$resultat=mysql_query($requete); 
$ligne=mysql_fetch_array($resultat);
if ($ligne[Nom]==$Nom && $ligne[password]==$Password){
//si les identifiants sont bons, alors les rediriger
if ($Nom=="admin" && $Password=="admin_password")
{
header('location: essai.htm');
//echo "<p>";
//echo "Vous pouvez <a href=modif.html>ajouter des films</a>";
}
else
{
echo "";
}
}
else {//sinon, si les identifiants sont mauvais, alors afficher :
echo " Mauvais Login ou mot de passe";
echo "<p><a href=index.htm>Retour</a>";// et rediriger vers la page d'acceuil
}

}else{//si la connexion echoue, alors afficher :
echo "<P>Echec de la connexion";
exit ;
}

?>
</body>
/</html>


Voila
0