Autor | Zpráva | ||
---|---|---|---|
faabdal Profil * |
<? function JeEmail ($cislo) { return ereg("^.+@.+\..+$",$cislo); } function emailvdb ($email) { $vysledek=mysql_query("select * from uzivatele where email='".$email."'", $GLOBALS["link"]); return (boolean) mysql_num_rows($vysledek); } function prezdivkavdb ($prezdivka) { $vysledek=mysql_query("select * from uzivatele where prezdivka='".$prezdivka."'", $GLOBALS["link"]); return (boolean) mysql_num_rows($vysledek); } // tělo skriptu - nejprve si vytvoříme odkaz na databázi $BudemeZobrazovat=true; if (!empty($_POST)) // už se odeslalo { /* budeme kontrolovat následující věci: 1) e-mailovou adresu 2) zda tam již e-mail není 3) zda tam již přezdívka není 4) zda je přezdívka mezi 3 a 50 znaky délky 5) zda je heslo 3 až 50 znaků dlouhé */ if (!JeEmail($_POST["email"])) echo "Není zadán platný e-mail"; elseif (emailvdb($_POST["email"])) echo "Uvedený e-mail je již registrován"; elseif (prezdivkavdb ($_POST["prezdivka"])) echo "Uvedená přezdívka je již registrována"; elseif ((strlen ($_POST["prezdivka"])>50) | strlen ($_POST["prezdivka"])<3)echo "Přezdívka musí mít 3-50 znaků"; elseif ((strlen ($_POST["heslo"])>50) | strlen ($_POST["heslo"])<3) echo "Heslo musí mít 3-50 znaků"; else { // kontolou jsme prošli $BudemeZobrazovat=false; // poděkujeme uživateli echo "Děkujeme za registraci. Na vaši adresu ".$_POST["email"]." byly zaslány informace pro její dokončení."; // uložíme to do databáze mysql_query ("insert into uzivatele (email, prezdivka, heslo) values ('".$_POST["email"]."', '".$_POST["prezdivka"]."', '".$_POST["heslo"]."');", $GLOBALS["link"]); $lastid=mysql_insert_id(); // a sestavíme e-mail s instrukcemi, jak registraci dokončí $path="http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["SCRIPT_NAME"]."?clanek=registracedokoncena&ersand;id=".$lastid."&email=".$_POST["email"]; $telo = "Dekujeme Vam za registraci na nasem portale [nazev hudebniho portalu]. Pro dokonceni ". "registrace klepnete na nasledujici odkaz\n". "<a href=\"$path\">$path</a>\n". "Pokud jste se na nasem portale nechteli zaregistrovat, povazujte tento e-mail za bezpredmetny.\n". "Vas [nazev hudebniho portalu] team."; @mail ($_POST["email"], "Registrace na portalu", $telo); } } if ($BudemeZobrazovat):?> <form method="post" action="index.php?clanek=registrace"> <table> <tr> <td>Přezdívka:</td> <td><input name="prezdivka" value="<?echo $_POST["prezdivka"]?>"></td> </tr> <tr> <td>E-mail:</td> <td><input name="email" value="<?echo $_POST["email"]?>"></td> </tr> <tr> <td>Heslo:</td> <td><input name="heslo" type = "password" value="<?echo $_POST["heslo"]?>"></td> </tr> <tr> <td colspan="2"><input type="Submit" name="odesli" value="Zaregistrovat"></td> </tr> </table> </form> <?endif;?> Potřeboval bych vědět co je špatně v té tučné části, email se sice odešle ale když poté kliknu na odkaz v emailu tak se mi nezmění hodnota v databazi podle tohoto scriptu: mysql_query("update uzivatele set registracedokoncena=1 where id=".$_GET["id"]." and email='".$_GET["email"]."';",$GLOBALS["link"]); echo "Vaše registrace byla dokoncena."; Mohl by mi někdo poradit děkuji |
||
fajzen Profil |
#2 · Zasláno: 4. 8. 2009, 21:47:07
$path="http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["SCRIPT_NAME"]."?clanek=registracedokoncena&ersand;id=".$lastid."&email=".$_POST["email"];
možno tam vadí ten &ersand; |
||
faabdal Profil * |
#3 · Zasláno: 4. 8. 2009, 23:17:48
jj to byl muj překlep a za ten se omlouvám, ale v tom to není... Jde o to že když kliknu na odkaz v mailu tak mi to nezmění hodnotu ale když ten odkaz překopiruju jako adresu tak už běhá bez problému...
|
||
Alphard Profil |
#4 · Zasláno: 4. 8. 2009, 23:34:03
faabdal:
„Jde o to že když kliknu na odkaz v mailu tak mi to nezmění hodnotu ale když ten odkaz překopiruju jako adresu tak už běhá bez problému...“ Tohle je ta podstatná informace, ta měla být hned v prvním příspěvku. Jak vypadá vygenerovaný email? Můžete sem dát ukázku? Problém vidím v tom, že nikde nenastavujete, že jde o html email, takže se to pošle jako text. Emailový klient najednou uvidí <a href="... a nikdo neví, co udělá. Zkuste to smazat a vložit tam jednoduše jenom tu adresu, většina emailových klientů ji najde podle http:// a udělá z ní klikatelný odkaz. |
||
faabdal Profil * |
#5 · Zasláno: 5. 8. 2009, 10:29:42
Vygeneruje to neco takoveho:
Dekujeme Vam za registraci na nasem portale. Pro dokonceni registrace kliknete na nasledujici odkaz: http://faabdalos.borec.cz:80/index.php?clanek=registracedokoncena&id=24&email=feekoun@seznam.cz Pokud jste se na nasem portale nechteli zaregistrovat, povazujte tento e-mail za bezpredmetny. |
||
faabdal Profil * |
#6 · Zasláno: 5. 8. 2009, 10:32:06
Jen s tím rozdílem, že když jsem na to kliknul až poté co jsem to odeslal sem, tak se registrace v pohode dokoncila, ale když se to pokusím otevřít přímo v emailu tak mi to vyhodí chybu...
|
||
fajzen Profil |
#7 · Zasláno: 6. 8. 2009, 10:47:44
akú chybu?
|
||
Časová prodleva: 15 let
|
0