Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sesja w systemie logowania
nightmoon
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 7.12.2007

Ostrzeżenie: (0%)
-----


Witam, mam problem, mianowicie mam system z logowaniem itd. ale chciał bym w nim wprowadzić sesję, która sprawdzała by zgodność hasła z daną rangą np. mod=111 admin=222 sysop=333
Aktualnie zrobiłem coś takiego...

Główny plik, z którego pobierane są wszystkie funkcje...

Kod
function maxsysop () {
  
   // Sprawdz czy istnieja sesje jezeli tak to przejdz dalej
   if(isset($_SESSION['code'])) {
      require "include/piny.php";

     // Sprawdz czy haslo dla danej rangi jest poprawne jezeli tak wyswietl strone
      if($_SESSION['code'] == $sysop_code && $user['class'] == UC_SYSOP ||
         $_SESSION['code'] == $semi_sysop_code && $user['class'] == UC_SEMI_SYSOP ||
         $_SESSION['code'] == $administrator_code && $user['class'] == UC_ADMINISTRATOR ||
         $_SESSION['code'] == $moderator_code  && $user['class'] == UC_MODERATOR)
         header('Location: panel.php');
      else
         header('Location: sprpin.php');
   }
   else {
      header('Location: sprpin.php');
   }
  
   }


Plik sprpin.php

Kod
<?php
require "include/bittorrent.php";
dbconn();
loggedinorreturn();
noaccess("spr.php", UC_VIP);
if (get_user_class() < UC_MODERATOR)
     stderr('Błąd', 'brak dostępu!');

stdhead("Sprawdzanie PINu");

$res = mysql_query("SELECT username FROM users WHERE id=" . $CURUSER['id'] . "") or sqlerr(__FILE__, __LINE__);
$user = mysql_fetch_assoc($res);

print("<table border=1 cellspacing=0 cellpadding=5>");
       print("<tr>");
             print("<td class='colhead'>");
             print("<p align='center'>Wpisz swój PIN <a href='userdetails.php?id=" . $CURUSER['id'] . "'>" . $user['username'] . "</a></p>");
             print("</td>");
       print("</tr>");

       print("<tr>");
             print("<td>");
             print("<form action='sprpin.php' method='post'>");
             print("<p align='center'><input name='code' type='text' size='5'></p>");
             print("<p align='center'><input name='start' type='submit' value='Zatwierdź wprowadzony kod'></p>");
             print("</form>");
             print("</td>");
       print("</tr>");
print("</table>");

stdfoot();

if($_POST["start"]) {

    session_start();

    $_SESSION['code'] = $_POST['code'];

    header('Location: panel.php');

}
?>


No i include/piny.php dla czystej formalności, z przykładowymi hasłami...

Kod
<?
  
   $sysop_code = '444';
   $semi_sysop_code = '333';
   $administrator_code = '222';
   $moderator_code = '111';
  
   ?>


Widzicie gdzieś na starcie błąd? Grzebie się z tym już jakiś czas i nie działa tam gdzie jest funkcja maxsysop(); w pliku wywołany to zawsze się wyświetla plik nawet jak sesja nie istnieje :/

Ten post edytował nightmoon 10.11.2008, 22:39:43
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:22