Restreindre l'acces de pages en php, Restreindre l - Restreindre l'acces de pages en php, Res

Bonjour!
J’ai trouvé un code assez simple pour l’Inscription et l’Identification ,avec base de données, d’un membre pour mon site mais je ne sais pas comment faire pour restreindre l’accès de certaines pages pour les membres sans que les visiteurs non inscrits puissent y accéder!J" pense qu’il faut placer un code sur chaque pages a restreindre mais quel est ce code!

Mon code d’Identification est:

<?php
$host = “host”; // votre host sql (ex: sql.free.fr)
$user = “username”; // votre identifiant
$pass = “PW”; // votre password
$bdd = “database”; // le nom de votre base de donné
$table = “table”; // par défaut le nom de votre table est news mais si vous voulez le changer libre a vous (n’oubliez pas de changer aussi le fichier .sql)

$base_id = mysql_connect($host, $user,$pass);
if (!$base_id)
{
echo “Connexion à la base de données impossible !”;
}
if (! mysql_select_db("$bdd"))
{
echo “Impossible de sélectionner la base de données !”;
}
// Requette SQL
$query = “Select * From membre where pseudo = '”.$pseudo."’ and password = ‘".$password."’";
$resultat = mysql_query($query,$base_id);
if(mysql_num_rows($resultat) != 0)
{
$CVTime = time()+86400;//Durée de vie du cookie en secondes, ici c’est 1h
ob_start();//ca c’est pr pouvoir faire header() apres setcookie()
setcookie(extentpasswordcookies,$password,$CVTime);
setcookie(extentpseudocookies,$pseudo,$CVTime);
header(“Location: http://mon-site/membre.php");:wink:
ob_end_flush();
exit;
}
else
{
// Ici le message d’alerte si l’autentification n’est pas réussie
print”<script>alert(‘Login ou password invalide.’);</script>";
// Rappel de la fonction d’identification
$error = “Login or password invalide”;
include (“login.php”);
}
?>

(J’ai bien sur effectué les modifications pour les parametres My SQL et l’URL plus bas!)
Voila si sa peut vous aider!Et je pense que la verification par présence de variable est la methode que j’aimerai utiliser!Mais comment faire?
Merci :??: :slight_smile:

pourquoi avoir fait un deuxième topic ? :o

Escuse-moi mais je me suis apercu que l’emplacement n’était pas le bon alors j’ai créer un new topic!Mais le probleme n’est pas la!Quelqu’un peut-il m’aider? :confused:

Ton problème est simple (je ferme l’autre topic), tâchons de l’expliquer avec des mots simples comme Ségo :

Pour chaque page :

  1. Tu te débrouille pour identifier l’utilisateur (cookie, etc). Si non identification, c’est l’utilisateur anonyme.
  2. Pour la page $p donnée (FILE, $_SERVER[‘PHP_SELF’], etc), tu vérifie que l’utilisateur puisse s’y connecter.

En gros, sur chaque page à protéger :

<?php
require_once '/chemin/vers/de/quoi/s/identifier.php';

if ( $je_suis_pas_identifie ) {
  exit;
}

// page normale
?>

Bien sûr, à faire sur chaque page qu’il faut protéger.

On va dire que ca marche a moitié! :confused:

Quand je tente d’afficher une page “protégé”(dont j’y ai mis le code en modifiant le chemin de la page d’identification!)On me demande de me connecter!Je le fais,mais une fois enregistré je ne peux toujours pas aller sur cette page “protégée”!Il n’y a pas une Histoire de session ou avec la base SQL??

Logiquement oui hein :slight_smile:

Faut stocker un cookie/session (bref l’état de connexion de l’utilisateur).

LOL oui mais comment le faire et je le fait ou?Si chaque page a proteger ou dans mon formulaire d’identification?Et puis c’est quoi le code pour les sessions?
Je suis completement pommé!Aidez moi SVP! :neutre:

Pour créer des Sessions suffit de mettre en haut de toutes tes pages la fonction : session_start();

Après sur ta page d’enregistrement tu indiques par exemple :
$_SESSION[‘pseudo’]=‘bidule’;

Après il te suffit simplement de vérifier dans tes pages si l’user est loggué comme te l’a montré Sans-Nom, un truk du genre :
if(!empty($_SESSION))
{
//l’user est logué
}

else
{
//l’user est délogué
}

OOOKKKK Merci beaucoup!
J’ai compris mais “bidule”(Dans le code) je dois le remplacer par quoi? Une variable?OU autre choses?

l’identifiant de l’utilisateur?

OUé donc une variable?la variable pseudo?

par exemple $userdata[‘username’], cest a dire la variable qui corrspond au login du connecté