Autor Zpráva
Big-Dejf
Profil *
Zdravím mám formulář

<form action="clanek.php" method="POST">
<TABLE BORDER="0">

<TR> <TD> <strong>Jméno</strong>  </TD> <TD> 

<input type="text" size="20" 
    name="jmeno"><strong> *</strong>
 
<TR> <TD> <strong>Email</strong>  </TD> <TD> 


<input type="text" size="20" 
    name="email"><strong> *</strong>
 
<TR> <TD> <strong>Datum</strong>  </TD> <TD> 

<input type="text" size="20" 
    name="datum"><strong> *</strong>


<TR> <TD>  <strong>Text článku</strong>  </TD> <TD> 

<textarea rows="10" cols="45"  name="text">

</textarea> * <br>
 (Můžete pužít html)
</TD> </TR>
<TR> <TD> </TD> <TD> 
<br>
<input type="submit" value="Odeslat"><br><br>

	<INPUT TYPE="RESET" NAME="CLEAR" VALUE="Vymazat">

</TD> </TR>
</TABLE>



clanek.php obsahuje toto:


<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.letysmety.com/sekce-dekujeme-za-odeslani-16.html");
header("Connection: close");
?>
<?
$filename = $uloz.$htm."result-clanek.htm";        //tento súbor môžete premenovať na htm
 if (File_Exists($filename)):
        $txhtm = "<tr><td>";
        $endnum = "</td>";
        $fp = FOpen($filename, "a");
        if (!$fp)  return;
        ;
    else: 
        umask(0131);
        $fp = FOpen($filename, "w");
        $textb = "<html><head></head><BODY>";
        $textc = "\n";
        $endnum = "</td>";
        $txhtm = "<tr><td>";
        FPutS($fp, $textb.$textc);
        if (!$fp) return;
    endif;
$ulozfinal = "<br>------------------<br>Vase jméno:$jmeno<br>Jmeno:$jmeno<br>Email:$email<br>Datum:$datum<br>Text:$ text<br>IP :$REMOTE_ADDR<br>";

    FPutS($fp, $txhtm.$ulozfinal.$endnum);
    FClose($fp);

?>
<TITLE>Result</TITLE>
<body link="#000000" vlink="#000000" bgcolor="#E6E1C3">
<H2>ĎAKUJEME</H2>
<H4>Ihneď po doručení výsledkov Vás budeme kontaktovať</H4>

<?
 if ((!IsSet($jmeno))||(!IsSet($emial))||(!IsSet($datum))||(!IsSet($Text)) ||(!IsSet($REMOTE_ADDR))){  


echo "Vyplňte všechny položky!";
formular($jmeno,$emial);
exit();






}
echo" 
<p>------------------------------------</p>
<H4>Zadali ste tieto údaje: <br></H4>
Vaše jméno:$jmeno<br>
Váš Email:$email<br>
Datum:$datum<br>
Text:$text<br>
Popis:$REMOTE_ADDR";

?><p>-----------------------------------</p>
<p>&nbsp;</p>
<p>- tu si môžete pozrieť <a href="result-lokalita.htm">výsledky </a>s formulára
uložené do text.súboru na serveri</p>

</body>
</html>





Prosím poradíte mi jak ošetřím formulář tak, aby server vyhodil chybu že nejsou vyplněná správně všechna pole a jak prosím udělat to aby se zobrazovalo formátování html klasicky jako standartní text? (bez formátování html)
Díky moc všem. Už si stím nevím rady, možná na to jdu špatně od základu ale je to můj první form.
starburst
Profil
no melo by tam byt na kazdy to pole
if (($jmeno == "") or ($email == "") or ($jmeno == ""):
echo "nevyplnili jste potrebna data";
else:


a to osetreni textu pro tagy je fce stripslashes
Big-Dejf
Profil *
Tkahle jsem to napsal:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.letysmety.com/sekce-dekujeme-za-odeslani-16.html");
header("Connection: close");
?>
<?
$filename = $uloz.$htm."result-clanek.htm";        //tento súbor môžete premenovať na htm
 if (File_Exists($filename)):
        $txhtm = "<tr><td>";
        $endnum = "</td>";
        $fp = FOpen($filename, "a");
        if (!$fp)  return;
        ;
    else: 
        umask(0131);
        $fp = FOpen($filename, "w");
        $textb = "<html><head></head><BODY>";
        $textc = "\n";
        $endnum = "</td>";
        $txhtm = "<tr><td>";
        FPutS($fp, $textb.$textc);
        if (!$fp) return;
    endif;
$ulozfinal = "<br>------------------<br>Vase jméno:$jmeno<br>Jmeno:$jmeno<br>Email:$email<br>Datum:$datum<br>Text:$ text<br>IP :$REMOTE_ADDR<br>";

    FPutS($fp, $txhtm.$ulozfinal.$endnum);
    FClose($fp);

?>
<TITLE>Result</TITLE>
<body link="#000000" vlink="#000000" bgcolor="#E6E1C3">
<H2>ĎAKUJEME</H2>
<H4>Ihneď po doručení výsledkov Vás budeme kontaktovať</H4>

<?
 if ((!IsSet($jmeno))||(!IsSet($emial))||(!IsSet($datum))||(!IsSet($Text)) ||(!IsSet($REMOTE_ADDR))){  


if (($jmeno == "") or ($emial == "") or ($datum == ""):
echo "nevyplnili jste potrebna data"; 


else: 


}
echo" 
<p>------------------------------------</p>
<H4>Zadali ste tieto údaje: <br></H4>
Vaše jméno:$jmeno<br>
Váš Email:$email<br>
Datum:$datum<br>
Text:$text<br>
Popis:$REMOTE_ADDR";

?><p>-----------------------------------</p>
<p>&nbsp;</p>
<p>- tu si môžete pozrieť <a href="result-lokalita.htm">výsledky </a>s formulára
uložené do text.súboru na serveri</p>

</body>
</html>




a vyhazuje ot chybu
Parse error: syntax error, unexpected ':' in /home/www/letysmety.com/subdomeny/www/clanek.php on line 39
starburst
Profil
sory...chybí tam ukončení závorky!!!

if (($jmeno == "") or ($emial == "") or ($datum == "")):
echo "nevyplnili jste potrebna data";

a mas chybu v promenne $email... mas tam $emial

edit: mimochodem tu chybu ti to tam napsalo...stači si to přečíst
starburst
Profil
jo a ted sem si vsiml ze ty nechces aby se to projevilo jako tagy ale normalni text... tak to neni stripslashes ale

 $vzkaz = HTMLSpecialCHars($vzkaz);
Big-Dejf
Profil *
Porad stejne
?>
<TITLE>Result</TITLE>
<body link="#000000" vlink="#000000" bgcolor="#E6E1C3">
<H2>ĎAKUJEME</H2>
<H4>Ihneď po doručení výsledkov Vás budeme kontaktovať</H4>

<?
 if ((!IsSet($jmeno))||(!IsSet($emial))||(!IsSet($datum))||(!IsSet($Text)) ||(!IsSet($REMOTE_ADDR))){  

if (($jmeno == "") or ($emial == "") or ($datum == "")):
echo "nevyplnili jste potrebna data"; 


else: 



}
echo" 
<p>------------------------------------</p>
<H4>Zadali ste tieto údaje: <br></H4>
Vaše jméno:$jmeno<br>
Váš Email:$email<br>
Datum:$datum<br>
Text:$text<br>
Popis:$REMOTE_ADDR";

?>


a vyhazuje to chybu
Parse error: syntax error, unexpected '}' in /home/www/letysmety.com/subdomeny/www/clanek.php on line 46
starburst
Profil
a ctes co ti to pise? to je ta
}
co mas pred
echo"


nevim kde si ji vzal...

jinak kdyz sem se na to koukal tak si ten
vzkaz
prepis na
text
jinak to nebude fungovat nikdy ;-)
starburst
Profil
uz vim kde si ji vzal

zkus to else napsat za tu lomenou zavorku
Big-Dejf
Profil *
Prosim te, ja jsem fakt lama, posli mi ten kod v clanek.php tak jak by mel byt. Zkousel jsem tu } odstranit a napsalo mi to

Parse error: syntax error, unexpected $end in /home/www/letysmety.com/subdomeny/www/clanek.php on line 65

Ja tem hlaskam nerozumim. Moc by jsi mi pomohl.
Big-Dejf
Profil *
zkus to else napsat za tu lomenou zavorku

Taky chyba.
starburst
Profil
no nemuzes ju odstranit kdyz si ju otevrel tak ji musis zavrit..... ja sem momentalne v praci a nemam tady moznost to otestovat takze to nepujde...kouknu na to doma jestli chces...ja tomu taky moc nerozumim...ale zaklady se pomalu ucim diky tomuto foru a lidem kteri mi radi s problemama...

prehod ty dve IF a melo by to slapat... jestli ne tak pockej do rana az sem prijdou lidi a nebo az prijdu dom tak se na to muzu kouknout a vyzkouset.. ted nemam jak...
starburst
Profil
a smaz to
else


v tomhletom pripade je tam nanic
Big-Dejf
Profil *
Dobře, moc by jsi mi pomohl. Ja php vubec nbeumim, tohle jsem se ucil z sablonky. :) proto se v tom nevyznam.
starburst
Profil
ještě dotaz... bez toho skriptu to to běží?
Big-Dejf
Profil *
jj běží ;-) no nic ja jdu spat takse mej/te dobrou a zitra se budu tesit ;)
starburst
Profil
zkus pouzit a predelat neco z tohoto:

soubor "clanek.php"

<form name="form" method="post"
action="clanek.php?action=uloz">
<table><tr><td><b>jméno:</b></td>
<td><input type="text" name="jmeno" size="50" /></td>
</tr><tr><td><b>e-mail:</b></td>
<td><input type="text" name="mail" size="50" /></td>
</tr>
<tr><td valign="top"><b>text:</b></td>
<td><textarea id="text" name="text" cols="40" rows="5">
</textarea></td></tr>
<tr><td></td><td align="left">
</td>
</tr>
<tr><td></td><td align="left">
<input type="submit" value="odeslat"></td>
</tr>
</table>
</form>

<br>




<table>
<?php
if ($action=='uloz'):
$soubor = "clanky.body";
@$ext = fopen($soubor, "r");
@$obsah = fread($ext, filesize($soubor));
@FClose($ext);
if (($mail=="") or ($jmeno=="") or ($text=="")):
echo "<h2>Nevyplnili jste kolonku!!!</h2>";
else:
$ext = fopen("clanky.body", "w");


$mail = HTMLSpecialCHars($mail);
$jmeno = HTMLSpecialCHars($jmeno);
$text = HTMLSpecialCHars($text);

$tab = "<tr><td>Vaše Jméno:</td><td>".$jmeno."</td></tr>
<tr><td>Váš mejl:</td><td>".$mail."</td></tr><tr><td>datum:</td><td>".Date(" d/m/Y  H:i:s")."</td></tr>
<tr><td>text:</td><td>".$text."</td>
</tr><tr><td colspan=\"2\"><hr size=\"1\"></td>
</tr>";

fputs($ext, "$tab");
fputs ($ext, "$obsah");
FClose($ext);
@$ext = fopen("clanky.body", "r");
@fpassThru($ext);
endif;
else: @$ext = fopen("clanky.body", "r");
@fpassThru($ext); endif;
?>
</table>



mělo by to fungovat tak že to vypíše do souboru a ten nasledně vypíše pod ten formulář, když soubor neexistuje tak se sam vytvori a dalsi zapisy se pisi nad posledni...

v podstate je to jako vzkaznik
Big-Dejf
Profil *
Dobre diky, uz to fakci ;) moc jsi mi pomohl.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: