Autor Zpráva
bicebs
Profil
Chcem sa opýtať či mám pokračovať v php tutoriále z linuxsoftu alebo začať s iným tutoriálom.
Napríklad http://www.koding.cz/index.php?type=PHP .
Ak tieto tutoriály nepovažujete za aktuálne a vhodné tak pošlite odkaz na tutoriál ktorý je podľa vás najlepší.
lionel messi
Profil
bicebs:
mám pokračovať v php tutoriále z linuxsoftu
Asi nie, je písaný pre PHP 4, aktuálna verzia je tuším 5.5 (?), hlavne medzi 4 a 5 však bolo veľa zmien v rôznych oblastiach.

Odkázané texty vyzerajú aktuálnejšie, nedokážem však posúdiť ich kvalitu. Nejaký PHP seriál je na zive.cz, tiež nebude najnovší, ale predpokladám, že vznikal niekedy v prechodovom období medzi PHP 4 a 5, takže sa o 5 na rozdiel od linuxsoftu asi zmieňuje. Slušný zdroj je manuál php.net, je však v angličtine (ale aktuálny), pozor však na tamojšie komentáre, nie všetky obsahujú pravdivé info. Najlepším tutoriálom je pre mňa tunajšia učebnica PHP. Nie je síce dokončená, ale na základy je to vynikajúci zdroj.
bicebs
Profil
Ďakujem ale myslel som niečo ako na linxsofte alebo kodingu kde sú základné používateľské a administračné veci ako registrácia, prihlasovanie užívateľov správa stránky adminom,...
A tento je aktuálny alebo aspoň po technickej stránke vhodný?
http://www.koding.cz/index.php?type=PHP
Joker
Profil
bicebs:
Snažíme se vyrobit aktuální učebnici na Péhápko.cz. Jde to pomalu, ale přesto tam už je spousta užitečných informací.
lionel messi
Profil
bicebs:
Zbytočne sa opakuješ, ale trebárs skript na registráciu nájdeš aj tu v FAQ, je dobre pochopiteľný, ja som pri programovaní registrácie postupoval podľa neho, trošku som upravil podľa potreby a nemal som žiadny problém. Veľa čiastkových problémov sa riešilo tu v diskusii, niekedy stačí len pohľadať. Vôbec odporúčam prejsť si celé tunajšie PHP FAQ, obsahuje užitočné informácie. Mierne pokročilé témy sa rozoberajú na blogu Jakuba Vránu, vynikajúceho PHP programátora.

Ešte sa dotknem toho tutoriálu koding.cz — otvoril som článok o registrácii, pre začiatočníka je myslím použiteľný, ale zarazilo ma podľa mňa nie najlepšie ošetrenie SQL Injection, čiže mám isté výhrady.
juriad
Profil
lionel messi:
A jsou tam i hromady chyby:
echo "Děkuji za registraci, teď se můžete <a href="index.php">přihlásit</a>.";
Některé konstrukce nejsou vůbec vhodné:
    $_SESSION['name']='';
    $_SESSION['id']='';
    unset($_SESSION['name']);
    unset($_SESSION['id']);
místo session_destroy.

Nevím o žádném návodu, který by se mi líbil, protože je buď přilíš zjednodušený, a tedy nebezpečný, nebo přiliš složitý a nepřehledný. V praxi vždy napíšeš registraci na míru během chvilky. Spíš na ty návody nahlížej jako na kostru toho, co je třeba udělat a jaké stavy uvážit.
Programátorem se nestaneš tím, že se naučíš registraci podle návodu, ale tím, že pochopíš hlavní myšlenku, kterou sám naprogramuješ. Pak to celé přepíšeš, opravíš několik chyb, pak to znovu přepíšeš elegantněji, ale pořád máš pocit, že to jde ještě lépe. Samotná reprodukce kódu podle návodu je k ničemu, většinou (alespoň mě) zabere mnohem víc času upravit cizí kód, než to celé napsat sám.
Alphard
Profil
juriad:
místo session_destroy.
Zrovna tuto funkci bych s nadšením neradil. V sessions mohou být i jiná data než ta o přihlášení, které při odhlášení mazat nechceme. Např. tam může být hláška o tom, že proběhlo odhlášení, která se má zobrazit na další stránce (sice by se prvně mělo odhlásit a pak vytvořit hlášku, ale jako příklad to snad stačí). Naopak doporučuji zbavovat se jen těch dat, kterých skutečně chci.
juriad
Profil
Alphard:
Já bych naopak zahodil celou session - po odhlášení už uživatel nemá mít s tím přihlášeným nic společného. Pokud se má nějaká informace předat, mělo by to být selektivně, překopírováním konkrétních hodnot do nové session. Může se totiž stát, že si do session programátor nějakého modulu aplikace poznamená soukromé informace a tímto způsobem by mohlo dojít k jejich úniku. Rozhodně bych také zajistil, že se novému uživateli přidělí jiné session_id.
Ale toto bicepse zatím příliš trápit nemusí, to bude aktuální až po několikáté iteraci. A nejspíš nebude psát aplikaci pro internetové bankovnictví.
Alphard
Profil
Kopírovat zbytek se mi zdá nesystematické. Data vázaná na uživatele by měla být v nějakém jmenném prostoru, řekněme $_SESSION['user'] a dále např. $_SESSION['user']['id'], $_SESSION['user']['name']. Po odhlášení zahodím tento jmenný prostor, zbytek zachovám.
Problém s blbě implementovaným modulem, který si zapisuje data, kam ho napadne, lze interpretovat i obráceně. Z pohledu závislostí se mi zdá rozumnější řešit, co při odhlášení smazat (zjevná závislost), než do části aplikace starající se o přihlášení zatahovat závislosti na zcela nesouvisející moduly, které se mají zachovat. Nejlépe řešitelné asi víceúrovňovým jmenným prostorem, kde se jedna oblast maže a druhá ne.
Tuto koncepci jsem mimochodem doporučoval i na pehapku. Nebráním se změnám, ale zatím jsi mě nepřesvědčil.


Rozhodně bych také zajistil, že se novému uživateli přidělí jiné session_id.
Samozřejmě.
bicebs
Profil
Našiel som taký video tutoriál nechcem aby ste ho celý pozerali ale iba sa na konci niektorých dielov pozrite na skripty či sú bezpečné a v poriadku.
http://www.youtube.com/user/War3Zoneeu/videos?shelf_id=1&view=0&sort=dd
Mám pracovať podľa tohto?
Joker
Profil
bicebs:
Mám pracovať podľa tohto?
Proletěl jsem díl „Práce s uživateli“, autor vypadá jako typický začínající PHPčkář po přečtení toho seriálu na Linuxsoftu z roku 2004.

Určitě bych to nenazval „aktuální“, takový styl programování byl aktuální v tom roce 2004.
Ale hodně začátečníků tak pořád programuje. I proto, na českém webu za celé ty roky nevzniklo nic, co by dokázalo ten seriál nahradit. Až teď se tomu blíží Péhápko.cz :-)

Celkově se podle mě z toho videa není moc co naučit.
Zlomil bych nad tím hůl* po necelé půlhodině, kdy autor chce v header.php dělat i věc, kterou už jednou dělá v prihlaseni.php. Takže udělá co? No samozřejmě ctrl-c, ctrl-v.
V 54. minutě autor nepoužití switch-case odůvodní tím, že ho neumí.

Jinak chyb je tam dost, ta nejlepší je úplně na konci, kdy do proměnných $heslo1 a $heslo2 dává výsledek isset (takže true/false), pak je navzájem porovná a pak má v plánu podle nich nastavit nové heslo.
Čili pokud ta dvě pole uživatel jakkoliv vyplní, nastaví mu to heslo „1“.

Doplnění:
* Ve smyslu, že do té doby byla šance, že to sice jsou zastaralé znalosti, ale třeba přece jen uvidíme trochu programování.
bicebs
Profil
Dobre že som sa opýtal ďakujem za informácie.
bicebs
Profil
Joker:
Ale on tam má aj druhý diel a nieco tam opravuje. Pod videami má odkazy na fórum kde sú tie skripty mohol by ich niekto kto sa do toho rozumie pozrieť?
Joker
Profil
bicebs:
Ale on tam má aj druhý diel a nieco tam opravuje
Nicméně úroveň je možná ještě horší.
S2E1 to myslím ilustruje dostatečně, už to, jak ještě „vylepšil“ editor- Vyučovat PHP na PSPadu při jisté dávce tolerance budiž, ale vyučovat PHP na editoru typu Notepad už je fakt parodie.
Nerozlišování mezi číslem 4 a řetězcem "4" a prohlášení, že kolem názvu proměnné se mohou volitelně dělat uvozovky, jsou docela zásadní neznalosti.

Nechci zas autora shazovat, podle mě takhle vypadá typický začátečník vzešlý z materiálů, které v té době byly v češtině o PHP k dispozici.
Ale zase by neškodilo trochu sebereflexe a nejdřív ty znalosti nabrat, než je budu předávat dál.

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:

0