Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Stronicowanie w pasku adresu
Forum PHP.pl > Forum > PHP
milman
Witam,
mam za zadanie zrobić test egzaminu zawodowego ONLINE. Chciałbym się dowiedzieć, co trzeba zrobić, aby wybraną odpowiedź zapamiętało, oraz, żeby w pasku adresu było stronicowanie, czyli:

http://online/?pyt=1
http://online/?pyt=2

nie mam pojęcia jak to się nazywa oraz jak to zrobić.

Zrobiłem tyle:
CODE
<html>
<head>
<title> &raquo; Oficjalny test na informatyka 2010</title>
</head>
<body style="margin: 50px">
<center>


<font size="6" face="Myriad Pro" color="#000">
Egzamin zawodowy Technik Informatyk 2010 czerwiec (wersja X)
</font><br /><br />
<font size="6" face="Verdana" color="#000">
<table>
<tr><td>
<b>Pytanie 1.</b><br /> Które złącze płyty głównej komputera służy do zainstalowania przedstawionej na zdjęciu karty graficznej?<br />
</td></tr>
<tr><td>
<form action="start.php" method="POST">
</td></tr>
<tr><td style="padding-left:120px;">
<input type="radio" name="odp" value="0" id="false1"><label for="false1"> A. ISA </label><br />
<input type="radio" name="odp" value="0" id="false2"><label for="false2"> B. PCI</label><br />
<input type="radio" name="odp" value="0" id="false3"><label for="false3"> C. AGP</label><br />
<input type="radio" name="odp" value="1" id="true"><label for="true"> D. PCI-E</label><br /></td>
<td style="padding: 20px;" valign="left">
<img src="img/obraz1.jpg" width="70%" height="70%"></td></tr>
<tr align="center"><td>
<input type="reset" name="reset" value="Czyść">&nbsp;&nbsp;&nbsp;<input type="submit" name="2" value="Dalej">
</td></tr>
</table>
</form>
</font>

</center>
</body>
</html>



Z góry dziękuję za pomoc.
kreciko
Robisz jeden wielki skrypt, który na samym początku pobierze wartość zmiennej $_GET['pyt']. Robisz switch'a
switch($_GET['pyt']){
case 1:
<form action="twojplik.php?pyt=2>
....
</form>
case 2:
...... tutaj musisz obrobić i obsłużyć dane z tego wyżej formularza.....
<form action="twojplik.php?pyt=3>
....
</form>
case 3:
....
}
lukaskolista
stronnicowanie roisz tak, jak napisal kreciko, a odpowiedzi mozesz zapisywac w sesji. Drugi sposob to napisanie takiego formularza JS, stronnicowanie przez skrypt JS i wysylanie go pozniej w calosci. Nie wiem, czy nie byloby to nawet latwiejsze.
milman
Zrobiłem jak mówisz, ale jak wpiszę /start.php?pyt=1 to jest pytanie 1 i 2, a jak wpiszę /start.php?pyt=2 mam pytanie 2,3 i pewnie będzie tak ciągle w koło macieju. Dlaczego tak się dzieje co zrobiłem źle?


Kod
<?php
$_GET["pyt"];
switch($_GET["pyt"]){
case 1:
echo '
<form action="start.php?pyt=1" method="GET">
<table>
<tr><td>
<img src="img/img1.jpg" width="70%" height="70%">
</td></tr>
</td></tr>
<tr><td style="padding-left:120px;">
<input type="radio" name="odp" value="0" id="false1"><label for="false1"> A. ISA </label><br />
<input type="radio" name="odp" value="0" id="false2"><label for="false2"> B. PCI</label><br />
<input type="radio" name="odp" value="0" id="false3"><label for="false3"> C. AGP</label><br />
<input type="radio" name="odp" value="1" id="true"><label for="true"> D. PCI-E</label><br /></td>
<td style="padding: 20px;" valign="left"></td></tr>
<tr align="center"><td>
<input type="reset" name="reset" value="Czyść">   <input type="submit" name="2" value="Dalej">
</form>
</td></tr>
</table>
';



case 2:
echo '
<form action="start.php?pyt=2" method="GET">
<table>
<tr><td>
<img src="img/img1.jpg" width="70%" height="70%">
</td></tr>
</td></tr>
<tr><td style="padding-left:120px;">
<input type="radio" name="odp" value="0" id="false1"><label for="false1"> A. ISAAAAAAAAAAAAAA </label><br />
<input type="radio" name="odp" value="0" id="false2"><label for="false2"> B. PCI</label><br />
<input type="radio" name="odp" value="0" id="false3"><label for="false3"> C. AGP</label><br />
<input type="radio" name="odp" value="1" id="true"><label for="true"> D. PCI-E</label><br /></td>
<td style="padding: 20px;" valign="left"></td></tr>
<tr align="center"><td>
<input type="reset" name="reset" value="Czyść">   <input type="submit" name="2" value="Dalej">
</form>
</td></tr>
</table>
';




case 3:
echo '
<form action="start.php?pyt=3" method="GET">
<table>
<tr><td>
<img src="img/img1.jpg" width="70%" height="70%">
</td></tr>
</td></tr>
<tr><td style="padding-left:120px;">
<input type="radio" name="odp" value="0" id="false1"><label for="false1"> A. ISAAAAAAAAAAAAAB </label><br />
<input type="radio" name="odp" value="0" id="false2"><label for="false2"> B. PCI</label><br />
<input type="radio" name="odp" value="0" id="false3"><label for="false3"> C. AGP</label><br />
<input type="radio" name="odp" value="1" id="true"><label for="true"> D. PCI-E</label><br /></td>
<td style="padding: 20px;" valign="left"></td></tr>
<tr align="center"><td>
<input type="reset" name="reset" value="Czyść">   <input type="submit" name="2" value="Dalej">
</form>
</td></tr>
</table>
';
}
kreciko
Nie doczytałeś moje posta. Dla case 2, musisz dać <form action="start?pyt=3"> Dla case 3, <form action="start?pyt=4">
Ja bym do tego użył metody POST.
oscar17
Po każdym 'case' musisz dać break;

poczytaj tu:
http://php.net/manual/en/control-structures.switch.php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.