Autor | Zpráva | ||
---|---|---|---|
soucekgns Profil |
#1 · Zasláno: 15. 1. 2011, 21:27:54
Mám tento kód:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> <link rel="stylesheet" href="./skin/style.css" type="text/css" media="all" /> </head> <body> <div id="all"> <ul id="nav"> <li id="nav-zz4ever" class="main"><a href="#">ZZ 4ever<span></span></a></li> <li id="nav-trida" class="main"><a href="#">K4a<span></span></a></li> <li id="nav-kapela" class="main"><a href="#">Dlouhý vedení<span></span></a></li> <?php if(require('_login.php')) echo "<a href='logout.php'>Odhlášení</a>" ?> <ul id="subnav"> <li class="facebook first"><a href="#" title="Facebook"></a></li> <li class="youtube"><a href="#" title="YouTube"></a></li> </ul> </ul> </div><!--/all --> <div id="line"> </div><!--/line --> </body></html> Nevím kde mám chybu, ale nezobrazuje se mi to, co je po <?php ... ?> V praxi: Odkaz Ale po přihlášení (jméno:soucek, heslo:gymstola) se vše zobrazí, tak ja má být... Díky za radu |
||
holi Profil |
#2 · Zasláno: 15. 1. 2011, 22:09:18
Středník za echem ?
|
||
pcmanik Profil |
#3 · Zasláno: 15. 1. 2011, 22:22:00
a v echo pouzi namiesto
echo "<a href='logout.php'>Odhlášení</a>"; toto echo '<a href="logout.php">Odhlášení</a>'; |
||
shaggy Profil |
#4 · Zasláno: 15. 1. 2011, 22:23:33
pcmanik:
A načo to bude dobré? Jeho problém to nerieši a v tvojich zápisoch nevidím rozdiel. |
||
soucekgns Profil |
#5 · Zasláno: 15. 1. 2011, 22:43:02
Samozřejmě, že to nic neřeší...:-)
|
||
Radek9 Profil |
#6 · Zasláno: 15. 1. 2011, 22:45:30
soucekgns:
Zkus hodit za echo sředník a obalit to do složenejch závorek. |
||
Alphard Profil |
#7 · Zasláno: 15. 1. 2011, 22:55:17 · Upravil/a: Alphard
Radek9:
„Zkus hodit za echo sředník a obalit to do složenejch závorek.“ Ani jedno by němělo mít vliv. soucekgns: Dejte sem ten soubor _login.php. Kdyby na jeho konci byla nějaké chyba a zároveň byl potlačen výpis chyb, chovalo by se to přesně takhle. Nejsem si jist, jestli require navrací hodnotu do podmínky. |
||
soucekgns Profil |
#8 · Zasláno: 16. 1. 2011, 10:48:11 · Upravil/a: soucekgns
Soubor: _login.php
<?php require('_login_users.php'); require('_login_class.php'); $login = new login_class; $today_ts = strtotime("now"); $today_m = date('n', $today_ts); $pass_login = FALSE; $login->domain_code = $domain_code; $login->today_ts = $today_ts; $login->today_m = $today_m; $login->users = $users; $login->num_1 = $random_num_1; $login->num_2 = $random_num_2; $login->num_3 = $random_num_3; if (!$login->verify_settings()) { echo '<strong>Invalid Admin Settings for Login Script</strong><br />Check your settings and retry logging in'; exit(); } if (isset($_COOKIE[$domain_code.'_uid']) && $_COOKIE[$domain_code.'_uid']!='' && isset($_COOKIE[$domain_code.'_cid']) && $_COOKIE[$domain_code.'_cid']!='') { $key_uid = $login->cleanse_input($_COOKIE[$domain_code.'_uid']); $key_cid = $login->cleanse_input($_COOKIE[$domain_code.'_cid']); if (!$login->verify_login($key_uid, $key_cid)) { $login->error_message = 'Login has expired'; } else { $pass_login = TRUE; } } if (!$pass_login) { $need_login = TRUE; if (isset($_POST['login'])) { $login_user = $login->cleanse_input($_POST['username']); $login_pass = $login->cleanse_input($_POST['password']); if ($login->check_login($login_user, $login_pass)) { $login->encryption_key($login_user); $need_login = FALSE; } else { $login->error_message = 'Invalid login username and password'; $need_login = TRUE; } } if ($need_login) { require('_login_page.php'); exit(); } } ?> A pokud to teda takhle nejde, nevíte, jak bych to udělal, aby se mi zobrazil přihlašovací formulář a po přihlášení místo formuláře něco jiného? Díky |
||
Alphard Profil |
#9 · Zasláno: 16. 1. 2011, 11:25:19
soucekgns:
Co to exit na 62. řádku? Zkontrolujte ty podmínky, jestli dělají, co mají.
|
||
soucekgns Profil |
#10 · Zasláno: 16. 1. 2011, 12:04:09
Tak jsem to už vyřešil (to jsem vložil do stránky):
<?php require('_login_users.php'); require('_login_class.php'); $login = new login_class; $today_ts = strtotime("now"); $today_m = date('n', $today_ts); $pass_login = FALSE; $login->domain_code = $domain_code; $login->today_ts = $today_ts; $login->today_m = $today_m; $login->users = $users; $login->num_1 = $random_num_1; $login->num_2 = $random_num_2; $login->num_3 = $random_num_3; if (!$login->verify_settings()) { echo '<strong>Invalid Admin Settings for Login Script</strong><br />Check your settings and retry logging in'; exit(); } if (isset($_COOKIE[$domain_code.'_uid']) && $_COOKIE[$domain_code.'_uid']!='' && isset($_COOKIE[$domain_code.'_cid']) && $_COOKIE[$domain_code.'_cid']!='') { $key_uid = $login->cleanse_input($_COOKIE[$domain_code.'_uid']); $key_cid = $login->cleanse_input($_COOKIE[$domain_code.'_cid']); if (!$login->verify_login($key_uid, $key_cid)) { $login->error_message = 'Login has expired'; } else { $pass_login = TRUE; } } if (!$pass_login) { $need_login = TRUE; if (isset($_POST['login'])) { $login_user = $login->cleanse_input($_POST['username']); $login_pass = $login->cleanse_input($_POST['password']); if ($login->check_login($login_user, $login_pass)) { $login->encryption_key($login_user); $need_login = FALSE; } else { $login->error_message = 'Invalid login username and password'; $need_login = TRUE; } } if ($need_login) { echo " <div id='login'> <form action='' method='post'> <div class='formbody'> <label for='username'><p class='login'>Jméno:</p> <input name='username' type='text' id='username' class='text' maxlength='16'></label><br> <label for='password'><p class='login'>Heslo:</p> <input name='password' type='password' id='password' class='text password' maxlength='16'></label> <div class='login'><label><input name='login' type='submit' value='Login' id='submit'></label></div>"; $login->error_login(); echo " </div> </form> </div> "; } else { echo '<a href="logout.php">Odhlášení</a>'; } } ?> Ještě jednou díky za rady. |
||
Alphard Profil |
#11 · Zasláno: 16. 1. 2011, 12:09:32
[#10] soucekgns
Ten require tam nevadil. V exit byl zřejmě problém. |
||
pcmanik Profil |
#12 · Zasláno: 16. 1. 2011, 13:52:02
soucekgns, shaggy:
Ak neviete aky je rozdiel v uvodzovkach, tak nwm preco sa tu o tom bavime.... |
||
shaggy Profil |
#13 · Zasláno: 16. 1. 2011, 13:56:24
pcmanik:
Ja viem veľmi dobre, aký je rozdiel medzi klasickými úvodzovkami a apostrofom (alebo ako spisovne nazvať jednoduchú úvodzovku). Ale mám pocit, že ty to nevieš, inak by si mu neradil také veci. Porovnaj tie tvoje dva zápisy a napíš, čo by dosiahol tým, keby ten prvý zmenil za ten druhý. Ja tvrdím, že nič. |
||
panther Profil |
#14 · Zasláno: 16. 1. 2011, 15:35:53 · Upravil/a: panther
pcmanik:
„Ak neviete aky je rozdiel v uvodzovkach, tak nwm preco sa tu o tom bavime….“ a podělíš se s námi o to, jaký je rozdíl v zápisech uvedených v [#3]? Asi nejsem sám, kdo tu nad tvou „argumentací“ kroutí hlavou. První zápis nefunguje? Je špatný něčím jiným? Nebo jen plácáš kraviny? Řešila tvoje „rada“ problém tazatele? |
||
AM_ Profil |
#15 · Zasláno: 16. 1. 2011, 16:37:49
pcmanik:
máš sice pravdu, že zápis v apostrofech je z jistého hlediska vhodnější, ale je to jen drobný detail a neřeší to původní problém. Ještěže nemáš třeba autoservis, už vidím jak ti tam přitáhnou úplně rozbourané auto a ty mu nejdřív umyješ okno. |
||
pcmanik Profil |
#16 · Zasláno: 16. 1. 2011, 17:24:02 · Upravil/a: pcmanik
Php parser v '' nemusi hladat premenne a dosadzat ich, tym padom je to rychlejsie, aj ked nebadatelne, mnohi mozu namietat ze je to cista kravina, ale ak je takychto veci v skriptoch 1000 uz sa da spozorovat maly rozdiel, nevidim teda dovod preco to nepouzivat.
Samozrejme niekto urcite bude mat s tym problem, teda sa trocha zamyslite, ak budete flakat tak trivialnu vec ako je rozlisovanie apostrofov a uvodzoviek, tak nechcem vydiet, ako sa budete inak spravat k vasemu skriptu, su to sice mikro optimalizacie, ale nejake pravidla by mali platit. Samozrejme je pravda, ze dnes su uz natolko vykonne pc, ze to v podstate nieje potrebne, ale co ak sa vasa aplikacia dostane na nejaky pomaly pc? potom to budete prepisovat? A inak povedane, preco takto mrhat vykonom, ved aj dnesne pocitacove hry nim mrhaju a pritom keby sa optimalizovali by isli ovela lepsie na slabsich strojoch, to iste plati v php, v javascripte, ale aj v zivote... Ale inak je to len moj nazor, nemam moc rad apostrofy v html, nemaju tam opodstatnenie, a preto by tam mali byt klasicke uvodzovky podla mna. |
||
shaggy Profil |
#17 · Zasláno: 16. 1. 2011, 18:07:05
pcmanik:
„ak budete flakat tak trivialnu vec ako je rozlisovanie apostrofov a uvodzoviek“ Ja to neflákam. Používam vo svojich skriptoch úvodzovky a nemal som najmenší problém. Ty tvoje osobné pocity povyšuješ na nejaké pravidlo a ešte nás tu ideš presviedčať o tom, že nevidíme rozdiel medzi úvodzovkami. |
||
Davex Profil |
#18 · Zasláno: 16. 1. 2011, 18:36:26
pcmanik:
„Php parser v '' nemusi hladat premenne a dosadzat ich, tym padom je to rychlejsie, aj ked nebadatelne“ V kódu [#10] žádné proměnné v uvozovkách nevidím a u konstantních řetězců není měřitelný rozdíl mezi uvozovkami a apostrofy. Ani to není vůbec podstatné, protože opravdová optimalizace skriptů na rychlost se dělá úplně jinak. |
||
AM_ Profil |
#19 · Zasláno: 16. 1. 2011, 18:45:04
pcmanik:
„ale ak je takychto veci v skriptoch 1000 uz sa da spozorovat maly rozdiel“ ano, ale kupodivu i naopak. Schválně jsem si to zkusil, při vypsání jednořádkového stringu je výpis "" cca 10x pomalejší, při vypsání pětiznakového stringu ale naopak cca 3x rychlejší. Výpis tisíců řádků (což už je celkem slušný objem dat, který se najde na málokteré stránce) se u uvozovek pohyboval v řádu 0.1s, u apostrofů 0.03ms, ano, rozdíl tam je. Ale zajímalo by mě, jestli by jsi ho byl schopný okem zpozorovat, jak říkáš. „nemam moc rad apostrofy v html, nemaju tam opodstatnenie“ zase jenom domněnky, a jak opodstatníš uvozovky? apostrofy i uvozovky mohou být v HTML úplně stejně dobře, standard to pokud vím dovoluje a funguje to. |
||
AM_ Profil |
#20 · Zasláno: 16. 1. 2011, 18:45:38
Davex:
„u konstantních řetězců není měřitelný rozdíl mezi uvozovkami a apostrofy“ no, zrovna jsem ho změřil... |
||
panther Profil |
#21 · Zasláno: 16. 1. 2011, 18:51:46
pcmanik:
„nemam moc rad apostrofy v html, nemaju tam opodstatnenie, a preto by tam mali byt klasicke uvodzovky podla mna.“ co je podle tebe, naštěstí není pravidlem. V HTML jsou jak uvozovky, tak apostrofy, nepovinné (v drtivé většině, výjimkou jsou jen výceslovné hodnoty jednotlivých atributů). |
||
Časová prodleva: 13 let
|
0