povedzme ze mam prihlasovaci formular(login.php) poslem data do loged.php ale stale neviem prist na to ze co ma byt v tom subore ... tam ma byt nieco co tie udaje porovna s db a podla toho co zisti tak posle odpoved ? hmm? vopred diiik
jasne .. z databaze vyberes hodnoty uziv. jmeno a heslo a porovnas je s hodnotama z formulare .. pokud jsou shodne presmerujes uzivatele na nejakou stranku .. je hafo veci na zabezpeceni, ja osobne mam v tabulce jeste sloupec s auth do kteryho ulozis nahodne vygenerovanej nesmysl a presmerujes uzivatele na stranka.php?id=id_uzivatele&auth=nesmysl .. na kazdej strance kde je uzivatel prihlasenej potom porovnavas id i auth s databazi .. pokud se od databaze lisi, presmerujes ho na nejakou vykopavaci stranku .. mozna je elegantnejsi pouzit sessions, princip je uplne stejnej akorat hodnoty id a auth nepises do adresy ale do souboru na serveru .. ugh tohle bych po sobe sam nepochopil
hmm tak sme dvaja co sme to po tebe nepochopili.. :)) a nenajde sa niekto kto by mi to troska inak podal...?
halooooo tooolko murych ludi a nik neporadi.....
login.php
<form action="loged.php" method="post">
Login: <input type="text" name="login" />
Heslo: <input type="text" name="pass" />
<input type="submit" value="Odeslat" />
</form>
... ... ...
loged.php
<?php
mysql_connect("server","login","heslo");
mysql_select_db("databáze");
$user_login = trim($_POST["login"]);
$user_pass = trim($_POST["pass"]); //odstraníme mezery před a za
$result = mysql_num_rows(mysql_query("select id from tabulka where login like '$user_login' and pass like '$user_pass' "));
//id, login a pass jsou sloupce v databázi
if($result > 0):
//přihlášení bylo úspěšné, provedeme patřičné příkazy
else:
//neznámý uživatel
endif;
?>
>> //přihlášení bylo úspěšné, provedeme patřičné příkazy
jen doplnim.. :-)
// header ("location: stranka_pro_prihlasene.php"); - spatne, stranku by si moh otevrit kazdej
$auth = MD5 (crypt ("fn")); // tohle by melo byt nahodnych 32 znaku, ktery uzivatelovi pridelis a bude to jako jeho heslo pro vstup na kazdou stranku (samozrejme ze uz ho nebude zadavat)
mysql_query ("update `users` set `auth` = '$auth' where `id` = '$id_uzivatele'"); // to "heslo" ulozis do databaze
header ("location: stranka_pro_prihlasene.php?id=$id_uzivatele&auth=$auth");
stranka_pro_prihlasene.php:
$sql = mysql_query ("select from `users` where `id`=$_GET[id] and `auth` = '$_GET[auth]'"); // btw. jeste pred sql dotazem bysme meli $_GET osetrit pomoci addslashes ()
if (mysql_num_rows ($sql) == 1) {
// uzivatel je v pohode
}
else {
// presmerujeme uzivatele do pryc
}
a nerikej ze to nechapes, proste to vyzkousej a pochopis :-)
dik uz to ako tak mam a ide mi to... ak tak zhodnodte a povedzte co mi tam este chyba..... http://auth.wz.cz/reg/ hmm? jeste raz diik za radu... ENYOJ
vypada to ze's ten princip pochopil :-)
horsie je robenie tlacitka 'Log me on automatically each visit' ako v phpBB =)
"horsie je robenie tlacitka 'Log me on automatically each visit' ako v phpBB =)"
ani ne, proste si to ulozis do cookies jmeno a heslo..
prave som si pozrel zdrojaky phpnuke... milster mas pravdu, akurat ze ja som doteraz nepoznal funkciu explore =)
Snažím se pomocí svého srciptu vypsat výpis ze svojí sql databáze a systém mi vazuje tyhle hlášky:
Warning: mysql_connect(): Access denied for user: 'nobody@81.31.7.88' (Using password: NO) in /3w/wz.cz/r/risan/vypis.php on line 9
Warning: mysql(): Access denied for user: 'nobody@81.31.7.88' (Using password: NO) in /3w/wz.cz/r/risan/vypis.php on line 10
Warning: mysql(): A link to the server could not be established in /3w/wz.cz/r/risan/vypis.php on line 10
Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /3w/wz.cz/r/risan/vypis.php on line 11
V tabulce Hesla je záznamù.
Warning: mysql_close(): no MySQL-Link resource supplied in /3w/wz.cz/r/risan/vypis.php on line 14
Našel by se někdo, kdo by mi mohl poradit, o co přesně jde... Díky
Už ze zhora je jasné, že chyba bude ve funkci mysql_connect() - ta musí obsahovat:
mysql_connect("mysql.wz.cz","tvuj_login","tvoje_heslo");
... ještě pozor! Tvůj login do DB bude zkráceně jen "risan".