Cześć, posiadam 5 podstron które umożliwiają mi zaplanowanie wyjazdu i kolejno się przez nie przechodzi:
1. skład.php
2. rodzaj_wyjazdu.php
tutaj mam listę opcji, która kieruje wybrano do:
a ) tyg4.php
b ) tyg5.php
c ) tyg6.php
na którejś z tych 3 wariantów(a,b,c) jest dopiero polecenie "insert into", a więc chodzi o to żeby te dane z poprzednich stron przechodziły do ostatniej tak aby, wszystko zapisało się pod jedno id.wyjazdu.
Pytanie: Jak to zrobić?
Skoro masz formularze to przekazuj dane metodą POST lub GET, a te dalej tą samą drogą tylko w tagach
<http://december.com/html/4/element/input.html type='hidden'>
Albo zapisać w sesji
<http://december.com/html/4/element/input.html type='hidden'>
Przekazujesz w polach hidden wartosci ktore chcesz zeby byly na innych stronach bądz przypisujesz wartosci dla konkretnej sesji i je wywolujesz gdzie chcesz.
Najlepiej zrobic to w jednym pliku na switch()
Jesli chcedsz to robic na kolejnych stronach to musisz to gdziesz przechowywac bo jesli przekarzesz z pliku pierwszego zmiennądo drugiego to bedzie ona widoczna ale juz na trzeciej nie. W drugim pliku musisz albo przypisac wartosc do sesji albo wsadzic w value pola hidden i przekazac to pole do pliku 3. Itd..
Wiec albo zrobisz to tak ze masz przykladowo 5 plików i przechodzisz pomiedzy nimi i przekazujesz dane albo tak jak tutaj np.
<?php $persons = http://www.php.net/array('Czesiek', 'Zenek', 'Tomek', 'Mariusz', 'Kaśka', 'Maryśka'); $typeOfTour = http://www.php.net/array('Narty', 'Mecz', 'Koncert', 'Wakacje', 'Obóz'); ( !http://www.php.net/isset ( $_POST['step'] ) ) ? $_POST['step'] = '0' : $_POST['step'] = $_POST['step']; if(http://www.php.net/isset($_POST['step'])) $step = $_POST['step']; switch($step): case('0'): http://www.php.net/echo '<h3>Krok 1. Wybierz osoby</h3>'; http://www.php.net/echo "<form action=" . $_SERVER['SCRIPT_NAME'] . " method=\"post\">"; http://www.php.net/echo "<input type=\"hidden\" name=\"step\" value=\"1\">"; while(list(, $val) = http://www.php.net/each($persons)) { http://www.php.net/echo $val . " <input type=\"checkbox\" name=\"tick1[]\" value=\"" . $val . "\"><br>"; } http://www.php.net/echo "<p><input type=\"submit\" value=\">>> Krok 2\"></form>"; break; case('1'); $content = $_POST['tick1']; if(!http://www.php.net/empty($content)) { http://www.php.net/echo '<h3>Krok 2. Wybrałeś osobę/osoby:</h3>'; foreach($content as $kl => $val) { http://www.php.net/echo $val . '<br>'; } http://www.php.net/echo '<p><h3>Wybierz rodzaj wyjazdu:</h3>'; http://www.php.net/echo "<form action=" . $_SERVER['SCRIPT_NAME'] . " method=\"post\">"; http://www.php.net/echo "<input type=\"hidden\" name=\"step\" value=\"2\">"; http://www.php.net/echo "<input type=\"hidden\" name=\"persons\" value=\"" . http://www.php.net/base64_encode(http://www.php.net/serialize($content)) . "\">"; while(list(, $val) = http://www.php.net/each($typeOfTour)) { http://www.php.net/echo $val . " <input type=\"checkbox\" name=\"tick2[]\" value=\"" . $val . "\"><br>"; } http://www.php.net/echo "<p><input type=\"submit\" value=\"Krok 3\"></form>"; }else{ http://www.php.net/header('location: ' . $_SERVER['SCRIPT_NAME']); http://www.php.net/exit; } break; case('2'): $content = $_POST['tick2']; if(!http://www.php.net/empty($content)) { $tick2 = $_POST['tick2']; $persons = http://www.php.net/unserialize(http://www.php.net/base64_decode($_POST['persons'])); http://www.php.net/echo '<h3>Krok 2. Wybrałeś osobę/osoby:</h3>'; foreach($persons as $kl => $val) { http://www.php.net/echo $val . '<br>'; } http://www.php.net/echo '<h3>Krok 2. Wybrałeś rodzaj wyjazdu:</h3>'; foreach($tick2 as $kl2 => $val2) { http://www.php.net/echo $val2 . '<br>'; } http://www.php.net/echo "<form action=" . $_SERVER['SCRIPT_NAME'] . " method=\"post\">"; http://www.php.net/echo "<input type=\"hidden\" name=\"step\" value=\"3\">"; http://www.php.net/echo "<input type=\"hidden\" name=\"persons2\" value=" . http://www.php.net/base64_encode(http://www.php.net/serialize($persons)) . ">"; http://www.php.net/echo "<input type=\"hidden\" name=\"tick3\" value=\"" . http://www.php.net/base64_encode(http://www.php.net/serialize($tick2)) . "\">"; http://www.php.net/echo "<p><input type=\"submit\" value=\"Zapisz dane\"></form>"; }else{ http://www.php.net/header('location: ' . $_SERVER['SCRIPT_NAME']); http://www.php.net/exit; } break; case('3'): http://www.php.net/echo '<h3>Dane do zapisu do bazy</h3>'; http://www.php.net/print_r(http://www.php.net/unserialize(http://www.php.net/base64_decode($_POST['persons2']))); http://www.php.net/echo '<br>'; http://www.php.net/print_r(http://www.php.net/unserialize(http://www.php.net/base64_decode($_POST['tick3']))); break; default: http://www.php.net/header('location: ' . $_SERVER['SCRIPT_NAME']); http://www.php.net/exit; endswitch; ?>
<?php http://www.php.net/session_start(); $_SESSION['prelegent']=$_POST['prelegent']; $_SESSION['asystent']=$_POST['asystent']; $_SESSION['asystent1']=$_POST['asystent1']; $_SESSION['prelegent2']=$_POST['asystent2']; $_SESSION['prelegent3']=$_POST['asystent3']; $_SESSION['prelegent4']=$_POST['asystent4']; $_SESSION['kierowca']=$_POST['kierowca']; ?>
<?php http://www.php.net/session_start(); http://www.php.net/echo $_SESSION['prelegent']; // itd ?>
A nie lepiej zrobić insert w 1 pliku i kolejne to już update w bazie danych i pare warunków do usuwania nie dokończonych rezerwacji itp
<?php $persons = http://www.php.net/array('Czesiek', 'Zenek', 'Tomek', 'Mariusz', 'Kaśka', 'Maryśka'); $typeOfTour = http://www.php.net/array('Narty', 'Mecz', 'Koncert', 'Wakacje', 'Obóz'); ( !http://www.php.net/isset ( $_POST['step'] ) ) ? $_POST['step'] = '0' : $_POST['step'] = $_POST['step']; if(http://www.php.net/isset($_POST['step'])) $step = $_POST['step']; switch($step): case('0'): http://www.php.net/echo '<h3>Krok 1. Wybierz osoby</h3>'; http://www.php.net/echo "<form action=" . $_SERVER['SCRIPT_NAME'] . " method=\"post\">"; http://www.php.net/echo "<input type=\"hidden\" name=\"step\" value=\"1\">"; while(list(, $val) = http://www.php.net/each($persons)) { http://www.php.net/echo $val . " <input type=\"checkbox\" name=\"tick1[]\" value=\"" . $val . "\"><br>"; } http://www.php.net/echo "<p><input type=\"submit\" value=\">>> Krok 2\"></form>"; break; case('1'); $content = $_POST['tick1']; if(!http://www.php.net/empty($content)) { http://www.php.net/echo '<h3>Krok 2. Wybrałeś osobę/osoby:</h3>'; foreach($content as $kl => $val) { http://www.php.net/echo $val . '<br>'; } http://www.php.net/echo '<p><h3>Wybierz rodzaj wyjazdu:</h3>'; http://www.php.net/echo "<form action=" . $_SERVER['SCRIPT_NAME'] . " method=\"post\">"; http://www.php.net/echo "<input type=\"hidden\" name=\"step\" value=\"2\">"; http://www.php.net/echo "<input type=\"hidden\" name=\"persons\" value=\"" . http://www.php.net/base64_encode(http://www.php.net/serialize($content)) . "\">"; while(list(, $val) = http://www.php.net/each($typeOfTour)) { http://www.php.net/echo $val . " <input type=\"checkbox\" name=\"tick2[]\" value=\"" . $val . "\"><br>"; } http://www.php.net/echo "<p><input type=\"submit\" value=\"Krok 3\"></form>"; }else{ http://www.php.net/header('location: ' . $_SERVER['SCRIPT_NAME']); http://www.php.net/exit; } break; case('2'): $content = $_POST['tick2']; if(!http://www.php.net/empty($content)) { $tick2 = $_POST['tick2']; $persons = http://www.php.net/unserialize(http://www.php.net/base64_decode($_POST['persons'])); http://www.php.net/echo '<h3>Krok 2. Wybrałeś osobę/osoby:</h3>'; foreach($persons as $kl => $val) { http://www.php.net/echo $val . '<br>'; } http://www.php.net/echo '<h3>Krok 2. Wybrałeś rodzaj wyjazdu:</h3>'; foreach($tick2 as $kl2 => $val2) { http://www.php.net/echo $val2 . '<br>'; } http://www.php.net/echo "<form action=" . $_SERVER['SCRIPT_NAME'] . " method=\"post\">"; http://www.php.net/echo "<input type=\"hidden\" name=\"step\" value=\"3\">"; http://www.php.net/echo "<input type=\"hidden\" name=\"persons2\" value=" . http://www.php.net/base64_encode(http://www.php.net/serialize($persons)) . ">"; http://www.php.net/echo "<input type=\"hidden\" name=\"tick3\" value=\"" . http://www.php.net/base64_encode(http://www.php.net/serialize($tick2)) . "\">"; http://www.php.net/echo "<p><input type=\"submit\" value=\"Zapisz dane\"></form>"; }else{ http://www.php.net/header('location: ' . $_SERVER['SCRIPT_NAME']); http://www.php.net/exit; } break; case('3'): http://www.php.net/echo '<h3>Dane do zapisu do bazy</h3>'; http://www.php.net/print_r(http://www.php.net/unserialize(http://www.php.net/base64_decode($_POST['persons2']))); http://www.php.net/echo '<br>'; http://www.php.net/print_r(http://www.php.net/unserialize(http://www.php.net/base64_decode($_POST['tick3']))); break; default: http://www.php.net/header('location: ' . $_SERVER['SCRIPT_NAME']); http://www.php.net/exit; endswitch; ?>
<?php http://www.php.net/session_start(); $_SESSION['prelegent']=$_POST['prelegent']; $_SESSION['asystent']=$_POST['asystent']; $_SESSION['asystent1']=$_POST['asystent1']; $_SESSION['prelegent2']=$_POST['asystent2']; $_SESSION['prelegent3']=$_POST['asystent3']; $_SESSION['prelegent4']=$_POST['asystent4']; $_SESSION['kierowca']=$_POST['kierowca']; ?>
<?php http://www.php.net/session_start(); http://www.php.net/echo $_SESSION['prelegent']; // itd ?>
<?php http://www.php.net/session_start(); //echo $_SESSION['id']; //$_SESSION['msg']; include("dbconnection.php"); include("checklogin.php"); check_login(); if(http://www.php.net/isset($_POST['send'])) { $miejscowosc=$_POST['miejscowosc']; $data=$_POST['data']; $hotel=$_POST['hotel']; $miejscowosc=$_POST['miejscowosc1']; $data=$_POST['data1']; $hotel=$_POST['hotel1']; $miejscowosc=$_POST['miejscowosc2']; $data=$_POST['data2']; $hotel=$_POST['hotel2']; $a=mysqli_query($con,"insert into ticket (prelegent,asystent,asystent1,asystent2,asystent3,asystent4,kierowca,miejsco
wosc,data,hotel,miejscowosc1,data1,hotel1,miejscowosc2,data2,hotel2) values($prelegent', '$asystent', '$asystent1', '$asystent2', '$asystent3', '$asystent4', '$kierowca', '$miejscowosc', '$data', '$hotel', '$miejscowosc1', '$data1', '$hotel1', '$miejscowosc2', '$data2', '$hotel2')"); if($a) { } } ?>
Operujesz sesjami nie tablicami $_POST. Wartosci z tablic przypasales dlakazdej sesji. Teraz tylko je wywolujesz.
Plik 2
$_SESSION['prelegent']=$_POST['prelegent']; $_SESSION['asystent']=$_POST['asystent']; $_SESSION['asystent1']=$_POST['asystent1']; $_SESSION['prelegent2']=$_POST['asystent2']; $_SESSION['prelegent3']=$_POST['asystent3']; $_SESSION['prelegent4']=$_POST['asystent4']; $_SESSION['kierowca']=$_POST['kierowca'];
$prelegent = $_SESSION['prelegent']; $asystent = $_SESSION['asystent']; // itd
values($prelegent', '$asystent', '$asystent1', '$asystent2', '$asystent3', '$asystent4', '$kierowca', '$miejscowosc', '$data', '$hotel', '$miejscowosc1', '$data1', '$hotel1', '$miejscowosc2', '$data2', '$hotel2')");
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)