Autor | Zpráva | ||
---|---|---|---|
JunekCZ Profil |
#1 · Zasláno: 13. 6. 2014, 21:56:25 · Upravil/a: Moderátor (editace znemožněna) 13. 6. 2014, 23:25:53
Mám web, na který jsem si chtěl udělat registraci a to včetně poslání předmětů na e-mail. Jenže když napíšu mail, píše mi to: Parse error: syntax error, unexpected T_IF in /3w/mysteria.cz/l/ljgames/reg_zpracuj.php on line 9
registrace.php Prosím o vyřešení téo chyby. registrace.php <h1>Registrace</h1> <form action="reg_zpracuj.php" method="post"> <input type="hidden" name="sent" value=""/> <input type="text" name="jmeno" maxlength="32" minlength="4"/> <strong>Už. jméno</strong> <br/> <input type="password" name="heslo1" maxlength="32" minlength="4"/> <strong>Heslo</strong> <br/> <input type="password" name="heslo2" maxlength="32" minlength="4"/> <strong>Heslo znovu </strong><br/> <input type="text" name="mail" value="" maxlength="64" minlength="4"/> <strong>Email</strong><br/> <input type="submit" name="send" value="Registruj"/> </form> reg_zpracuj.php <?php ob_start(); if(isset($_POST['sent'])){ $jmeno=trim($_POST['jmeno']); $heslo1=$_POST['heslo1']; $heslo2=$_POST['heslo2']; $mail=trim($_POST['mail']); $to=$mail if($jmeno=="" or $heslo1=="" or $mail=="");{ $backlink="index.php?page=registrace&Alert=1"; }else{ require "db.php"; $PocetStejnych=mysql_result(mysql_query("SELECT COUNT(*) FROM `uzivatele` WHERE `jmeno`='$jmeno' OR `mail`='$mail'"), 0); if($PocetStejnych!=0){ $backlink="index.php?page=registrace&Alert=2"; }elseif($heslo1 != $heslo2){ $backlink="index.php?page=registrace&Alert=3"; }else{ $heslo1=md5($heslo2); $VlozData=mysql_query("INSERT INTO uzivatele (jmeno,heslo,mail,prava) VALUES ('$jmeno', '$heslo', '$mail', '0')") or die (mysql_error()); $backlink="index.php?Alert=4"; } } }else{ $backlink="index.php?page=registrace&Alert=5"; } header ("Location: $backlink"); mail ($mail, "Registrace", $jmeno, $heslo1); ob_end_flush(); ?> Předem děkuji za odpověď. JunekCZ Moderátor jenikkozak: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
juriad_ Profil * |
#2 · Zasláno: 13. 6. 2014, 22:02:33
Na 9. řádku chybí středník.
|
||
JunekCZ Profil |
#3 · Zasláno: 13. 6. 2014, 22:40:57
Ajo, děkuji :)
Ale opravil jsem to a vypisuje to stejnou chybu :/ |
||
jenikkozak Profil |
#4 · Zasláno: 13. 6. 2014, 23:24:43
Na řádku 9 přebývá středník (chyběl na 8. řádku).
|
||
JunekCZ Profil |
Děkuji, to mi pomohlo vyřešit problém s
$to , ale pořád to vypisuje tu chybu, která bohužel ani nevím co znamená Parse error: syntax error, unexpected T_IF in /3w/mysteria.cz/l/ljgames/reg_zpracuj.php on line 9.
|
||
jenikkozak Profil |
#6 · Zasláno: 14. 6. 2014, 06:59:43
Když k té verzi skriptu, která se nyní zobrazuje v příspěvku výše, doplníš středník na 8. řádek a odstraníš středník z 9. řádku, žádnou chybu parsování to vypisovat nebude.
|
||
JunekCZ Profil |
Ano. To už jsem tedy opravil, ale teď mi to vypisuje další chybu :/
Namísto T_IF mi to píše T_STRING, takže Parse error: syntax error, unexpected T_STRING in /3w/mysteria.cz/l/ljgames/reg_zpracuj.php on line 29 A ještě se omlouvám, že už to neopravuji na této stránce. Zmizela mi totiž možnost opravit. |
||
juriad Profil |
#8 · Zasláno: 14. 6. 2014, 09:56:55
JunekCZ:
Omlouvám se za chybné spočítání řádků. Nicméně v opraveném kódu v [#1] chyba není: No syntax errors detected in p.php Musel jsi tedy změnit něco, co jsi nám neukázal. Tipuji, že ti tam někde chybí čárka mezi argumenty nebo nějaká podobná ptákovina. |
||
JunekCZ Profil |
#9 · Zasláno: 14. 6. 2014, 10:16:09
To je divné :/ Zkopíroval jsem to celé.
Mám to ještě jednou vložit? |
||
pcmanik Profil |
#10 · Zasláno: 14. 6. 2014, 10:20:27
JunekCZ:
Kedže nevidíme tvoju aktuálnu verziu kódu bolo by dobré keby si to sem znovu dal. |
||
JunekCZ Profil |
<?php ob_start(); if(isset($_POST['sent'])){ $jmeno=trim($_POST['jmeno']); $heslo1=$_POST['heslo1']; $heslo2=$_POST['heslo2']; $mail=trim($_POST['mail']); $to=$mail; if($jmeno=="" or $heslo1=="" or $mail==""){ $backlink="index.php?page=registrace&Alert=1"; }else{ require "db.php"; $PocetStejnych=mysql_result(mysql_query("SELECT COUNT(*) FROM `uzivatele` WHERE `jmeno`='$jmeno' OR `mail`='$mail'"), 0); if($PocetStejnych!=0){ $backlink="index.php?page=registrace&Alert=2"; }elseif($heslo1 != $heslo2){ $backlink="index.php?page=registrace&Alert=3"; }else{ $heslo1=md5($heslo2); $VlozData=mysql_query("INSERT INTO uzivatele (jmeno,heslo,mail,prava) VALUES ('$jmeno', '$heslo', '$mail', '0')") or die (mysql_error()); $backlink="index.php?Alert=4"; } } }else{ $backlink="index.php?page=registrace&Alert=5"; } header ("Location: $backlink"); mail ($mail, "Registrace", $jmeno, $heslo1) ob_end_flush(); ?> Ta chyba se mi ale stává, jen když přidám mail ($mail, "Registrace", $jmeno, $heslo1)
Nemůže být chyba třeba v hostingu webzdarma.cz, že by třeba nepodporoval posílání e-mailů? |
||
juriad Profil |
#12 · Zasláno: 14. 6. 2014, 10:24:20
|
||
Tabetha Profil |
#13 · Zasláno: 14. 6. 2014, 10:24:44
riadok 28 chyba ;
|
||
JunekCZ Profil |
Ano!
Všem tedy děkuji za trpělivost :) Nyní jsem upravil e-mail a žádnou chybu mi to nepíše. Ale neodesílá se to na e-mail :/ if(isset($_POST['sent'])){ $jmeno=trim($_POST['jmeno']); $heslo1=$_POST['heslo1']; $heslo2=$_POST['heslo2']; $mail=trim($_POST['mail']); $to=$mail; $subject = 'Regsitrace'; $message = 'Děkujeme za vaši registraci!'; $headers = 'From: ljgames@mysteria.cz'. "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); |
||
Enko Profil |
#15 · Zasláno: 14. 6. 2014, 11:03:55
Mrkni, jestli to to nechodí náhodou do spamu. Například Gmail myslím porovnává dns mailserveru a hlavičku from a když se liší, tak ji označuje za nedůvěryhodnou a má tendenci dávat jí do spamu.
|
||
JunekCZ Profil |
Díval jsem se. Zkusím se tedy zaregistrovat ještě na jiný účet a dám vědět :)
Ano. Děkuji už to funguje :) A ještě tedy poslední věc. Nevíte jak udělat, aby zpráva nešla do spamu a jak odregistrovat uživatele? :) |
||
David Klouček Profil |
#17 · Zasláno: 14. 6. 2014, 12:11:09
JunekCZ:
„jak odregistrovat uživatele“ Smazat ho z tabulky uživatelů. |
||
Časová prodleva: 10 let
|
0