21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
Fastman
Profil
Zdravím,

Stáhl jsem si tento script z webu http://mike.treba.cz/prihlasovani-a-registrace-uzivatelu-pomoci-sessions/ a vše jsem si tak nějak upravil, aby to fungovalo podle mé představy. Avšak narazil jsem na problém.
Soubor: login.php obsahuje následující:

<?php 
require_once dirname(__FILE__)."/config.php";

if (!session_is_registered("jmeno"))
    session_register("jmeno");

if (!session_is_registered("heslo"))
    session_register("heslo");

if (isset($_POST['submit'])) {
.....

Pokud smažu tyto řádky
if (!session_is_registered("jmeno"))
    session_register("jmeno");

if (!session_is_registered("heslo"))
    session_register("heslo");

Tak najednou vše jde. Všiml jsem si, že článek je poměrně dost starý a nevím, jestli tato funkce byla nějak pozměněna či vymazána z PHP, že mi jí PHP nevezme.

Děkuji za případnou opravu, odpověď.
Jan Tvrdík
Profil
Ano, tyto dvě funkce už v PHP vůbec nejsou.
juriad
Profil
Fastman:
Kdybys proklinul ty odkazy (zde ve zdrojovém kódu)...
Fastman
Profil
juriad:
Aha, tak to jsem nevěděl. Díky. Nevím, jak jsem mohl přehlédnout to velké červené okno "Warning This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0."...
Alphard
Profil
Mimochodem a pro další generace, které by chtěly studovat z odkázané stránky, ten script je katastrofa od začátku do konce. Stěží hledám řádky, ke kterým bych neměl připomínky, věcí, které v nových verzích PHP přestanou fungovat, je tam mnohem více. A ten zbytek funguje silou vůle. Pryč od toho.

PS: tenhle komentář je dokonalý, občas se třeba nespustí session, no a co...
@session_start(); # osetreni casoprostorovych anomalii :-)
Corwin
Profil
ahoj, jak píše Honza Tvrdlík, je to starý článek a tehdy šlo o zpětnou kompatibilitu bůh ví čeho... nyní stačí jen session_start() a pak $_SESSION['jmeno'] = $neco; asi bych si to měl opravit :-)
Joker
Profil
Alphard:
Stěží hledám řádky, ke kterým bych neměl připomínky
Má oblíbená metrika kvality kódu: „WTF/řádek“ (počet WTF na řádek) :-)

Spousta toho se dá vysvětlit stářím kódu, i když třeba magic quotes už byly „out“ i v roce 2008.
Dobrý je třeba @mysql_connect(…) or die (mysql_error()); - I kdyby si správce webu nasměroval chybové hlášky do logu, pro jistotu je zobrazíme uživateli a před správcem utajíme :-)
(Ale v rámci férovosti, v tom roce 2008 by mi tenhle způsob „ošetření“ chyb asi taky nepřišel až tak divný.)

Corwin:
tehdy šlo o zpětnou kompatibilitu bůh ví čeho
Nejspíš za tím stála myšlenka z PHP 3, že se vstupní data budou rovnou mapovat na proměnné.
Stejně jako u některých dalších konceptů v PHP se později ukázalo, že to pro jednoduché webovky je sice fajn, ale jinak je to blbost.

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