Autor Zpráva
dunky
Profil
Mám skript, kam píšu uživatele:
$user_passwords = array (
	// sem můžete zadat uživatele a heslo 
	"dunky" => "tajneheslo", 
	"Luky" => "tajneheslo",
	);


A teď potřebuju aby se heslo a ucet vypisovaly z db.
Mno, mé zkušenosti s php jsou na tom natolik bídně, že nevím prostě jak to udělat.
Něco jsem zkoušel, i hledal v googlu, snažil se najít nějaké už předudělané přihlašovací systémy, ale nějak sem na ně nepotrefil.
srigi
Profil
Musis poznat syntax SQL a z PHP sa musis vediet na SQL server pripojit a poslat mu prikaz. Principialne su to cca tieto kroky:
<?php
$username = "Luky";

mysql_connect('nazov_servera', 'uzivatel', 'heslo');
mysql_select_db('nazov_databazy');

$result = musql_query("SELECT * FROM tabulka WHERE username = '$username'");

$row = mysql_fetch_assoc($result);

print_r($row);
Toto je len principialny postup, aby to fungovale, treba splnit kopec veci (poznat pristupove udaje k DB serveru, poznat strukturu databazy a tabulky). Okrem toho ten kod vobec neosetruje chyby.
dunky
Profil
Celý ten skript co používám jsem našel na internetu, a funguje mi, ale nepočítá s ukládáním hesel a účtů do db, už jsem si našel, že si heslo předtím musím zamíchat pomocí sha1() pro větší bezpečnost, už mám vytvořenou tabulku, řeším akorát jak vypisovat ty hesla z db,
prostě potřebuju dosáhnout toho, že obsah proměné $user_passwords bude stejný, jako když nevypisuju z db

kompletní skript, který includuju na všech chráněných stránkách:
<?

$user_passwords = array (
	// sem můžete zadat uživatele a heslo 
	"dunky" => "tajneheslo", 
	"Luky" => "tajneheslo",
	);

$logout_page = "./php/admins/logout.php";

$login_page = "./php/admins/login.php";

$invalidlogin_page = "./php/admins/invalidlogin.php";



if ($action == "logout")
{
	Setcookie("logincookie[pwd]","",time() -86400);
	Setcookie("logincookie[user]","",time() - 86400);
	include($logout_page);
	exit;
}
else if ($action == "login")
{
	if (($loginname == "") || ($password == ""))
	{
		include($invalidlogin_page);
		exit;
	}
	else if (strcmp($user_passwords[$loginname],$password) == 0)
	{
		Setcookie("logincookie[pwd]",$password,time() + 86400);
		Setcookie("logincookie[user]",$loginname,time() + 86400);
	}
	else
	{
		include($invalidlogin_page);
		exit;
	}
}
else
{
	if (($logincookie[pwd] == "") || ($logincookie[user] == ""))
	{
		include($login_page);
		exit;
	}
	else if (strcmp($user_passwords[$logincookie[user]],$logincookie[pwd]) == 0)
	{
		Setcookie("logincookie[pwd]",$logincookie[pwd],time() + 86400);
		Setcookie("logincookie[user]",$logincookie[user],time() + 86400);
	}
	else
	{
		include($invalidlogin_page);
		exit;
	}
}
?>
dunky
Profil
. [b][/b]

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: