Nefungujici formular - prevzato z knihy

Zdravim
prosim Vas nevite nekdo proc neslape tento formular s knihy p. Koska PHP3?

Melo by to fungovat nasledovne
1, vidite prvni obrazovku, ktera pise ze se mate zaregistrovat a povine udaje jsou cervene
2, pokud nejaky poviny udaj nezadate, ma to napsat, ze pro zaregistrovani se musi vyplnit povine udaje
3, pokud je vsechno Ok, napise hlasku, ze je to Ok

Je tam zminka o neinicializovane promene ($Odeslano), zapnul/vypnul ? jsem tedy error_reporting(0); ale stejne mi to neslape.

Chtel bych to vyuzit na svych strankach, chci takhle vkladat akce do databaze a jelikoz to budu vyuzivat nejvice ja, tak proste jen chci, aby to napsalo, ze se to pridalo a hned muzu zadavat dalsi akci - Proste ten formular by byl videt furt, jen by se menili hlasky a vymazavaly udaje.

Ted to resim pres ACTION toho formulare a volam script, ktery to zapisuje, ale diky tomu se vzdycky "otevre" nova stranka a ja musim davat ZPET a potom teprve pisu dalsi akci , takze vlastne se chci zbavit toho kroku zpet. Cetl jsem o nejake funkci Header, ale asi ji neumim pouzit, protoze mi nefunguje. Ona by teoreticky mela poslat prohlizeci stranku, kterou chci nacist.

Tady je kod toho scriptu

<HEAD>
<TITLE>Ukázkový profesionální formulář</TITLE>
<STYLE TYPE="text/css">
<!--
TD B { color: red } /* Tučné písmo v buňce tabulky bude navíc červené */
-->
</STYLE>
</HEAD>
<BODY>
<?
error_reporting(0);
$zobrazitFormular = true; // příznak zobrazování formuláře

if ($Odeslano): // byl již formulář odeslán?

if ($Jmeno=="" || // kontrola vyplnění povinných údajů
$Prijmeni=="" ||
$Email==""):

echo "<H1>Musíte vyplnit všechny povinné údaje!</H1>";
echo "Jsou označeny tučným červeným popisem.";

else: // máme povinná data, zpracujeme je

$zobrazitFormular = false;
echo "<H1>Děkujeme za registraci!</H1>";
// Zde se mohou získané informace libovolně zpracovat

endif;

else: // formulář je zobrazován poprvé

echo "<H1>Pro zaregistrování vyplňte tento formulář!</H1>";
echo "Povinné údaje jsou označeny tučným červeným popisem.";

endif;
?>

<?if ($zobrazitFormular): // má se zobrazovat formulář? ?>
<FORM METHOD=POST>
<TABLE BORDER=0>
<TR>
<TD><B>Jméno:</B>
<TD><INPUT NAME=Jmeno VALUE="<?echo $Jmeno?>" SIZE=30>
<TR>
<TD><B>Příjmení:</B>
<TD><INPUT NAME=Prijmeni VALUE="<?echo $Prijmeni?>" SIZE=30>
<TR>
<TD>Pohlaví:
<TD><INPUT TYPE=RADIO NAME=Pohlavi VALUE="Muz"
<?echo $Pohlavi=="Muz" ? " CHECKED" : ""?>>Muž
      
<INPUT TYPE=RADIO NAME=Pohlavi VALUE="Zena"
<?echo $Pohlavi=="Zena" ? " CHECKED" : ""?>>Žena
<TR>
<TD><B>E-mail:</B>
<TD><INPUT NAME=Email VALUE="<?echo $Email?>" SIZE=30>
<TR>
<TD>WWW stránka:
<TD><INPUT NAME=Web VALUE="<?echo $Web?>" SIZE=30>
<TR>
<TH COLSPAN=2><INPUT TYPE=SUBMIT VALUE=" Registrace ">
</TABLE>
<INPUT TYPE=HIDDEN NAME=Odeslano VALUE=true>
</FORM>
<?endif?>
</BODY>



Diky za rady
Premek
Takže:

Kód je naprosto nevalidní. Není tam žádné ukončováné řádků a políček v tabulce. Fuj!

V principu to funguje. Když nezadáš vše, dostaneš hlášku na doplnění. Když vyplníš vše, poděkuje to (sice můžeš zadat email i bez zavináče, ale nebuďme detailisti).

Takže si oprav html tabulku a teď už jen nastrkat data do db - tato sekce tam není vůbec.
Supr, diky.
Prisaham, ze jsem to jen udelal copy & paste. Je to stahnute rovnou z webu p. Koska, ale nic proti, prece jenom je to napsano v roce 1999.

Zkusim a napisu jak to dopadlo.

Premek
Ma to byt takhle?
Uz tady kopiruji jen tu tabulku !

<?if ($zobrazitFormular): // má se zobrazovat formulář? ?>
<FORM METHOD=POST>
<TABLE BORDER=0>
<TR>
<TD><B>Jméno:</B></TD>
<TD><INPUT NAME=Jmeno VALUE="<?echo $Jmeno?>" SIZE=30></TD>
</TR>
<TR>
<TD><B>Příjmení:</B></TD>
<TD><INPUT NAME=Prijmeni VALUE="<?echo $Prijmeni?>" SIZE=30></TD>
</TR>
<TR>
<TD>Pohlaví:</TD>
<TD><INPUT TYPE=RADIO NAME=Pohlavi VALUE="Muz"
<?echo $Pohlavi=="Muz" ? " CHECKED" : ""?>>Muž
      </TD>
<TD><INPUT TYPE=RADIO NAME=Pohlavi VALUE="Zena"
<?echo $Pohlavi=="Zena" ? " CHECKED" : ""?>>Žena
</TD>
</TR>
<TR>
<TD><B>E-mail:</B></TD>
<TD><INPUT NAME=Email VALUE="<?echo $Email?>" SIZE=30></TD>
</TR>
<TR>
<TD>WWW stránka:</TD>
<TD><INPUT NAME=Web VALUE="<?echo $Web?>" SIZE=30></TD>
</TR>
<TR>
<TH COLSPAN=2><INPUT TYPE=SUBMIT VALUE=" Registrace "></TH>
</TR>
</TABLE>
<INPUT TYPE=HIDDEN NAME=Odeslano VALUE=true>
</FORM>
<?endif?>
</BODY>


JE TO JEN UKAZKA ! Zatim to nema zadnou funkcnost, nasel jsem tam i jiny formular, ten uz kontroluje take zadani e-mailove adresy, ale stejne to nepracuje.

Premek
Teď už ta tabulka na první pohled vypadá lépe (nezkoušel jsem).

Vždyť ten formulář z prvního příspěvku funguje! Jakou ti to hlásí chybu? Pojmenoval jsi ten soubor neco.php?
Tak me teda nefunguje, porad se mi zobrazuje ten samy text - Zaregistrujete se prosim - a po stisku tlacitka se formular vycisti, ale texty zustavaji stejne = zadne potrvrzeni o registraci se neobjevi.

Ten script je pojmenovany jako profifrm.php

Premek
hehe neni to náhodou z koskovy knihy? :D