Autor | Zpráva | ||
---|---|---|---|
Stormwinter Profil * |
Dobrý den, mám tu problém, při registraci člena potřebuju opět vytáhnout údaje z DB kvůli ověřovacímu emailu.
ob_start(); if(isset($_POST['sent'])){ // pokud byl odeslan formular pokracuj timto $mail=trim($_POST['mail']); $heslo1=$_POST['heslo1']; $heslo2=$_POST['heslo2']; if($mail=="" or $heslo1=="" or $heslo2==""){ // pokud nebylo vyplnÄ›no nÄ›co z toho, co je povinnĂ©, dáme vÄ›dÄ›t a skript ukonÄŤĂme $backlink="registrace&Alert=1"; }else{ // povinnĂ© udaje vyplnÄ›ny vsechny require "db.php"; // pripojime se k databazi $PocetStejnych=mysql_result(mysql_query("SELECT COUNT(*) FROM `members` WHERE `email`='$mail'"), 0); if($PocetStejnych!=0){ // pokud v db je jiz takove jmeno nebo heslo... $backlink="registrace&Alert=2"; } elseif($heslo1 != $heslo2){ // pokud se hesla nerovnajĂ $backlink="registrace&Alert=3"; }else{ // hesla se shoduji, vlozime tedy data do databaze $heslo=md5($heslo1); // zahashujeme heslo $VlozData=mysql_query("INSERT INTO members (email,heslo,aktivace,prava) VALUES ('$mail', '$heslo', '0', '0')") or die (mysql_error()); $vytid=mysql_query("SELECT ID FROM members WHERE '$mail'=email") or die (mysql_error()); $id=$vytid[ID]; $recn=md5($mail); mail($mail, "domena.ic.cz, aktivace účtu", "Vítejte na serveru domena.ic.cz. Dalším krokem k úspěšné registraci bude ověření Vaší emailové adresy. Pokračujte prosím http://domena.ic.cz/reg_zpracuj.php?akce=2&recn=".$recn."&id=".$id, "From:email"); echo "Ověřovací email úspěšně odeslán"; // $backlink="index.php?Alert=4"; } } zkopíroval jsem zde celý registrační script. Všechno proběhne, echo hláška se vypíše ale na email přijde pouze : http://domena.ic.cz/reg_zpracuj.php?akce=2&recn=6f6f3d00b91ca8efd160288686cc1100&id= prostě mi to ID z tabulky nevypíše |
||
Nox Profil |
#2 · Zasláno: 28. 10. 2009, 15:31:18
19: email='$mail' ... jako všude jinde
19,20 => $id = mysql_result( mysql_query("SELECT ID FROM members WHERE email='$mail' LIMIT 1"), 0); |
||
Stormwinter Profil * |
#3 · Zasláno: 28. 10. 2009, 20:13:49
děkuji mnohokrát, funguje to :)
jenom pár dotazů abych to nemusel nikde hledat prosím, k čemu slouží ta nula na konci? 19,20 => $id = mysql_result( mysql_query("SELECT ID FROM members WHERE email='$mail' LIMIT 1"), 0); ten LIMIT slouží k výběru počtu řádků? :) |
||
Nox Profil |
#4 · Zasláno: 29. 10. 2009, 10:41:32
Stormwinter:
Tu nulu si najdi v manuálu www.php.net Ten limit...předpokládám že email je pro daného uživatele unikátní, že jeden mail už u jiného použít nelze a tím limitem řekněme mysql, že po nalezení prvního odpovídajícího záznamu už další hledat nemusí |
||
Stormwinter Profil * |
#5 · Zasláno: 29. 10. 2009, 21:24:44
díky moc, zase o kus chytřejší :)
|
||
Časová prodleva: 14 let
|
0