mám registrační formulář ale v posledním řádku mám chybu(řádek kde je ?>)
</tr>
<tr>
<td colspan="2"> <input type="Submit" name="odesli" value="Zaregistrovat"></td>
</tr>
</table>
</form>
?>
nemohl by někdo prosím tu chybu najít a opravit
tak to ?> smaz a je to. jinak tam zadnou chybu nevidim. jo, mozna kdybys ukazal celej kod a popsal tu chybu...
hm.. a nepise ti to nahodou chybu unexpected T_END ? Jestli jo, tak to znamená neočekávaný konec .... (nekdě máš třeba { a chybi ti } nebo mas nekde if: a nemas endif; , atd .... ) , jestli potrebujes odladit tohle tak musis mit cely kod ! xDxD
Jony (3gp-mp4.wz.cz)
neni kod neni chyba
z toho, co jsi poslal muzu jen hadat, ze HTML kod ukoncujes PHP syntaxi ?> a protoze HTML kod neni PHP, tak to jaksi nedava ani logicky zmysl, proc to tam mas. To by se dalo pochopit ze zbytku...
soubor.php -> soubor.txt -> odkaz?
no i když to ukončim endif; tak mam chybu
hraj.wz.cz napsal:
>
> no i když to ukončim endif; tak mam chybu
a mas tam vubec nejaky if predtim? nejlepsi bude kdyz sem napises cely kod ;) (protoze jak uz nekteri zminili tak neni v poradku ani to ze pouzivas normal html tagy a najednou koncis skript ...... (bud ti chybi uvozovky na konci prikazu echo(nebo print) nebo tam nema byt ten konec ?> ))
! ;)
tak tady je cely kod
<div align="center">
<FONT size="6">Registrace nového uživatele</FONT>
<br><br><FONT color="RED" size="-1"><b>Povinné údaje jsou tučně červené</b></font>
</div>
<br>
<TABLE border="1" cellspacing="1" cellpadding="1" width="50%" align="center"><tr><TD align="center">
<?
function JeEmail ($cislo)
{
return ereg("^.+@.+\..+$",$cislo);
}
function emailvdb ($email, $link)
{
$vysledek=mysql_query("select * from uzivatele where email='".$email."'", $link);
return (boolean) mysql_num_rows($vysledek);
}
function prezdivkavdb ($prezdivka, $link)
{
$vysledek=mysql_query("select * from uzivatele where prezdivka='".$prezdivka."'", $link);
return (boolean) mysql_num_rows($vysledek);
}
$link=mysql_connect(mysql.webzdarma.cz, xxxx, xxxx);
mysql_select_db(xxxx);
$BudemeZobrazovat=true;
if (!empty($_POST))
{
if (!JeEmail($_POST["email"])) echo "Není zadán platný e-mail";
elseif (emailvdb($_POST["email"], $link)) echo "Uvedený e-mail je již registrován";
elseif (prezdivkavdb ($_POST["prezdivka"], $link)) 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
{
$BudemeZobrazovat=false;
echo "Děkujeme za registraci. Na vaši adresu ".$_POST["email"]." byly zaslány informace pro její dokončení.";
mysql_query ("insert into uzivatele (email, prezdivka, heslo) values ('".$_POST["email"]."', '".$_POST["prezdivka"]."', '".$_POST["heslo"]."');", $link);
$lastid=mysql_insert_id();
$path="http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["SCRIPT_NAME"]."?clanek=registracedokoncena&id=".$lastid."&email=".$_POST["email"];
$telo = "Dekujeme Vam za registraci na serveru for-mobile.wz.cz. 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 for-mobile team.";
$hlavicky="From: ".$_POST["email"]."\nReturn-Path:".$_POST["email"];
@mail ($_POST["email"], "Registrace na portalu", $telo, $hlavicky, "-f ".$_POST["email"]);
}
}
$zob="ne";
if($odeslano=="ano"){
if($jmeno==""){
$zob="ano";
echo "<FONT color=\"FUCHSIA\"><b>Chyba: </b>Nebylo vyplňeno jméno</FONT><br>";
}
if($prezdivka==""){
$zob="ano";
echo "<FONT color=\"FUCHSIA\"><b>Chyba: </b>Nebyl zvolen nick</FONT><br>";
}
if($heslo==""){
$zob="ano";
echo "<FONT color=\"FUCHSIA\"><b>Chyba: </b>Nebylo zvoleno heslo</FONT><br>";
}
if($heslo!=$heslo2){
$zob="ano";
echo "<FONT color=\"FUCHSIA\"><b>Chyba: </b>Hesla nejsou stejná</FONT><br>";
}
if($email=="" or $email=="@"){
$zob="ano";
echo "<FONT color=\"FUCHSIA\"><b>Chyba: </b>Nebyl vyplněn e-mail</FONT><br>";
}
@$bb = MySQL_Query("SELECT * FROM". $MySQL_tabulka . "WHERE nick='$nick';");
@$aa=MySQL_Fetch_Array($bb);
if($aa[id]!=""){
$zob="ano";
echo "<FONT color=\"FUCHSIA\"><b>Chyba: </b>Požadovaný nick už existuje. Zvolte si prosím jiný nick.</FONT><br>";
}
}else $zob="ano";
if($zob=="ano"){
?>
<br>
<TABLE align="center">
<tr>
<FORM method="post">
<H4><p style="text-align: center"></p></H4>
<?
if ($BudemeZobrazovat):?>
<form method="post" action="index.php?clanek=registrace">
<table>
<tr>
<td>Nick:</td>
<td><input name="prezdivka" value="<?echo $_POST["prezdivka"]?>"></td>
</tr>
<tr>
<td>Heslo:</td>
<td><input name="heslo" type = "password" value="<?echo $_POST["heslo"]?>"></td>
</tr>
<tr>
<td>Opakuj heslo:</td>
<td><input name="heslo2" type = "password" value="<?echo $_POST["heslo2"]?>"></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input name="email" value="<?echo $_POST["email"]?>"></td>
</tr>
<tr>
<td>Jméno a Příjmení:</td>
<td><input name="jmeno" value="<?echo $_POST["jmeno"]?>"></td>
</tr>
<tr>
<td>Adresa:</td>
<td><input name="adresa" value="<?echo $_POST["adresa"]?>"></td>
</tr>
<tr>
<td>Věk:</td>
<td><input name="vek" value="<?echo $_POST["vek"]?>"></td>
</tr>
<tr>
<td>Město:</td>
<td><input name="mesto" value="<?echo $_POST["mesto"]?>"></td>
</tr>
<tr>
<td colspan="2"><input type="Submit" name="odesli" value="Zaregistrovat"></td>
</tr>
</table>
</form>
endif;?>
NA NĚCO SEM ZAPOMNĚL (TENHLE KOD JE SPRAVNE ALE PORAD MI TO UKAZUJE CHYBU)
CHYBU MY TO UKAZUJE: Parse error: parse error in /3w/wz.cz/f/for-mobile/registrace.php on line 141
(řádek 141 je úplně na konci kodu)
oprava:
<div align="center">
<FONT size="6">Registrace nového uživatele</FONT>
<br><br><FONT color="RED" size="-1"><b>Povinné údaje jsou tučně červené</b></font>
</div>
<br>
<TABLE border="1" cellspacing="1" cellpadding="1" width="50%" align="center"><tr><TD align="center">
<?
function JeEmail ($cislo)
{
return ereg("^.+@.+\..+$",$cislo);
}
function emailvdb ($email, $link)
{
$vysledek=mysql_query("select * from uzivatele where email='".$email."'", $link);
return (boolean) mysql_num_rows($vysledek);
}
function prezdivkavdb ($prezdivka, $link)
{
$vysledek=mysql_query("select * from uzivatele where prezdivka='".$prezdivka."'", $link);
return (boolean) mysql_num_rows($vysledek);
}
$link=mysql_connect(mysql.webzdarma.cz, xxxx, xxxx);
mysql_select_db(xxxx);
$BudemeZobrazovat=true;
if (!empty($_POST))
{
if (!JeEmail($_POST["email"])) echo "Není zadán platný e-mail";
elseif (emailvdb($_POST["email"], $link)) echo "Uvedený e-mail je již registrován";
elseif (prezdivkavdb ($_POST["prezdivka"], $link)) 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
{
$BudemeZobrazovat=false;
echo "Děkujeme za registraci. Na vaši adresu ".$_POST["email"]." byly zaslány informace pro její dokončení.";
mysql_query ("insert into uzivatele (email, prezdivka, heslo) values ('".$_POST["email"]."', '".$_POST["prezdivka"]."', '".$_POST["heslo"]."');", $link);
$lastid=mysql_insert_id();
$path="http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["SCRIPT_NAME" ]."?clanek=registracedokoncena&id=".$lastid."&email=".$_POST["email"];
$telo = "Dekujeme Vam za registraci na serveru for-mobile.wz.cz. 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 for-mobile team.";
$hlavicky="From: ".$_POST["email"]."\nReturn-Path:".$_POST["email"];
@mail ($_POST["email"], "Registrace na portalu", $telo, $hlavicky, "-f ".$_POST["email"]);
}
}
$zob="ne";
if($odeslano=="ano"){
if($jmeno==""){
$zob="ano";
echo "<FONT color=\"FUCHSIA\"><b>Chyba: </b>Nebylo vyplňeno jméno</FONT><br>";
}
if($prezdivka==""){
$zob="ano";
echo "<FONT color=\"FUCHSIA\"><b>Chyba: </b>Nebyl zvolen nick</FONT><br>";
}
if($heslo==""){
$zob="ano";
echo "<FONT color=\"FUCHSIA\"><b>Chyba: </b>Nebylo zvoleno heslo</FONT><br>";
}
if($heslo!=$heslo2){
$zob="ano";
echo "<FONT color=\"FUCHSIA\"><b>Chyba: </b>Hesla nejsou stejná</FONT><br>";
}
if($email=="" or $email=="@"){
$zob="ano";
echo "<FONT color=\"FUCHSIA\"><b>Chyba: </b>Nebyl vyplněn e-mail</FONT><br>";
}
@$bb = MySQL_Query("SELECT * FROM". $MySQL_tabulka . "WHERE nick='$nick';");
@$aa=MySQL_Fetch_Array($bb);
if($aa[id]!=""){
$zob="ano";
echo "<FONT color=\"FUCHSIA\"><b>Chyba: </b>Požadovaný nick už existuje. Zvolte si prosím jiný nick.</FONT><br>";
}
}else $zob="ano";
if($zob=="ano"){
?>
<br>
<TABLE align="center">
<tr>
<FORM method="post">
<H4><p style="text-align: center"></p></H4>
<?
if ($BudemeZobrazovat):?>
<form method="post" action="index.php?clanek=registrace">
<table>
<tr>
<td>Nick:</td>
<td><input name="prezdivka" value="<?echo $_POST["prezdivka"]?>"></td>
</tr>
<tr>
<td>Heslo:</td>
<td><input name="heslo" type = "password" value="<?echo $_POST["heslo"]?>"></td>
</tr>
<tr>
<td>Opakuj heslo:</td>
<td><input name="heslo2" type = "password" value="<?echo $_POST["heslo2"]?>"></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input name="email" value="<?echo $_POST["email"]?>"></td>
</tr>
<tr>
<td>Jméno a Příjmení:</td>
<td><input name="jmeno" value="<?echo $_POST["jmeno"]?>"></td>
</tr>
<tr>
<td>Adresa:</td>
<td><input name="adresa" value="<?echo $_POST["adresa"]?>"></td>
</tr>
<tr>
<td>Věk:</td>
<td><input name="vek" value="<?echo $_POST["vek"]?>"></td>
</tr>
<tr>
<td>Město:</td>
<td><input name="mesto" value="<?echo $_POST["mesto"]?>"></td>
</tr>
<tr>
<td colspan="2"><input type="Submit" name="odesli" value="Zaregistrovat"></td>
</tr>
</table>
</form>
<?endif;?>
<?echo $_POST["prezdivka"]?>
<?echo $_POST["heslo"]?>
<?echo $_POST["heslo2"]?>
<?echo $_POST["email"]?>
<?echo $_POST["jmeno"]?>
<?echo $_POST["adresa"]?>
<?echo $_POST["vek"]?>
<?echo $_POST["mesto"]?>
? ? ? ? ? ? ? ? ? ? ? ? !
Panebože .... co třeba tohle : if($zob=="ano"){ (tady pak vypisujes tabulku (ktera se ti zobrazi jenom kdyz bude promena $BudemeZobrazovat true)).
Na co tam mas ten radek s if($zob=="ano")?
(nezkoumal jsem to cele..... (nebudu to 10 minut cist :-D ))
ale rozhodne ti minimalne na konci chybi } (konec slozene zavorky) nebo tam mas ten if co jsem psal navic :)
(a btw: pouzivej nejlepe jenom jeden ze zpusobu syntaxe (bud slozene zavorky nebo dvojtecky a endy (endif,endswitch,...) :) pak se v tom sám líp vyznáš :-D ))
Jony napsal:
>
> co?
Viděl jsi co jsem ti tam psal? jestli jo, tak to zkus :)
proste smaz radek if($zob=="ano")
!nebo! na konec souboru přidej } (před konec skriptu ?> )
:-)
jo, ma. Ten endif; ukoncuje ten if(): ktery tam mas nad tou tabulkou!
no a u toho i if($zob=="ano") mam smazat i to { co je za tim na stejnim řádku?
jo,
k cemu by tam pak asi bylo?
ja jen tak aby jsem to nepos....
proste to zkus :) a uvidis jestli to pujde :-) (rikam ze sem necetl ten skript cely takze mozna to neni jedina chyba :) )