Autor | Zpráva | ||
---|---|---|---|
ChumLukas Profil |
#1 · Zasláno: 11. 1. 2010, 16:40:55
Zdravím,
chtěl bych se zeptat, vůbec jsem nepobral jak fungují loginy, potřeboval bych vytvořit asi 5 uživatelských účtů, aby se na ně ti, kteří mají své účty mohli připojit, ale aby nešli vytvořit jiné účty, jen těch přibližně pět, které si sám vytvořím. Prosím, napište sem nějaký návod, popřípadě nějaký odkaz kde je to napsáno pro málo chápající lidi (myslím sebe) , díky. |
||
c2ga3h Profil * |
#2 · Zasláno: 11. 1. 2010, 16:47:42
Příště zkus napsat dotaz trochu srozumitelněji.
Myslím, že hledaš něco jako - http://pecan.cz/index.php?kat_c=php-school |
||
SwimX Profil |
#3 · Zasláno: 11. 1. 2010, 17:08:29 · Upravil/a: SwimX
ChumLukas:
V databázi si vytvoř tabulku uzivatele a v ni sloupce id, jmeno, prijmeni, prezdivka, heslo. (použij například PHPmyADMINa) a v php potom napíšeš jednoduchý skript: <form method=post> <input name='nick'><input name='pass' type='password'> <button type=submit>OK</button> <?php session_start(); if(!empty($_POST['nick']) && !empty($_POST['pass'])){ $result = mysql_query("SELECT id, CONCAT(jmeno,' ',prijmeni) FROM uzivatele WHERE nick = '{$_POST['nick']}' and heslo = md5('{$_POST['pass']}')"); if(mysql_num_rows($result)){ $row = mysql_fetch_row($result); $_SESSION['id'] = $row[0]; $_SESSION['name'] = $row[1]; }else echo 'Spatne zadano'; } else echo 'Nevyplněno'; ?> a na všechny stránky, kam se smí dostat jen přihlášení vložíš na začátek: <?php if(!$_SESSION['id']){ echo "Nedostatecna prava"; exit; } ?> + samozřejmě náká obrana proti sql injection + md5 už není nejdokonalejší hashovací možnost jsou i jiné, lepší, je to na tobě. + něco tuším, máme i zde ve FAQu |
||
ChumLukas Profil |
#4 · Zasláno: 11. 1. 2010, 22:26:48
OK, vytvořil jsem si databázi a na web jsem si dal to přihlášení a když se přihlásím tak bych tak potřeboval mít nějakou položku, jak mám zapsat do toho **.html aby to rozpoznalo nějak to, že jsem se přihlásil a dalo mi to tam tu nabídku? A políčko odhlášení? Dík.
|
||
SwimX Profil |
#5 · Zasláno: 11. 1. 2010, 22:43:59
ChumLukas:
nečekej, že ti to tu někdo udělá :) když se přilhášíš tak ti to do SESSIONy uloží tvé ID. Stačí pak tedy testovat tuto SESSIONu, když tam nějaké ID je > jsi přihlášen, jinak ne. A to je celé. |
||
ChumLukas Profil |
#6 · Zasláno: 11. 1. 2010, 23:41:02
Já, ale právě nevím tom kódu kde mám co napsat a kde to jen opsat víš :-D, s tím bys mi nepomohl?
|
||
baklazan Profil * |
#7 · Zasláno: 12. 1. 2010, 04:36:17
Ak je tych mien(ludi) naozaj iba 5, preco by sme si to komplikovat s databazou. Nebolo by uspornejsie na cas aj priestor rovno zapisat tych par udajov do nejakeho pola?
|
||
ChumLukas Profil |
#8 · Zasláno: 12. 1. 2010, 18:34:06
No, to by bylo dobré, ale nevím jak, to je ten problém :-(
|
||
SwimX Profil |
#9 · Zasláno: 12. 1. 2010, 18:39:53 · Upravil/a: SwimX
<?php session_start(); ?> <html> ... <body> <?php if(!$_SESSION['login']){ if(!$_POST){ echo "<form method=post><input name=jmeno><input type=password name=pass><input type=submit value=ok>"; } else{ if( ($_POST['jmeno'] == 'jmeno1' && $_POST['pass']=='heslo1') || ($_POST['jmeno'] == 'jmeno1' && $_POST['pass']=='heslo1') || ($_POST['jmeno'] == 'jmeno1' && $_POST['pass']=='heslo1') || ($_POST['jmeno'] == 'jmeno1' && $_POST['pass']=='heslo1') || ) { $_SESSION['login'] = true; } } } else { echo "HTML ktere se zobrazi prihlasenym"; echo "napriklad <a href='?akce=odhlasit'>Odhlasit</a>"; // pak je treba nekde tady odchytavat $_GET akce a když bude odhlasit tak do SESSIONy login uložit false } ?> </body> </html? je to sice takový naprd (po přihlášení se mu jakoby nic nestane dokud nedá F5 atd, ale ty už si to vyladíš :) |
||
ChumLukas Profil |
#10 · Zasláno: 12. 1. 2010, 19:37:42
jj, díky toto už si asi fakt vyhladím sám, díky :-)
|
||
Lamicz Profil |
#11 · Zasláno: 13. 1. 2010, 15:13:52
No, asi bych udelal asociativni pole ve stylu 'login'=>'heslo', pak
array_key_exists($_POST['login']) a if($pole[$_POST['login']] == $_POST['heslo']) |
||
Časová prodleva: 14 let
|
0