Už jsem na to přišel. Je to moje chyba. Zapomněl jsem v odesílacím formuláři přidat závorky [$id], proto se to nebralo jako řada, ale jako name1, name2 apod...
Příspěvky odeslané z IP adresy 212.47.15.–
Prosím o radu a schovívavost. S řadami array nejsem úplně kamarád a popravdě jim moc nerozumím, i když zkouším pročítat co se dá... Mám formulář, kde se zadávají proměnné osob a dny - podle čeho se vypočítávají další hodnoty. První stránka - zadám počet osob a dny. Na druhé stránce mi vypočítá potřebná data a vypíše všechny tyto hodnoty + je zde formulář s dopňujícíma informacema (například jméno). To by mělo jít na další (konečnou stránku), kde by se měly všechny tyto hodnoty zobrazit (jde mi tedy především o počet osob a dní z úvodní stránky). Tyto hodnoty se mi ale nedaří předat až na tu 3 stránku:
[pre]
<?php include "db.php"; ?>
<?php // KONEČNÝ VÝSTUP
if(isset($_POST["objednat"])) {
if ($_POST['posob']!=0){
foreach($_POST['posob'] as $id => $pocet_osob)
{
if($pocet_osob!=0)
{
$vysledek = mysql_query("SELECT * FROM cenik_ponor WHERE id=$id ORDER BY poradi");
while ($zaznam = mysql_fetch_array($vysledek)){$cena=$zaznam['cena'];$text=$zaznam['text'];}
$ponor_suma[$id]=$pocet_osob*$cena*$_POST['dni'][$id];
echo $text.", pocet osob: ".$pocet_osob.", pocet dni: ".$_POST['dni'][$id].", cena: ".$ponor_suma[$id]."<br>";
}
}}else {echo"chyba";}
} ?>
<?php // KALKULACE
if(isset($_POST["odeslat"])) {
if ($_POST['posob']!=0){
foreach($_POST['posob'] as $id => $pocet_osob)
{
if($pocet_osob!=0)
{
$vysledek = mysql_query("SELECT * FROM cenik_ponor WHERE id=$id ORDER BY poradi");
while ($zaznam = mysql_fetch_array($vysledek)){$cena=$zaznam['cena'];$text=$zaznam['text'];}
$ponor_suma[$id]=$pocet_osob*$cena*$_POST['dni'][$id];
echo $text.", pocet osob: ".$pocet_osob.", pocet dni: ".$_POST['dni'][$id].", cena: ".$ponor_suma[$id]."<br>";
}
}}
if ($ponor_suma!=0)
{echo "CELKEM: ".array_sum($ponor_suma);}
?>
<form id="formular" action="" method="post" onsubmit="return test()">
<?php // FORMULÁŘ 2
echo "jmeno: <input type='text' name='jmeno'>";
if ($_POST['posob']!=0){
foreach($_POST['posob'] as $id => $pocet_osob)
{
if($pocet_osob!=0)
{
$pocet_dni = $_POST['dni'][$id];
echo "<input type='hidden' name='posob".$id."' value='".$pocet_osob."'> <input type='hidden' name='dni".$id."' value='".$pocet_dni."'><br>";
}
}}
?>
<input type="submit" name="objednat" value="objednat">
</form>
<?php }
else { // FORMULÁŘ 1
?>
<form id="formular" action="" method="post">
<?php
$opt_dni=$opt_osob='';
for ($k=0;$k<15;$k++) $opt_osob.="<option value='".$k."'>".$k."</option>";
for ($k=1;$k<15;$k++) $opt_dni.="<option value='".$k."'>".$k."</option>";
$vysledek = mysql_query("SELECT * FROM cenik_ponor WHERE cena!=0 ORDER BY poradi");
while ($zaznam = mysql_fetch_array($vysledek))
{echo $zaznam['text']. "<select name='posob[".$zaznam['id']."]'>".$opt_osob."</select> dní: <select name='dni[".$zaznam['id']."]'>".$opt_dni."</select><br>";}
?>
<input type="submit" name="odeslat" value="Spočítat">
</form>
<?php } ?>
[/pre]