help me please :-((

hoy lidi,zase jednou sem něco kutil a zase mi to nefaká :-(

Tady je ten blbej soubor:

<?
include "../config.php";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">


<body bgcolor="<?echo $bg?>" text="<?echo $text?>">
<?
if($co=="odkaz"){
?>
<FORM METHOD=POST>
<TABLE border=0>
<TR><TD>
URL:
</TD><TD>
<INPUT TYPE="text" NAME="url">
</TD></TR>
<TR><TD>
Titulek:
</TD><TD>
<INPUT TYPE="text" NAME="titl">
</TD></TR>
<TR><TD>
Popis:
</TD><TD>
<INPUT TYPE="text" NAME="pps">
</TD></TR>
<TR><TD>
Sekce:
</TD><TD>
<SELECT NAME="sekce">
<?
$dotaz = Mysql_query("SELECT id,nazev FROM katalog_sekce");

while($zaznam = mysql_fetch_array($dotaz)):
echo "<option value=\"".$zaznam['id']."\">".$zaznam['nazev']."</option>\n";
endwhile;
?>
</SELECT>
</TD></TR>
<TR><TD>
Podsekce:
</TD><TD>
<SELECT NAME="podsekce">
<option value="0">-----</option>
<?
$dotaz = Mysql_query("SELECT id,nazev FROM katalog_podsekce");

while($zaznam = mysql_fetch_array($dotaz)):
echo "<option value=\"".$zaznam['id']."\">".$zaznam['nazev']."</option>\n";
endwhile;
?>
</SELECT>
</TD></TR>
<TR><TD COLSPAN=2>
<INPUT TYPE="submit" VALUE="Ou Kej">
</TR>
</TABLE>
<INPUT TYPE="hidden" NAME="odeslano" VALUE="true">
</FORM>
<?
if($odeslano):

$insert = mysql_query("INSERT INTO katalog_odkazy VALUES('',".$sekce.",".$podsekce.",'".$url."','".$titl."','".$pps."',0,0,0)");
if($insert) echo "OK!";
else echo "KO!";

endif;
}
if($co=="sekci"){
?>
<FORM METHOD=POST>
<TABLE border=0>
<TR><TD>
Název:
<TD>
<INPUT TYPE="text" NAME="nazev">
<TR><Td colspan=2>
<INPUT TYPE="submit" VALUE="Ou kej">
</TABLE>
<INPUT TYPE="hidden" NAME="odeslano" VALUE="true">
</FORM>
<?
if($odeslano):

$insert = mysql_query("INSERT INTO katalog_sekce VALUES('','".$nazev."')");
if($insert) echo "OK!";
else echo "KO!";

endif;
}
if($co=="podsekci"){
?>
<FORM METHOD=POST>
<TABLE border=0>
<TR><TD>
Název:
<TD>
<INPUT TYPE="text" NAME="nazev">
<TR><TD>
V sekci:
<TD>
<SELECT NAME="sekce">
<?
$dotaz = mysql_query("SELECT id,nazev FROM katalog_sekce");

while($zaznam = mysql_fetch_array($dotaz)):
echo "<option value=\"".$zaznam['id']."\">".$zaznam['nazev']."</option>\n";
endwhile;
?>
</SELECT>
<TR><TD colspan=2>
<INPUT TYPE="submit" VALUE="Ou kej">
</TABLE>
<INPUT TYPE="hidden" Name="odeslano" VALUE="true">
</FORM>
<?
if($odeslano):

$insert = mysql_query("INSERT INTO katalog_podsekce VALUES('',".$sekce.",'".$nazev."'");
if($insert) echo "OK!";
else echo "KO!";

endif;
}
?>
</body>


No a ještě struktura SQL:


# Tabulka 'katalog_odkazy'

CREATE TABLE katalog_odkazy (
id int(11) DEFAULT '0' NOT NULL AUTO_INCREMENT,
sekce_id int(11) DEFAULT '0' NOT NULL,
podsekce_id int(11) DEFAULT '0' NOT NULL,
url varchar(100) DEFAULT '0' NOT NULL,
titulek varchar(35) DEFAULT '0' NOT NULL,
popis text NOT NULL,
hodnotilo_lidi int(11) DEFAULT '0' NOT NULL,
soucet_hodnoceni int(11) DEFAULT '0' NOT NULL,
kliknuto int(11) DEFAULT '0' NOT NULL,
PRIMARY KEY (id)
);


# Tabulka 'katalog_podsekce'

CREATE TABLE katalog_podsekce (
id int(11) DEFAULT '0' NOT NULL AUTO_INCREMENT,
sekce_id int(11) DEFAULT '0' NOT NULL,
nazev varchar(255) NOT NULL,
PRIMARY KEY (id)
);



# Tabulka 'katalog_sekce'


CREATE TABLE katalog_sekce (
id int(11) DEFAULT '0' NOT NULL AUTO_INCREMENT,
nazev varchar(255) NOT NULL,
PRIMARY KEY (id)
);
dycky mi to hodí KO :-(
Nechce se mi to teď procházet celé, ale <?echo $neco?> Ti fungovat nebude. Zkus <? echo $neco; ?> a takových tam je více.

Dále mi nějak nesedí to include "../config.php"; použij by závorky include ("../config.php");, ale možná že to jde i bez nich. Já je používám.
Já to znam teda jenom bez nich..., ale to echo je fakt blbě
No ä když mi nějaký takový příklad nejedem jednoduše si při vývoji nechám všechny ty proměnné, které bych chtěl uložit do databáze, vypsat na monitor, abych viděl jestli se nesnažím uložit do NOT NULL pole prázdnou hodnotu...

Taky bych si zjednodušil zmatky s uvozovkama. Místo :

$insert = mysql_query("INSERT INTO katalog_odkazy VALUES('',".$sekce.",".$podsekce.",'".$url."','".$titl."','".$pps."',0,0,0)");

bych si to zpřehlednil :

$insert = mysql_query("INSERT INTO katalog_odkazy VALUES ('','$sekce','$podsekce','$url','$titl','$pps',0,0,0)");

Je to pro mne přehlednější.

I když ...počkej...jak tak koukám, nechybí Ti u $sekce a $podsekce ty jednoduché uvozovky, apostrof či jak se tomu říká ? (')
to <?echo $bg?> a <?echo $text?> mi faká (aspoň na mym kompu).A u $sekce a $podsekce mi apostrofy nechyběj pač to je číselná hodnota
Hmm...tak v tom případě napiš co to znamená, když Ti to "nefachá". Funguje částečně, nelze zapisova do databáze, nepřejímá proměnné z formuláře...atd.
je jedno jestli mate: echo ""; nebo echo ("");
ja pouzivam to prvni, je to kratsi..

stejne jako: require ""; nebo require("");

pokud to ma jen jeden parametr lze zavorky vynechat
za tím "if($odeslano):" mas spatne podminky, chybí ti tam ":"

místo:
if($insert) echo "OK!";
else echo "KO!";
endif;

tam dej:
if($insert):
echo "OK!";
else:
echo "KO!";
endif;
2ash: Mno ten endif je k necemu uplne jinymu, to je snad f poradku...
2the root: nejde o endif, podle mě je špatně to "if($insert) echo...", za tou závorku musí být ":"
Ne, nemusi, precti si to poradne

if($odeslano): //zacatek ifu #1

$insert = mysql_query("INSERT INTO katalog_podsekce VALUES('',".$sekce.",'".$nazev."'");

if($insert) echo "OK!"; //pokud je jenom jeden prikaz za if, zavorky ani ta dvojtecka s endif bejt nemusi...
else echo "KO!";

endif; //konec ifu #1
Tak hele,nezapisuje to do databáze,jinak to je fpohodě
Když je to tak, tak zkus toto a počti si....


echo "Hodnota \$sekce je $sekce <br>";
echo "Hodnota \$nazev je $nazev";
$insert = mysql_query("INSERT INTO katalog_podsekce VALUES('',".$sekce.",'".$nazev."'");
if($insert) echo "OK!";
else echo mysql_error(); //vypíše chybu databáze

stejně bych si ten insert zpřehlednil na :

VALUES('','$sekce','$nazev');

jsem tak zvyklý a lépe se to čte. Z luštění těch Tvých uvozovek mně bolí oči
Není špatným nápadem si zkoušet vzít ten SQL dotaz a v MyAdminu tím tu databázi vykrmit, aby člověk viděl, jestli mu to vůbec vezme. Dají se tak jednoduše odstranit syntaktické chyby.