Portál AbcLinuxu, 1. června 2025 16:40


Dotaz: PHP vs. form

Pavel V. avatar 25.10.2007 16:00 Pavel V. | skóre: 22 | Pardubice
PHP vs. form
Přečteno: 856×
Odpovědět | Admin
Zdravím, nemáte někdo radu? Mám zdrojový kód který mi tak nějak nefunguje a já vůbec nevím proč, už mě snad napadá jen špatné nastavení Apache.
<form method="post" action="muj_php_skript.php">
        <input type="hidden" name="vzkaz" value="<?echo $_POST["vzkaz"]?>">
        <input type="Submit" name="Uložit" value="Uložit >>">
</form>

Tento kus kódu má po stlačení tlačítka "Uložit >>" zavolat "použít" php skript "muj_php_skript.php", který je ve stejném adresáři a použít v něm hodnotu proměnné $_POST["vzkaz"]. Jenže se mi tento skript nezavolá. Nevíte proč?
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

houska avatar 25.10.2007 16:09 houska | skóre: 41 | blog: HW
Rozbalit Rozbalit vše Re: PHP vs. form
Odpovědět | | Sbalit | Link | Blokovat | Admin
prava? neco v logu?
Pavel V. avatar 25.10.2007 16:37 Pavel V. | skóre: 22 | Pardubice
Rozbalit Rozbalit vše Re: PHP vs. form
Práva jsou v pořádku.
V logu je toto:
[Thu Oct 25 16:31:23 2007] [error] [client 127.0.0.1] PHP Notice: Undefined index: odeslano in /srv/www/htdocs/tabulka_formular_final.php on line 8, referer: http://localhost/tabulka_formular_final.php/

Na řádku 8 je následující, ale to by nemělo mít žádný vliv:
  if ($_POST["odeslano"])
25.10.2007 18:00 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: PHP vs. form
Ten riadok
if ($_POST["odeslano"])
by som zmenil na
if (isset($_POST["odeslano"]))
(a tá chyba by sa už nemala vypisovať).

Mierne nerozumiem, čo má robiť tento konkrétny riadok:
<input type="hidden" name="vzkaz" value="<?echo $_POST["vzkaz"]?>">
(aj ten skript, v ktorom je tento riadok sa volá pomocou POST?)

Je v súbore muj_php_skript.php niečo, čo zobrazí nejaké údaje (napr echo "FUNGUJE TO :)"; ).
25.10.2007 17:10 volvox
Rozbalit Rozbalit vše Re: PHP vs. form
Odpovědět | | Sbalit | Link | Blokovat | Admin
No a kde berete jistotu, že se se skript neprovedl? Dival jste se do access.logu? Případně nemáte nastaven nějaký URL rewrite?
Pavel V. avatar 25.10.2007 21:53 Pavel V. | skóre: 22 | Pardubice
Rozbalit Rozbalit vše Re: PHP vs. form
Jistotu mám, protože skript má zapisovat do databáze a bohužel nezapisuje, když ho spustím samostatně, tak vše provede správně a kdyby mu nebyla předána proměnná tak by zapsal prázdnou hodnotu "odzkoušeno".
Zde je větší kus kódu pro vysvětlení onoho 8mého řádku a jelikož si s PHP hraji teprve tři dny rád bych vás ještě požádal o nějaké výhodnější řešení této šílenosti "délky kódu" s omezením zadaných znaků "proměnných je 30 :(".

<?
  $BudemeZobrazovat=true;
  if ($_POST["odeslano"])
  {
    if (strlen($_POST["1"])>5 || strlen($_POST["2"])>5 || strlen($_POST["3"])>5 || strlen($_POST["4"])>5 || strlen($_POST["5"])>5)
    {
      echo "Vámi zadané údaje jsou mimo rozsah! Zadané hodnoty mohou být max. pěti místné!";
    }
    else
    {
      $BudemeZobrazovat=false;
      ?>
25.10.2007 23:50 volvox | skóre: 16
Rozbalit Rozbalit vše Re: PHP vs. form
To, že skript má něco uložit do databáze a neuloží, přece nemůžete brát jako důkaz toho, že se skript vůbec neprovedl.

Díval jsem na zdojové kódy HTML i PHP - jedním slovem šílenost, ale chápu, když říkate, že se to učíte teprve třetí den.

V tomhle okamžiku je zbytečné dávat nějaké konkrétní rady, protože chyba může být zjevně kdekoliv. Obecně způsob programovaní, který jste zvolil, je špatný a chybu budete velmi obtížně hledat. Zkuste si nejprve udělat nejmenší funkční kostru skriptu a teprve až budou fungovat základní věci, tak teprve přidávat další funkce. Začněte třeba s tím, že vytvoříte jednoduchý formulář s jednou položkou, výpis položky a uložení do db. Zjistěte si na webu, jak se tvoří HTML formuláře - IMHO tady bude zakopaný pes celého problému.

ad výhodnější řešení pro 30 proměnných - http://www.php.net/foreach
MMMMMMMMM avatar 25.10.2007 22:08 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: PHP vs. form
Odpovědět | | Sbalit | Link | Blokovat | Admin
a mas v tom formulari definovano nekde $_POST["odeslano"], napr. *input type="hidden" name="odeslano" value="1"* kdyz potom tu promennou testujes ?
Linux Dokumentační Projekt - PDF ke stažení
Pavel V. avatar 25.10.2007 22:24 Pavel V. | skóre: 22 | Pardubice
Rozbalit Rozbalit vše Re: PHP vs. form
Samozřejmě mohu tam mít spoustu chyb, ale také jsem odzkoušel, že pokud v řádku <form method="post" action="muj_php_skript.php"> místo odkazu na skript zadám přímo obsah skriptu tak to funguje jak má, takže je vyloženě chyba v kontaktování souboru muj_php_skript.ph.

Zde jsou celé obsahy obou souborů.
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<?
  $BudemeZobrazovat=true;
  if ($_POST["odeslano"])
  {
    if (strlen($_POST["1"])>5 || strlen($_POST["2"])>5 || strlen($_POST["3"])>5 || strlen($_POST["4"])>5 || strlen($_POST["5"])>5 || strlen($_POST["6"])>5 || strlen($_POST["7"])>5 || strlen($_POST["8"])>5 || strlen($_POST["9"])>5 || strlen($_POST["10"])>5 || strlen($_POST["11"])>5 || strlen($_POST["12"])>5 || strlen($_POST["13"])>5 || strlen($_POST["14"])>5 || strlen($_POST["15"])>5 || strlen($_POST["16"])>5 || strlen($_POST["17"])>5 || strlen($_POST["18"])>5 || strlen($_POST["19"])>5 || strlen($_POST["20"])>5 || strlen($_POST["21"])>5 || strlen($_POST["22"])>5 || strlen($_POST["23"])>5 || strlen($_POST["24"])>5 || strlen($_POST["25"])>5 || strlen($_POST["26"])>5 || strlen($_POST["27"])>5 || strlen($_POST["28"])>5 || strlen($_POST["29"])>5 || strlen($_POST["30"])>5)
    {
      echo "Vámi zadané údaje jsou mimo rozsah! Zadané hodnoty mohou být max. pěti místné!";
    }
    else
    {
      $BudemeZobrazovat=false;
      ?>
<center>
<h1>Náhled před vložením do databáze.</h1>
<table border="1" cellspacing="0" width="700">
<tr align="center" valign="top"><td width="50%">Jméno vesnice:<br><b><?echo ($_POST["vesnice"])?></b><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td>Jméno hráče:<br><b><?echo ($_POST["jmeno"])?></b><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td></tr></table>
<table border="1" cellspacing="0" width="700"><tr align="center"><td width="20%">Řimské jednotky</td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/1.gif" title="Legionář"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/2.gif" title="Pretorián"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/3.gif" title="Imperián"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/4.gif" title="Equites Legáti"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/5.gif" title="Equites Imperatoris"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/6.gif" title="Equites Caesaris"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/7.gif" title="Římanské beranidlo"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/8.gif" title="Ohnivý katapult"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/9.gif" title="Senátor"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/10.gif" title="Osadník"></td></tr>
<tr align="center"><td>Počet</td><td width="8%"><?echo ($_POST["1"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["2"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["3"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["4"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["5"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["6"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["7"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["8"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["9"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["10"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td></tr>
<tr align="center"><td>Germánské jednotky</td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/11.gif" title="Pálkař"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/12.gif" title="Oštěpař"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/13.gif" title="Sekerník"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/14.gif" title="Zvěd"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/15.gif" title="Rytíř"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/16.gif" title="Teuton jezdec"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/17.gif" title="Germánské beranidlo"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/18.gif" title="Katapult"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/19.gif" title="Kmenový vůdce"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/20.gif" title="Osadník"></td></tr>
<tr align="center"><td>Počet</td><td width="8%"><?echo ($_POST["11"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["12"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["13"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["14"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["15"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["16"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["17"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["18"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["19"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["20"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td></tr>
<tr align="center"><td>Gálské jednotky</td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/21.gif" title="Falanx"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/22.gif" title="Šermíř"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/23.gif" title="Slídič"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/24.gif" title="Theutates Blesk"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/25.gif" title="Druid Jezdec"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/26.gif" title="Haeduan"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/27.gif" title="Dřevěné beranidlo"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/28.gif" title="Válečný katapult"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/29.gif" title="Náčelník"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/30.gif" title="Osadník"></td></tr>
<tr align="center"><td>Počet</td><td width="8%"><?echo ($_POST["21"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["22"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["23"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["24"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["25"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["26"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["27"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["28"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["29"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td><td width="8%"><?echo ($_POST["30"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td></tr></table>
<table border="1" cellspacing="0" width="700">
<tr align="center"><td width="50%">Level zdi</td><td><?echo ($_POST["31"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td></tr>
<tr align="center"><td>Produkce obilí</td><td><?echo ($_POST["32"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td></tr>
<tr align="center"><td>Sýpka</td><td><?echo ($_POST["33"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td></tr>
<tr align="center"><td>Pole na max. levelu</td><td><?echo ($_POST["34"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td></tr>
<tr align="center"><td>Čas uložení</td><td><?echo ($_POST["35"])?><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"></td></tr>
</table>
<br>
<form method="post" action="odeslani_dat.php">
        <input type="hidden" name="vesnice" value="<?echo $_POST["vesnice"]?>">
        <input type="Submit" name="Uložit" value="Uložit >>">
      </form>
<?
    }
  }
if ($BudemeZobrazovat):?>
</center>
<center>
<table border="1" cellspacing="0" width="700">
<tr align="center" valign="top"><td width="50%">Jméno vesnice:<form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="vesnice" type="text" size="20"></input></td><td>Jméno hráče:<br><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="jmeno" type="text" size="20"></input></td></tr></table>
<table border="1" cellspacing="0" width="700"><tr align="center"><td width="21%">Řimské jednotky</td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/1.gif" title="Legionář"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/2.gif" title="Pretorián"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/3.gif" title="Imperián"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/4.gif" title="Equites Legáti"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/5.gif" title="Equites Imperatoris"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/6.gif" title="Equites Caesaris"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/7.gif" title="Římanské beranidlo"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/8.gif" title="Ohnivý katapult"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/9.gif" title="Senátor"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/10.gif" title="Osadník"></td></tr>
<tr align="center"><td>Počet</td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="1" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="2" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="3" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="4" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="5" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="6" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="7" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="8" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="9" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="10" type="text" size="4"></input></td></tr>
<tr align="center"><td>Germánské jednotky</td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/11.gif" title="Pálkař"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/12.gif" title="Oštěpař"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/13.gif" title="Sekerník"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/14.gif" title="Zvěd"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/15.gif" title="Rytíř"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/16.gif" title="Teuton jezdec"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/17.gif" title="Germánské beranidlo"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/18.gif" title="Katapult"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/19.gif" title="Kmenový vůdce"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/20.gif" title="Osadník"></td></tr>
<tr align="center"><td>Počet</td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="11" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="12" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="13" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="14" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="15" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="16" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="17" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="18" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="19" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="20" type="text" size="4"></input></td></tr>
<tr align="center"><td>Gálské jednotky</td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/21.gif" title="Falanx"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/22.gif" title="Šermíř"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/23.gif" title="Slídič"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/24.gif" title="Theutates Blesk"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/25.gif" title="Druid Jezdec"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/26.gif" title="Haeduan"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/27.gif" title="Dřevěné beranidlo"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/28.gif" title="Válečný katapult"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/29.gif" title="Náčelník"></td><td width="8%"><img src="http://prometheus.kraja.cz/travian/travianpig/img/un/u/30.gif" title="Osadník"></td></tr>
<tr align="center"><td>Počet</td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="21" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="22" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="23" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="24" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="25" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="26" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="27" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="28" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="29" type="text" size="4"></input></td><td width="8%"><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="30" type="text" size="4"></input></td></tr></table>
<table border="1" cellspacing="0" width="700">
<tr align="center"><td width="50%">Level zdi</td><td><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="31" type="text" size="1"></input></td></tr>
<tr align="center"><td>Produkce obilí</td><td><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="32" type="text" size="4"></input></td></tr>
<tr align="center"><td>Sýpka "40562/80000"</td><td><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="33" type="text" size="12"></input></td></tr>
<tr align="center"><td>Pole na max. levelu "Ano/Ne"</td><td><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="34" type="text" size="2"></input></td></tr>
<tr align="center"><td>Čas uložení</td><td><form method="post" action="<?echo $_SERVER["PHP_SELF"]?>"><input name="35" type="text" size="18" value="<?echo ''. date('d.m.Y G:i:s') ."\n";?>"></input></td></tr>
</table>
<br>
    <input type="hidden" name="odeslano" value="true">
    <input type="Submit" name="odeslat" value=">> Náhled">
  </form>
</center>
</body>
<?endif;?>
</html>


<?
include 'pripojeni_k_allcoor_promenne.php';
mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD) or die("Nelze se připojit k MySQL: " . mysql_error());
mysql_select_db(SQL_DBNAME) or die("Nelze vybrat databázi: ". mysql_error());
$vysledek = mysql_query("insert into takticke_informace (vesnice) values ('".$_POST["vesnice"]."')");
?>
26.10.2007 00:54 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: PHP vs. form
Ako som už písal, použil by som funkciu isset().

Pri tých vstupných údajoch stačí jeden <form>. Ten bude obsahovať tabuľku.

Na testovanie vstupných parametrov by som urobil funkciu, ktorá otestuje, či je hodnota odoslaná a je to číslo (prípadne pri reťazcoch, či ten reťazec niečo obsahuje a či to má správnu dĺžku). Číselných parametrov tam je veľa, takže by som to vo formulári očísloval spojito a potom by som to kontroloval vo for cykle.

Ten náhľad sa bude musieť prerobiť, lebo pri stlačení tlačítka "Uložit >>" sa tie údaje neodošlú (kedže už nie sú v <input>). Pri testovaní by som dal do súboru odeslani_dat.php tento kód:
<?php
  print_r($_POST);
?>
MMMMMMMMM avatar 26.10.2007 08:03 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: PHP vs. form
podle mne je chyba tohle

< form method="post" action="< ?echo $_SERVER["PHP_SELF"]? >" >

vsude se ti tam opakuje. mel bys tam mit jen jeden tag form. zkusil jsem si ten skript spustit, ale neustale se odesila jen na $_SERVER["PHP_SELF"], nikdy ne na odesilani_dat.php
Pavel V. avatar 26.10.2007 08:31 Pavel V. | skóre: 22 | Pardubice
Rozbalit Rozbalit vše Re: PHP vs. form
Děkuji všem za rady budu na tom muset víc zapracovat a ne jen okopírovat strukturu z linuxsoftu.
rou7 avatar 26.10.2007 08:47 rou7 | skóre: 12 | Kutná Hora
Rozbalit Rozbalit vše Re: PHP vs. form
abych rekl pravdu tak kod je celkem silenej :]

k funkcnosti: nechapu formular ve formulari. mam pocit, ze s tim bude problem. kdyz ti neco nefunguje tak jako nejlepsi test je vypis hodnot po odeslani formulare kdyz pouzivas metodu post. nebo pro kontrolu zamenit post za get a uvidis co se ti odesila a jakej skript to zpracovava v url.
26.10.2007 09:00 Ash | skóre: 53
Rozbalit Rozbalit vše Re: PHP vs. form
Přečtěte si něco o HTML, konkrétně jak se do stránky vkládá formulář. Vidím asi miliónkrát tag form, přestože bych měl vidět cca jeden. Pokud jich tam chcete milión, čekal bych i milión tlačítek submit, protože každé odesílá jen jeden formulář.
Pavel V. avatar 26.10.2007 10:42 Pavel V. | skóre: 22 | Pardubice
Rozbalit Rozbalit vše Re: PHP vs. form
Opravdu za vše mohlo mnohonásobné uvedení řetězce:
< form method="post" action="< ?echo $_SERVER["PHP_SELF"]? >" >
Bezmyšlenkovitě jsem vše kopíroval a vkládal. Jediné jeho správné umístění je na řádku 47.
Děkuji mnohokrát všem.
Dalibor Smolík avatar 26.10.2007 10:46 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: PHP vs. form
příkazu PHP_SELF se zásadně vyhýbám, pokud to jde :-). Nejraději používám dva skripty - formulář a výsledný skript. Je to jednodušší.
Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.