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
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 *
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
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 *
díky moc, zase o kus chytřejší :)

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