Zadejte hledaný výraz...

Problém s vypsáním úspěšné registrace

Jakub Hošek
verified
rating uzivatele
(23 hodnocení)
14. 9. 2011 21:10:51
Ahoj,
mám problém se svou registrací. Vše klape až do okamžiku, než chci zkontrolovat jestli registrace proběhla úspěšně. Tady je kód :
?>
slovicka/registrace
Jméno:
Heslo :
$jmeno = $_POST;
$heslo = $_POST;
if (isset($_POST)) {
if ($_POST == "" || $_POST == "")
{
die ("Musíš vyplnit všechna pole !");
}
require("dibi.php");
dibi::connect(array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'username' => 'root',
'password' => '',
'database' => 'slovicka'
));
$registrace = dibi::insert("uzivatele", array("jmeno" => "$jmeno", "heslo" => "$heslo"))->execute();
if ( $registrace != false )
{
echo "Registrace proběhla úspěšně, nyní se můžete přihlásit " ;
}
else
{
die ('Z neznámých důvodů se nepodařilo vás zaregistrovat, zksute to znovu :) ') ;
}
}
?>
Vlastně vše funguje až " moc dobře" , protože už od začátku tam je hláška, " Registrace proběhla úspěšně " , to znamená, že způsob kterým ověřuji je nesprávný, protože vlastně nic neověřuje. Nevíte tedy o nějaké funkčním způsobu jak ověřit, jestli se data připsaly do databáze ? :) V tomto případě jestli proběhla registrace úspěšně.
Díky za každou radu :)
14. 9. 2011 21:10:51
https://webtrh.cz/diskuse/problem-s-vypsanim-uspesne-registrace/#reply677106
execute() v Dibi vrací svou vlastní třídu (fluent interface), ne boolean, takže $registrace není nikdy false, je to objekt.
http://api.nette.org/2.0/source-Database.Statement.php.html#56
14. 9. 2011 21:25:15
https://webtrh.cz/diskuse/problem-s-vypsanim-uspesne-registrace/#reply677105
Jakub Hošek
verified
rating uzivatele
(23 hodnocení)
14. 9. 2011 21:28:46
aha, to jsem nevěděl :) a jak mám tedy zjistit, kdy se registrace povedla a kdy ne ? :) Dík
14. 9. 2011 21:28:46
https://webtrh.cz/diskuse/problem-s-vypsanim-uspesne-registrace/#reply677104
Nevím, s Dibi jsem nikdy nepracoval. Podívejte se na tutorial nebo dokumentaci. Nebo třeba vám poradí někdo jiný.
14. 9. 2011 21:40:28
https://webtrh.cz/diskuse/problem-s-vypsanim-uspesne-registrace/#reply677103
Jakub Hošek
verified
rating uzivatele
(23 hodnocení)
14. 9. 2011 21:47:19
Dobře, snad někdo poradí :)
A když už jsme u toho, rád bych toto téma rozšířil ještě o toto:
Jaký je váš názor na dibi a co si myslíte že je lepší používat, dibi nebo klasické SQL ?
14. 9. 2011 21:47:19
https://webtrh.cz/diskuse/problem-s-vypsanim-uspesne-registrace/#reply677102
Tom
verified
rating uzivatele
(6 hodnocení)
14. 9. 2011 21:58:12
Mně osobně vyhovuje NotORM :-) jinak DIBI je taky fajn
14. 9. 2011 21:58:12
https://webtrh.cz/diskuse/problem-s-vypsanim-uspesne-registrace/#reply677101
K0nias
verified
rating uzivatele
14. 9. 2011 22:10:44
Dibi vyhazuje vyjimku v pripade chyby. Coz pri v kladani muze nastat chyba snad jen v duplicitnim ID primarniho sloupce a nebo ve spatne zadanem sloupci. Takze takto by to melo fungovat v poradku.
Dalsi vec je, ze nevim jestli to je zamer, ale formular ma action na registrace.php. Coz pri odeslani se ti nedostane k provedeni toho PHP kodu co mas na strance.
Jinak v soubuji mezi klasickem SQL a dibi bych volil dibi. Muze te naucit urcite pokrocilejsi techniky a rozhodne buduje dobre navyky.
14. 9. 2011 22:10:44
https://webtrh.cz/diskuse/problem-s-vypsanim-uspesne-registrace/#reply677100
Jakub Hošek
verified
rating uzivatele
(23 hodnocení)
15. 9. 2011 06:34:19
tvůj kod moc nechápu. Sorry .
Asi to vyřešim tak, že dám další form pro ověření hesla a pak zkontroluju jestli jsou hesla stejná... Nic jinýho tam bejt jako chyba nemůže. ( když se budou shodovat vykonam přidani do databaze a napíšu registrace proběhla úspěšně :) )
15. 9. 2011 06:34:19
https://webtrh.cz/diskuse/problem-s-vypsanim-uspesne-registrace/#reply677099
Tom
verified
rating uzivatele
(6 hodnocení)
15. 9. 2011 12:51:34
Na tom kódu není nic složitého, používají se tam výjimky :-)
Prostě se zkusí (try), jestli to vyhodí chybu a když ano, tak to zachytíme (catch) a nastavíme error na true.
15. 9. 2011 12:51:34
https://webtrh.cz/diskuse/problem-s-vypsanim-uspesne-registrace/#reply677098
Pro odpověď se přihlašte.
Přihlásit