Autor | Zpráva | ||
---|---|---|---|
ondrej16556 Profil |
#1 · Zasláno: 6. 2. 2010, 08:55:18
Poradili by ste mi ako obmedziť vstup neregistrovanému užívateľovi do danej časti?
Som len začiatočník Hľadal som aj v googli. |
||
WertriK Profil |
#2 · Zasláno: 6. 2. 2010, 09:06:17
Český google je asi lepší nebo co ...
|
||
SwimX Profil |
#3 · Zasláno: 6. 2. 2010, 10:11:45
ondrej16556:
Registraci a myslím i přihlašování máme zde v Nejčastější potíže s PHP používají se sessions, takže na začátku každé stránky bude podmínka, pokud sessiona['neco'] neexistuje vypíšu: Nemáš práva, jinak zbytek stránky. |
||
ondrej16556 Profil |
#4 · Zasláno: 6. 2. 2010, 14:38:08 · Upravil/a: ondrej16556
WertriK:
skúšal som SwimX: Ďakujem za radu, pomohla mi a ešte s niečim by som potreboval pomôcť. Skúšal som to session ale nefunguje mi, poradili by ste mi kde je chyba? Kód súboru login.php: <html> <head> <title>Storočná vojna > Registrácia</title> </head> <body bgcolor="#980000"> <?php session_start(); if($_POST) { require_once 'db.php'; $username = $_POST['username']; $password = $_POST['password']; $conn = mysql_connect($dbhost,$dbuser,$dbpass) or die ('Error connecting to mysql'); mysql_select_db($dbname); $query = sprintf("SELECT COUNT(id) FROM users WHERE UPPER(username) = UPPER('%s') AND password='%s'", mysql_real_escape_string($username), mysql_real_escape_string(md5($password))); $result = mysql_query($query); list($count) = mysql_fetch_row($result); if($count == 1) { $_SESSION['authenticated'] = true; $_SESSION['username'] = $username; $query = sprintf("UPDATE users SET last_login = NOW() WHERE UPPER(username) = UPPER('%s') AND password = '%s'", mysql_real_escape_string($username), mysql_real_escape_string(md5($password))); mysql_query($query); $query = sprintf("SELECT is_admin FROM users WHERE UPPER(username) = UPPER('%s') AND password='%s'", mysql_real_escape_string($username), mysql_real_escape_string(md5($password))); $result = mysql_query($query); list($is_admin) = mysql_fetch_row($result); if($is_admin == 1) { $_SESSION['vstup'] = 'prihlaseny'; header('Location:admin/index.php'); } else { $_SESSION['vstup'] = 'prihlaseny'; header('Location:uzivatel/index.php'); } } else { ?> <div class="text">Toto užívateľské meno a hoslo nezodpovedá databáze!</div> <?php } } ?> </table> <div align="center" style="color:#888; font-size:12px;">Copyright © <a href="index.html" class="odkaz">rannystredovek.euweb.cz</a> Optimalizované pre IE 1440x900</div> </html> Kód súboru pre obmedzenie vstupu: <html> <head> <meta http-equiv="Content-type" content="text/html; charset=Windows-1250"> </head> <body> <? if(isset($_SESSION['premenna'])) session_start(); echo'existuje session'; else echo'neexistuje session'; ?> </html> Stále mi vypisuje: neexistuje session a to aj po prihlásení. Pomohli by ste mi prosím? |
||
SwimX Profil |
#5 · Zasláno: 6. 2. 2010, 14:44:36
ondrej16556:
login.php <?php session_start(); ?> <html> <head> <title>Storočná vojna > Registrácia</title> </head> <body bgcolor="#980000"> <?php session start musí být na začátku, dříve než se něco vypíše. (totéž ten druhý soubor.) Zbytek jsem nezkoumal, předpokládám že je to z FAQu a funkční. :) |
||
ondrej16556 Profil |
#6 · Zasláno: 6. 2. 2010, 14:47:41
Ďakujem, už mi to ide ale z FAQ to nie je :)
|
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0