| 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: 11 let
|
|||
0