A voir également:
- Accès admin sans .htaccess
- Acces rapide - Guide
- Livebox admin - Guide
- Accès refusé - Guide
- Cmd admin - Guide
- Mot de passe admin - Guide
22 réponses
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
10 janv. 2013 à 15:30
10 janv. 2013 à 15:30
Une fois le login réussit, tu enregistre une session avec le nom de ton choix.
Sur chaque page, il ne te restera plus qu'à vérifier si la session est là ou non, si elle n'est pas là, un header("location:protection.php"); et voilà.
Sur chaque page, il ne te restera plus qu'à vérifier si la session est là ou non, si elle n'est pas là, un header("location:protection.php"); et voilà.
Merci pour ta réponse!
Mais comment fais-t-on pour enregistrer une session lors du login?
J'ai entré une table d'utilisateur dans phpmyadmin... mais ensuite ?
Merci
Mais comment fais-t-on pour enregistrer une session lors du login?
J'ai entré une table d'utilisateur dans phpmyadmin... mais ensuite ?
Merci
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
10 janv. 2013 à 15:45
10 janv. 2013 à 15:45
Pour la session c'est simple, tu commence par mettre
session_start(); au tout début.
Si le login à réussit tu fais simplement $_SESSION["login"]=1;
Sur les autres pages, tu remets bien le session_start, et tu test :
if(!$_SESSION["login"])header("location:protection.php");
session_start(); au tout début.
Si le login à réussit tu fais simplement $_SESSION["login"]=1;
Sur les autres pages, tu remets bien le session_start, et tu test :
if(!$_SESSION["login"])header("location:protection.php");
Ok merci je vais tester!
Entre temps, j'ai trouvé une soluc direct sur dreamweaver assez simple qui consiste à ajouter un comportement "connecter l'utilisateur" a 2 formulaire 'log" et "pass".
Le comportement devrait trouver automatiquement la correspondance dans la table des utilisateurs, cependant il ne trouve pas mon serveur... alors que tout est bien configuré et le serveur de test marche très bien etc... un vrai casse tête!
Je vais essayer ta solution, si des fois tu as une raison pour mon autre problème ...!
Entre temps, j'ai trouvé une soluc direct sur dreamweaver assez simple qui consiste à ajouter un comportement "connecter l'utilisateur" a 2 formulaire 'log" et "pass".
Le comportement devrait trouver automatiquement la correspondance dans la table des utilisateurs, cependant il ne trouve pas mon serveur... alors que tout est bien configuré et le serveur de test marche très bien etc... un vrai casse tête!
Je vais essayer ta solution, si des fois tu as une raison pour mon autre problème ...!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
10 janv. 2013 à 16:01
10 janv. 2013 à 16:01
Je n'ai pas dreamweaver, donc dur de t'aider, mais si il teste la connexion à chaque page, c'est des requêtes vers ta base pour rien.
Oui c'est sur.
J'ai testé ton code mais cela ne fonctionne pas, peut tu regarder simplement le début et fin pour me dire ce qui cloche ...?
voici le php de la page de login :
<?
session_start();
$utilisateur = "admin"; // Votre nom d'utilisateur
$mot_de_passe = "admin"; // Votre mot de passe
if (isset($_POST['login']) && isset($_POST['pass']))
{
}
else
{
$_POST['login'] = "";
$_POST['pass'] = "";
}
if ($_POST['login'] == "$utilisateur" && ($_POST['pass'] == "$mot_de_passe")) // Si le nom d'utilisateur et le mot de passe sont correct
{
?>
Affichage de la page caché!
<?
}
else
{
if ($_POST['login'] != "" || ($_POST['pass'] != "")) // Si le nom d'utilisateur ou le mot de passe est incorrect
{$_SESSION["admin"]=1
?>
<center><font color="red">Mauvais mot de passe ou mauvais nom d'utilisateur!</font></center>
<?
}
?>
<center><form action="index.php" method="post">
Utilisateur:<br><input type="text" name="login" /><br>
Mot de passe:<br><input type="password" name="pass" /><br>
<input type="submit" value="Valider" />
</form></center>
<?
}
?>
et le php de ma page index.php par exemple :
<!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" lang="fr-fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<link href="../style.css" rel="stylesheet" type="text/css"/>
<title>Administration</title>
</head>
<body>
<div id="moncadre">
<?php session_start()?>
<?php if(!$_SESSION["admin"])header("location:protection.php");?>
<?php include('menu.php');?>
<div class="cadrecentrale">
<h1>Administration</h1>
<?php
include('.../protection.php');
// on se connecte à la base de données
include('../connexion_bd.php');
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier connexion_bd.php.');
//On selectionne les données
$result = mysql_query("SELECT id,nom_categorie FROM CATEGORIES ORDER BY id ASC");
//On voit si il y a quelque chose. Si il n'y a rien, on affiche un message
if(mysql_num_rows($result) == 0)
{
echo '<div class="cadre"><p>Aucune catégorie pour le moment! <b>>><a title="Ajouter une catégorie" href="ajouter-categorie.php">Ajouter une catégorie</a></b></p> </div>';
}
//Si il y a quelque chose, on affiche nos données
else {
echo '<table style="width: 100%;" cellpadding="2" cellspacing="2"> <tbody> <tr> <td class="hauttd">Catégories</td> <td class="hauttd">Modifier</td> <td class="hauttd">Supprimer</td> </tr>';
while($affiche = mysql_fetch_array($result))
{
//On calcul le nombre d'article dans chaque catégorie
$calcul=$affiche['id'];
$result1 = mysql_query("SELECT id_categorie FROM CONTENU WHERE id_categorie=$calcul");
$total = mysql_num_rows($result1);
//Fin du calcul
echo '<tr><td><a href="voir-categorie.php?id='.$affiche['id'].'">'.$affiche['nom_categorie'].'</a><span style="float:right;">('.$total.')</span></td> <td><a href="modifier-categorie.php?id='.$affiche['id'].'"><img src="images/modifier.png" alt="Modifier"/></a></td> <td><a href="supprimer-categorie.php?id='.$affiche['id'].'"><img src="images/supprimer. png" alt="Supprimer"/></a></td></tr>';
}
echo '</tbody></table>';
//On ferme else
}
?>
</div>
<?php include('../footer.php');?>
</div>
</body>
</html>
J'ai testé ton code mais cela ne fonctionne pas, peut tu regarder simplement le début et fin pour me dire ce qui cloche ...?
voici le php de la page de login :
<?
session_start();
$utilisateur = "admin"; // Votre nom d'utilisateur
$mot_de_passe = "admin"; // Votre mot de passe
if (isset($_POST['login']) && isset($_POST['pass']))
{
}
else
{
$_POST['login'] = "";
$_POST['pass'] = "";
}
if ($_POST['login'] == "$utilisateur" && ($_POST['pass'] == "$mot_de_passe")) // Si le nom d'utilisateur et le mot de passe sont correct
{
?>
Affichage de la page caché!
<?
}
else
{
if ($_POST['login'] != "" || ($_POST['pass'] != "")) // Si le nom d'utilisateur ou le mot de passe est incorrect
{$_SESSION["admin"]=1
?>
<center><font color="red">Mauvais mot de passe ou mauvais nom d'utilisateur!</font></center>
<?
}
?>
<center><form action="index.php" method="post">
Utilisateur:<br><input type="text" name="login" /><br>
Mot de passe:<br><input type="password" name="pass" /><br>
<input type="submit" value="Valider" />
</form></center>
<?
}
?>
et le php de ma page index.php par exemple :
<!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" lang="fr-fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<link href="../style.css" rel="stylesheet" type="text/css"/>
<title>Administration</title>
</head>
<body>
<div id="moncadre">
<?php session_start()?>
<?php if(!$_SESSION["admin"])header("location:protection.php");?>
<?php include('menu.php');?>
<div class="cadrecentrale">
<h1>Administration</h1>
<?php
include('.../protection.php');
// on se connecte à la base de données
include('../connexion_bd.php');
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier connexion_bd.php.');
//On selectionne les données
$result = mysql_query("SELECT id,nom_categorie FROM CATEGORIES ORDER BY id ASC");
//On voit si il y a quelque chose. Si il n'y a rien, on affiche un message
if(mysql_num_rows($result) == 0)
{
echo '<div class="cadre"><p>Aucune catégorie pour le moment! <b>>><a title="Ajouter une catégorie" href="ajouter-categorie.php">Ajouter une catégorie</a></b></p> </div>';
}
//Si il y a quelque chose, on affiche nos données
else {
echo '<table style="width: 100%;" cellpadding="2" cellspacing="2"> <tbody> <tr> <td class="hauttd">Catégories</td> <td class="hauttd">Modifier</td> <td class="hauttd">Supprimer</td> </tr>';
while($affiche = mysql_fetch_array($result))
{
//On calcul le nombre d'article dans chaque catégorie
$calcul=$affiche['id'];
$result1 = mysql_query("SELECT id_categorie FROM CONTENU WHERE id_categorie=$calcul");
$total = mysql_num_rows($result1);
//Fin du calcul
echo '<tr><td><a href="voir-categorie.php?id='.$affiche['id'].'">'.$affiche['nom_categorie'].'</a><span style="float:right;">('.$total.')</span></td> <td><a href="modifier-categorie.php?id='.$affiche['id'].'"><img src="images/modifier.png" alt="Modifier"/></a></td> <td><a href="supprimer-categorie.php?id='.$affiche['id'].'"><img src="images/supprimer. png" alt="Supprimer"/></a></td></tr>';
}
echo '</tbody></table>';
//On ferme else
}
?>
</div>
<?php include('../footer.php');?>
</div>
</body>
</html>
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
10 janv. 2013 à 16:14
10 janv. 2013 à 16:14
Correction :
(Attention, j'ai pas tout recopier)
Ton login.
<?
session_start();
$utilisateur = "admin"; // Votre nom d'utilisateur
$mot_de_passe = "admin"; // Votre mot de passe
if (isset($_POST['login']) && isset($_POST['pass'])){
}
else
{
$_POST['login'] = "";
$_POST['pass'] = "";
}
if ($_POST['login'] == "$utilisateur" && ($_POST['pass'] == "$mot_de_passe")) // Si le nom d'utilisateur et le mot de passe sont correct
{
//On démarre la session ici
$_SESSION["admin"]=1;
?>
Affichage de la page caché!
<?
}
else
{
if ($_POST['login'] != "" || ($_POST['pass'] != "")) // Si le nom d'utilisateur ou le mot de passe est incorrect
{
?>
<center><font color="red">Mauvais mot de passe ou mauvais nom d'utilisateur!</font></center>
<?
}
?>
<center><form action="index.php" method="post">
Utilisateur:<br><input type="text" name="login" /><br>
Mot de passe:<br><input type="password" name="pass" /><br>
<input type="submit" value="Valider" />
</form></center>
<?
}
?>
Ta page body :
(Autant mettre la vérif' tout en haut, ça ne chargera pas des trucs inutilement.)
<?php session_start()
if(!$_SESSION["admin"])header("location:protection.php");
?>
<!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" lang="fr-fr">
(Attention, j'ai pas tout recopier)
Ton login.
<?
session_start();
$utilisateur = "admin"; // Votre nom d'utilisateur
$mot_de_passe = "admin"; // Votre mot de passe
if (isset($_POST['login']) && isset($_POST['pass'])){
}
else
{
$_POST['login'] = "";
$_POST['pass'] = "";
}
if ($_POST['login'] == "$utilisateur" && ($_POST['pass'] == "$mot_de_passe")) // Si le nom d'utilisateur et le mot de passe sont correct
{
//On démarre la session ici
$_SESSION["admin"]=1;
?>
Affichage de la page caché!
<?
}
else
{
if ($_POST['login'] != "" || ($_POST['pass'] != "")) // Si le nom d'utilisateur ou le mot de passe est incorrect
{
?>
<center><font color="red">Mauvais mot de passe ou mauvais nom d'utilisateur!</font></center>
<?
}
?>
<center><form action="index.php" method="post">
Utilisateur:<br><input type="text" name="login" /><br>
Mot de passe:<br><input type="password" name="pass" /><br>
<input type="submit" value="Valider" />
</form></center>
<?
}
?>
Ta page body :
(Autant mettre la vérif' tout en haut, ça ne chargera pas des trucs inutilement.)
<?php session_start()
if(!$_SESSION["admin"])header("location:protection.php");
?>
<!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" lang="fr-fr">
Merci pour ton aide!
Cependant, lorsque je recopie le php dans la page index.php, dreamweaver m'indique une erreur à la ligne 2 et je ne vois pas pourquoi :/...Du coup la page ne s'affiche pas.
Cependant, lorsque je recopie le php dans la page index.php, dreamweaver m'indique une erreur à la ligne 2 et je ne vois pas pourquoi :/...Du coup la page ne s'affiche pas.
aiglenoirdu29
Messages postés
10205
Date d'inscription
mercredi 24 décembre 2008
Statut
Contributeur
Dernière intervention
5 mai 2020
2 348
Modifié par aiglenoirdu29 le 10/01/2013 à 16:47
Modifié par aiglenoirdu29 le 10/01/2013 à 16:47
Bonjour,
Attention avec dreamweaver et les éditeur wysiwyg en général hein...
On aime bien le coté 'facile' mais ça fait du code bien dégueulasse si on sait pas s'en servir correctement. Il est même plutôt recommandé de ne pas les utiliser.
Et là tu n'as pas l'air de maitriser les sessions en php donc ça m'étonnerais que tu saches te servir proprement de dreamweaver si?
Il est préférable d'utiliser un éditeur en mode texte, exemple Notepad++ sous windows.
Attention avec dreamweaver et les éditeur wysiwyg en général hein...
On aime bien le coté 'facile' mais ça fait du code bien dégueulasse si on sait pas s'en servir correctement. Il est même plutôt recommandé de ne pas les utiliser.
Et là tu n'as pas l'air de maitriser les sessions en php donc ça m'étonnerais que tu saches te servir proprement de dreamweaver si?
Il est préférable d'utiliser un éditeur en mode texte, exemple Notepad++ sous windows.
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
10 janv. 2013 à 16:30
10 janv. 2013 à 16:30
Exact, rajoute un ; après session_start() (-> session_start();)
Effectivement, l'erreur est enlevée, mais...la page de login s'affiche bien mais ( avec le bon login évidemment ), la page ne s'affiche pas et ça retourne sur la page de login automatiquement. Pourtant cela fonctionnais avant la modification . ( un bien pour un mal on pourrait dire ! ) .
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
10 janv. 2013 à 16:41
10 janv. 2013 à 16:41
Tu peut renvoyer le code des deux pages corrigés du coup ?
Oui, alors voici :
protection.php :
<?
session_start();
$utilisateur = "admin"; // Votre nom d'utilisateur
$mot_de_passe = "admin"; // Votre mot de passe
if (isset($_POST['login']) && isset($_POST['pass'])){
}
else
{
$_POST['login'] = "";
$_POST['pass'] = "";
}
if ($_POST['login'] == "$utilisateur" && ($_POST['pass'] == "$mot_de_passe")) // Si le nom d'utilisateur et le mot de passe sont correct
{
//On démarre la session ici
$_SESSION["admin"]=1;
?>
Affichage de la page caché!
<?
}
else
{
if ($_POST['login'] != "" || ($_POST['pass'] != "")) // Si le nom d'utilisateur ou le mot de passe est incorrect
{
?>
<center><font color="red">Mauvais mot de passe ou mauvais nom d'utilisateur!</font></center>
<?
}
?>
<center><form action="index.php" method="post">
Utilisateur:<br><input type="text" name="login" /><br>
Mot de passe:<br><input type="password" name="pass" /><br>
<input type="submit" value="Valider" />
</form></center>
<?
}
?>
index.php:
<?php session_start();
if(!$_SESSION["admin"])header("location:protection.php");
?>
<!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" lang="fr-fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<link href="../style.css" rel="stylesheet" type="text/css"/>
<title>Administration</title>
</head>
<body>
<div id="moncadre">
<?php session_start()?>
<?php if(!$_SESSION["admin"])header("location:protection.php");?>
<?php include('menu.php');?>
<div class="cadrecentrale">
<h1>Administration</h1>
<?php
include('.../protection.php');
// on se connecte à la base de données
include('../connexion_bd.php');
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier connexion_bd.php.');
//On selectionne les données
$result = mysql_query("SELECT id,nom_categorie FROM CATEGORIES ORDER BY id ASC");
//On voit si il y a quelque chose. Si il n'y a rien, on affiche un message
if(mysql_num_rows($result) == 0)
{
echo '<div class="cadre"><p>Aucune catégorie pour le moment! <b>>><a title="Ajouter une catégorie" href="ajouter-categorie.php">Ajouter une catégorie</a></b></p> </div>';
}
//Si il y a quelque chose, on affiche nos données
else {
echo '<table style="width: 100%;" cellpadding="2" cellspacing="2"> <tbody> <tr> <td class="hauttd">Catégories</td> <td class="hauttd">Modifier</td> <td class="hauttd">Supprimer</td> </tr>';
while($affiche = mysql_fetch_array($result))
{
//On calcul le nombre d'article dans chaque catégorie
$calcul=$affiche['id'];
$result1 = mysql_query("SELECT id_categorie FROM CONTENU WHERE id_categorie=$calcul");
$total = mysql_num_rows($result1);
//Fin du calcul
echo '<tr><td><a href="voir-categorie.php?id='.$affiche['id'].'">'.$affiche['nom_categorie'].'</a><span style="float:right;">('.$total.')</span></td> <td><a href="modifier-categorie.php?id='.$affiche['id'].'"><img src="images/modifier.png" alt="Modifier"/></a></td> <td><a href="supprimer-categorie.php?id='.$affiche['id'].'"><img src="images/supprimer. png" alt="Supprimer"/></a></td></tr>';
}
echo '</tbody></table>';
//On ferme else
}
?>
</div>
<?php include('../footer.php');?>
</div>
</body>
</html>
protection.php :
<?
session_start();
$utilisateur = "admin"; // Votre nom d'utilisateur
$mot_de_passe = "admin"; // Votre mot de passe
if (isset($_POST['login']) && isset($_POST['pass'])){
}
else
{
$_POST['login'] = "";
$_POST['pass'] = "";
}
if ($_POST['login'] == "$utilisateur" && ($_POST['pass'] == "$mot_de_passe")) // Si le nom d'utilisateur et le mot de passe sont correct
{
//On démarre la session ici
$_SESSION["admin"]=1;
?>
Affichage de la page caché!
<?
}
else
{
if ($_POST['login'] != "" || ($_POST['pass'] != "")) // Si le nom d'utilisateur ou le mot de passe est incorrect
{
?>
<center><font color="red">Mauvais mot de passe ou mauvais nom d'utilisateur!</font></center>
<?
}
?>
<center><form action="index.php" method="post">
Utilisateur:<br><input type="text" name="login" /><br>
Mot de passe:<br><input type="password" name="pass" /><br>
<input type="submit" value="Valider" />
</form></center>
<?
}
?>
index.php:
<?php session_start();
if(!$_SESSION["admin"])header("location:protection.php");
?>
<!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" lang="fr-fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<link href="../style.css" rel="stylesheet" type="text/css"/>
<title>Administration</title>
</head>
<body>
<div id="moncadre">
<?php session_start()?>
<?php if(!$_SESSION["admin"])header("location:protection.php");?>
<?php include('menu.php');?>
<div class="cadrecentrale">
<h1>Administration</h1>
<?php
include('.../protection.php');
// on se connecte à la base de données
include('../connexion_bd.php');
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier connexion_bd.php.');
//On selectionne les données
$result = mysql_query("SELECT id,nom_categorie FROM CATEGORIES ORDER BY id ASC");
//On voit si il y a quelque chose. Si il n'y a rien, on affiche un message
if(mysql_num_rows($result) == 0)
{
echo '<div class="cadre"><p>Aucune catégorie pour le moment! <b>>><a title="Ajouter une catégorie" href="ajouter-categorie.php">Ajouter une catégorie</a></b></p> </div>';
}
//Si il y a quelque chose, on affiche nos données
else {
echo '<table style="width: 100%;" cellpadding="2" cellspacing="2"> <tbody> <tr> <td class="hauttd">Catégories</td> <td class="hauttd">Modifier</td> <td class="hauttd">Supprimer</td> </tr>';
while($affiche = mysql_fetch_array($result))
{
//On calcul le nombre d'article dans chaque catégorie
$calcul=$affiche['id'];
$result1 = mysql_query("SELECT id_categorie FROM CONTENU WHERE id_categorie=$calcul");
$total = mysql_num_rows($result1);
//Fin du calcul
echo '<tr><td><a href="voir-categorie.php?id='.$affiche['id'].'">'.$affiche['nom_categorie'].'</a><span style="float:right;">('.$total.')</span></td> <td><a href="modifier-categorie.php?id='.$affiche['id'].'"><img src="images/modifier.png" alt="Modifier"/></a></td> <td><a href="supprimer-categorie.php?id='.$affiche['id'].'"><img src="images/supprimer. png" alt="Supprimer"/></a></td></tr>';
}
echo '</tbody></table>';
//On ferme else
}
?>
</div>
<?php include('../footer.php');?>
</div>
</body>
</html>
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
Modifié par Nhay le 10/01/2013 à 16:49
Modifié par Nhay le 10/01/2013 à 16:49
Tu as laisser le deuxième header/session_start
<div id="moncadre"> <?php session_start()?> <?php if(!$_SESSION["admin"])header("location:protection.php");?>
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
10 janv. 2013 à 16:57
10 janv. 2013 à 16:57
essaye de faire un $_SESSION["truc"]=1; echo $_SESSION["truc"]; histoire de voir si tes session fonctionne.
Ok j'ai mis dans index.php mais j'imagine que ce n'est pas là qu'il faut y mettre? Car ça ne fais rien.
Utilisateur anonyme
Modifié par le père. le 10/01/2013 à 17:05
Modifié par le père. le 10/01/2013 à 17:05
Bonjour
Normal que tu retournes sur le formulaire de login à tous les coups...
ton formulaire de login commence par
C'est donc à la page index que le formulaire est envoyé. Or, tu l'analyses dans la page protection.php !
Tu devrais donc mettre
Normal que tu retournes sur le formulaire de login à tous les coups...
ton formulaire de login commence par
<center><form action="index.php" method="post">
C'est donc à la page index que le formulaire est envoyé. Or, tu l'analyses dans la page protection.php !
Tu devrais donc mettre
<center><form action="protection.php" method="post">
et, en cas de succès, rediriger vers index.php
Rah...! C'est bien vrai...!
Il faut donc que j'indique à la place de "affichage de la page cachée!" le liens vers index.php ...? Mais comment ?
Désolé je suis vraiment perdu...! Merci à tous
Il faut donc que j'indique à la place de "affichage de la page cachée!" le liens vers index.php ...? Mais comment ?
Désolé je suis vraiment perdu...! Merci à tous
Utilisateur anonyme
Modifié par le père. le 10/01/2013 à 17:20
Modifié par le père. le 10/01/2013 à 17:20
remplace
par
//On démarre la session ici $_SESSION["admin"]=1; ?> Affichage de la page caché! <? }
par
//On démarre la session ici $_SESSION["admin"]=1; header ("Location: index.php"); exit; }
Merci pour vos conseils. Effectivement, maintenant, lorsque je suis sur protection.php, je suis redirigé sur index.php lorsque l'indentification est bonne.
Cependant, lorsque je suis sur index.php ( sans passer par protection.php) , on ne me dirige pas sur protection.php pour l'identification maintenant...
Je remet le code pour que vous voyez, je n'ai pourtant rien touché ... étrange. Merci pour votre grande aide, sinon si c'est trop prise de tête je me pencherai sur l'autre solution avec vérifications de la base de donnée plutôt.
Le code de index.php :
<?php session_start();
if(!$_SESSION["admin"])header("location:protection.php");
?>
<!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" lang="fr-fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<link href="../style.css" rel="stylesheet" type="text/css"/>
<title>Administration</title>
</head>
<body>
<div id="moncadre">
<?php include('menu.php');?>
<div class="cadrecentrale">
<h1>Administration</h1>
<?php
include('.../protection.php');
// on se connecte à la base de données
include('../connexion_bd.php');
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier connexion_bd.php.');
//On selectionne les données
$result = mysql_query("SELECT id,nom_categorie FROM CATEGORIES ORDER BY id ASC");
//On voit si il y a quelque chose. Si il n'y a rien, on affiche un message
if(mysql_num_rows($result) == 0)
{
echo '<div class="cadre"><p>Aucune catégorie pour le moment! <b>>><a title="Ajouter une catégorie" href="ajouter-categorie.php">Ajouter une catégorie</a></b></p> </div>';
}
//Si il y a quelque chose, on affiche nos données
else {
echo '<table style="width: 100%;" cellpadding="2" cellspacing="2"> <tbody> <tr> <td class="hauttd">Catégories</td> <td class="hauttd">Modifier</td> <td class="hauttd">Supprimer</td> </tr>';
while($affiche = mysql_fetch_array($result))
{
//On calcul le nombre d'article dans chaque catégorie
$calcul=$affiche['id'];
$result1 = mysql_query("SELECT id_categorie FROM CONTENU WHERE id_categorie=$calcul");
$total = mysql_num_rows($result1);
//Fin du calcul
echo '<tr><td><a href="voir-categorie.php?id='.$affiche['id'].'">'.$affiche['nom_categorie'].'</a><span style="float:right;">('.$total.')</span></td> <td><a href="modifier-categorie.php?id='.$affiche['id'].'"><img src="images/modifier.png" alt="Modifier"/></a></td> <td><a href="supprimer-categorie.php?id='.$affiche['id'].'"><img src="images/supprimer. png" alt="Supprimer"/></a></td></tr>';
}
echo '</tbody></table>';
//On ferme else
}
?>
</div>
<?php include('../footer.php');?>
</div>
</body>
</html>
Cependant, lorsque je suis sur index.php ( sans passer par protection.php) , on ne me dirige pas sur protection.php pour l'identification maintenant...
Je remet le code pour que vous voyez, je n'ai pourtant rien touché ... étrange. Merci pour votre grande aide, sinon si c'est trop prise de tête je me pencherai sur l'autre solution avec vérifications de la base de donnée plutôt.
Le code de index.php :
<?php session_start();
if(!$_SESSION["admin"])header("location:protection.php");
?>
<!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" lang="fr-fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<link href="../style.css" rel="stylesheet" type="text/css"/>
<title>Administration</title>
</head>
<body>
<div id="moncadre">
<?php include('menu.php');?>
<div class="cadrecentrale">
<h1>Administration</h1>
<?php
include('.../protection.php');
// on se connecte à la base de données
include('../connexion_bd.php');
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier connexion_bd.php.');
//On selectionne les données
$result = mysql_query("SELECT id,nom_categorie FROM CATEGORIES ORDER BY id ASC");
//On voit si il y a quelque chose. Si il n'y a rien, on affiche un message
if(mysql_num_rows($result) == 0)
{
echo '<div class="cadre"><p>Aucune catégorie pour le moment! <b>>><a title="Ajouter une catégorie" href="ajouter-categorie.php">Ajouter une catégorie</a></b></p> </div>';
}
//Si il y a quelque chose, on affiche nos données
else {
echo '<table style="width: 100%;" cellpadding="2" cellspacing="2"> <tbody> <tr> <td class="hauttd">Catégories</td> <td class="hauttd">Modifier</td> <td class="hauttd">Supprimer</td> </tr>';
while($affiche = mysql_fetch_array($result))
{
//On calcul le nombre d'article dans chaque catégorie
$calcul=$affiche['id'];
$result1 = mysql_query("SELECT id_categorie FROM CONTENU WHERE id_categorie=$calcul");
$total = mysql_num_rows($result1);
//Fin du calcul
echo '<tr><td><a href="voir-categorie.php?id='.$affiche['id'].'">'.$affiche['nom_categorie'].'</a><span style="float:right;">('.$total.')</span></td> <td><a href="modifier-categorie.php?id='.$affiche['id'].'"><img src="images/modifier.png" alt="Modifier"/></a></td> <td><a href="supprimer-categorie.php?id='.$affiche['id'].'"><img src="images/supprimer. png" alt="Supprimer"/></a></td></tr>';
}
echo '</tbody></table>';
//On ferme else
}
?>
</div>
<?php include('../footer.php');?>
</div>
</body>
</html>