Autor | Zpráva | ||
---|---|---|---|
leorond Profil |
#1 · Zasláno: 19. 10. 2015, 20:26:05
Dobrý večer, již několikrát jsem přidával téma na tento web a myslím že spíš schytám X chytráckých poznámek o tom jak neumím hledat v google nebo jak jsem negramotný když sem píšu něco takového, tedy pokud někdo vůbec odpoví.
Udělal jsem si přihlášení na svůj web a funguje 100% na VPS přes xampp ale když web nahraji na hosting, po přihlášení se nic nestane. Sice se ověří v DB že login existuje a vyhodnotí ho jako správný ale nepřihlásí mne to, dostanu pouze bílou obrazovku bez chybové hlášky. Pokud se tu najde někdo kdo by mi mohl pomoci najít chybu prosím. funkce.php //funkce: login($user, $pass) //vstupni hodnoty: $user = string, uzivatel // $pass = string, heslo (zahashovane funkci hashuj()) //vystupni hodnoty: <nic> //popis: ulozi do cookies phpsessid function login ($user, $pass) { session_regenerate_id(); session_register("user", $user); session_register("pass", $pass); } //funkce: prihlaseny() //vstupni hodnoty: <nic> //vystupni hodnoty: true -> je prihlaseny, false -> neni //popis: zjisti pres session, zda-li jsme prihlaseni function prihlaseny() { $user = mysql_escape_string($_SESSION["user"]); $pass = $_SESSION["pass"]; $rsrc_login = mysql_query("SELECT * FROM uzivatele WHERE user='$user' and pass='$pass'"); if(mysql_num_rows($rsrc_login) != 0) { return true; } else { return false; } } admin.php if(isset($_POST["btn_ok"])) //pokud bylo stisle tlacitko "submit", pri prichodu na tuto stranku { $user = mysql_escape_string($_POST["user"]); //asociace promenne $user $pass = hashuj($_POST["pass"]); //promenna $pass se prozene nasi hashovaci funkci $rsrc_login = mysql_query("SELECT * FROM uzivatele WHERE user='$user' and pass='$pass'"); //dotaz na databazi, jestli existuje nejaky vysledek, s daty $user a $pass if(mysql_num_rows($rsrc_login) != 0) //uzivatel existuje { login($user, $pass); //prihlasime ho } else //uzivatel neexistuje { $error_login = "<div class='login_form'>Špatné uživatelské jméno, nebo heslo!!</div>"; //vypiseme chybovou hlasku } } Proč mi to funguje na localhost a na hostingu ne? |
||
juriad Profil |
#2 · Zasláno: 19. 10. 2015, 20:30:04
session_register:
„This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.“ |
||
leorond Profil |
Takže pokud chápu tak jsem trochu pozadu ale měla by to napravit tato funkce ne?
function fix_session_register(){ function session_register(){ $args = func_get_args(); foreach ($args as $key){ $_SESSION[$key]=$GLOBALS[$key]; } } function session_is_registered($key){ return isset($_SESSION[$key]); } function session_unregister($key){ unset($_SESSION[$key]); } } if (!function_exists('session_register')) fix_session_register(); Pokud se pletu tak mne opravte :-D možná kdyby existovalo ještě lepší řešení :-/ |
||
juriad Profil |
#4 · Zasláno: 19. 10. 2015, 21:27:37
Ne, stačí ty dvě řadky nahradit za:
$_SESSION['user'] = $user; $_SESSION['pass'] = $pass; Ale nevíme, kde jinde se ukáže problém, protože ten kód je evidentně postarší. |
||
leorond Profil |
#5 · Zasláno: 19. 10. 2015, 21:46:29
Ano starší je ale uložil jsem funkci do souboru funkce.php a nasměroval na něj index.php takže bych měl mít pokryté všechny problémy tohoto typu :)
Děkuji juriad |
||
leorond Profil |
#6 · Zasláno: 19. 10. 2015, 23:43:14
Prosím o uzavření tohoto téma.
Vyřešeno i pro ostatní. |
||
Časová prodleva: 9 let
|
0