8791 sujets

Développement web côté serveur, CMS

Bonsoir,

Je suis embeté par un petit truc. En fait je veux bloquer l'accès de certaine page lorsque l'utilisateur est pas logé, donc j'ai fais ca:

if  (($_SESSION != true) AND (($_GET['do'] == 'add_faq')OR($_GET['do'] == 'edit_faq:2'))){


Le soucis c'est que avec edit_faq:2, le 2 peut très bien etre 4, 6, 100 ..., bref ce chiffre est pas fixe.

Comment peut t'on faire pour faire en sorte que ca fonctionne pour n'importe quel nombre?

J'espère que j'ai été assez clair. Merci
Salut sff,
sff a écrit :


J'espère que j'ai été assez clair. Merci

Euh... ben non, pas trop Smiley biggol !

Si tu veux bloquer l'accès de certaines pages lorsque l'utilisateur n'est pas loggué, il suffit à priori de mettre au début de chacune quelque chose comme :
include "config/verifauth.inc.php";
avec

verifauth.inc.php
<?php
session_start();
if(!isset($_SESSION['user'])) // Par exemple
{
  $_SESSION = array();
  if (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
  }
  session_destroy();

  header("Location: login.php");
  die();
}
?>

A+ Smiley cligne
En résumé tu as une chaîne de caractère qui est composée d'une partie fixe ( "edit_faq:" ) et d'une partie variable ( un chiffre ) donc ce qu'il faut que tu testes c'est uniquement la partie fixe de ta chaîne "edit_faq" en utilisant la fonction substr.
Changaco j'ai du mal a voir comment. Je sais utiliser la fonction substr, mais comment faire sur le deuxième $_GET.

J'aurai mi ca : OR(substr($_GET['do'], 0, 8) == 'edit_faq') mais ca fonctionne pas.
sff a écrit :
Changaco j'ai du mal a voir comment. Je sais utiliser la fonction substr, mais comment faire sur le deuxième $_GET.

J'aurai mi ca : OR(substr($_GET['do'], 0, 8) == 'edit_faq') mais ca fonctionne pas.

Ah ça y est ! j'ai pigé !

...Et du coup je ne vois pas pourquoi ça ne marcherait pas Smiley rolleyes !

Tu as fait un echo de ton substr pour vérifier ce qu'il contient ?
Ton truc, c'est toujours comme ça :

edit_faq:machin

Y'a toujours les deux points ?

Alors, normalement, ça te suffira ça :

list($premiere_var, $deuxieme_var) = explode(":", $_GET['do']);


Si $_GET['do'] = edit_faq:machin

Alors

$premiere_var = edit_faq
$deuxieme_var = machin

Ca t'iras ?

(Avec List, t'es obliger d'utiliser les variables, parce que tout dans un seul bout de code ça pue Smiley biggol )

[humour Smiley lol ]
Modifié par Super_baloo8 (10 Mar 2008 - 23:02)
Super_baloo8 a écrit :


Bonne nuit pour ma part, et un petit coucou à Heyoan
Salut salut Super_baloo8 Smiley prodigy Smiley good !