eT` Posted November 27, 2009 Report Share Posted November 27, 2009 Tamm man problēma ar ielūgumu sistēmas izveidošanu. Kods: <? if (isset($_GET["action"]) && $_GET["action"] == "invite") { if(!empty($_POST["email"])) { $res = mysql_query("SELECT * FROM users WHERE email='$email' LIMIT 1"); $arr = mysql_fetch_assoc($res); if(!empty($arr)) { echo "Šāds e-pasts jau ir reģistrēts!"; ?><META HTTP-EQUIV="REFRESH" CONTENT="1;URL=index.php"><? } else { $email = $_POST["email"]; $hash = sha1($_POST["email"]); $body = <<<EOD Tevi ielūdz pievienoties saitam LOCALHOST Ja neesi ieinteresēts ignorē šo e-pastu Lai apstiprinātu ielūgumu dodies šeit: LOCALHOST/invite.php?secret=$hash -- LOCALHOST EOD; $title = "LOCALHOST ielūgums!"; @mail($email, $title, $body); echo "Ielūgums nosūtīts"; $user = isset($_SESSION["id"]); $hash = sha1($_POST["email"]); $date = time(); mysql_query("INSERT INTO invites (email,hash,inviter,date) VALUES ('$email','$hash','$user','$date')"); } } } ?> Errors: Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\invite.php on line 33 Nezinu kapēc tā, bet mana ideja ka tas EOD ir kkas šķībs. To body kodu ņēmu no citas CMS. Varbūt var tā ka to EOD noņem un to body tekstu vienkārši "" ieliek? bet vai tad <br /> strādās? Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted November 27, 2009 Report Share Posted November 27, 2009 To EOD jāraksta bez atkāpes - tad viss būs kā vajag. Vienīgi to apstiprinājuma kodu taču ir pārāk viegli uzminēt - ja zinu e-pastu, tad nav nekāda problēma uzģenerēt. Labāk būtu kā kodu izmantot, teiksim, sha1($_POST["email"] . $date . 'superslepenrindina'); Quote Link to comment Share on other sites More sharing options...
eT` Posted November 27, 2009 Author Report Share Posted November 27, 2009 To beigu EOD.? amm nu jā bet visi ielūgumi saglabājas DB un ja kāds mēģina nohašot savu e-pastu un regoties tiek pārbaudīts vai tāds hashs ir DB un ja ir tad tikai pārmet uz reģistrēšanas formu. Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted November 27, 2009 Report Share Posted November 27, 2009 Jā beigu EOD Jo pēc heredoc likumiem tam beigu tagam jābūt uzreiz rindiņas sākumā. Par to hashu ir vairāk tā, ka es piereģistrēju uz svešu e-pastu - un man pat nav jāvar tikt tajā e-pastā iekšā, lai uzzinātu, kāds ir aktivizācijas kods. Faktiski, es pat varu izmantot neeksistējošu e-pastu. :) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.