j'ai une vieille couille dont je vient de me rendre compte...
j'ai fait un system de login/mdp avec les sessions.
Lorsqu'une personne se logue, j'interoge ma base sql. si le login et mdp sont bons je met les variables name,firstname,login et privilege dans la session.
Le truc que je voulais c'est limiter l'acces a certaines pages en fonction de privilege (admin ou user)
donc j'inclue dans mes pages ou jveux limiter l'acces :
//////////////inc.checkadmin.php//////////////////////////
<?php
if(isset($_SESSION['privilege']) && $_SESSION['privilege'] == 'admin') {
} //si ta les privileges admin tu executes le code
else { //sinon t redirigé sur la page d'erreur
header("Location: index.php?p=_error3");
}
?>
quand jveux aller sur la page administration impec ca me redirige les loulous qui sont pas admin.Par contre, j'ai un fichier del.php qui me permet de supprimer des news qui marche avec un passage par variable.
Alors jme suis dit j'inclue aussi le fichier inc.checkadmin.php en début du fichier del.php et ca va rouler. comme ceci :
/////////////////////////del.php/////////////////////////////////
<?php
include("inc.checkadmin.php");
include("connect.php"); //sql parameter
$datePost=$_GET['datepost']; //get id of the person you want to delete from the DB
// select default database
mysql_select_db($db_name,$cnx);
mysql_query("delete from newstable where datePost='$datePost'") or die('SQL Error !'.mysql_error());
// close mysql
mysql_close();
// redirection
header("Location: index.php?p=_news1");
?>
mais voila si qq1 lance une commande dans l'url du typedel.php?datepost=XXXX XX XX
et que ca correspond bien a la date d'une news posté poom poom poom jlai bien profond ca enleve la news...
Je pense que malgres le header("Location :...") il lis quand mm le code apres la condition. non ?
et donc j'ai chercher des fonctions pouvant stopper le code. style break; mais apparement break; c juste pr stopper une boucle ://
donc jsais pas trop comment m'en sortir avec ca