Hallo
ich habe es in php gesetzt, weil ich es eigentlich nur mit php
realisieren möchte (fortrangig) da nicht jeder javascript
aktiviert hat.
Ok, da hast du recht. Der Nachteil einer Umsetzung ganz ohne Javascript ist, dass nach jedem Klick af ‚Weiter‘ oder ‚nächste Seite‘ die ganze Seite neu vom Server geladen werden muss.
Ich weiß ja nicht wie gut du dich in PHP auskennst, in den FAQ zum Brett PHP gibt viele hilfreiche Hinweise und Links.
So ungefähr könnte dass Script dann zB aussehen:
<?php // Anzahl der Formularseiten<br />define('SEITENANZAHL',3);
function schrift($text)
{
global $form\_page,$active\_page;
if ($form\_page == $active\_page) echo $text;
}
function inputfield($name,$type,$value = '')
{
global $form\_page,$active\_page;
if (($type == 'text') or ($type == 'password'))
$ret = '<input type="'.(($active_page == $form_page) ? $type : 'hidden').'" name="'.$name.'" value="'.htmlspecialchars((isset($_POST[$name])) ? $_POST[$name] : $value).'">';
elseif (($type == 'radio') or ($type == 'checkbox'))
{
if (!isset($\_POST[$name]))
$\_POST[$name]='';
if ($active\_page == $form\_page)
$ret = '';
elseif ($\_POST[$name] == $value)
$ret = '';
else
$ret = '';
}
elseif ($type == 'textarea')
{
if ($active\_page == $form\_page)
$ret = ''.htmlspecialchars((isset($\_POST[$name])) ? $\_POST[$name] : $value).'';
else
$ret = '';
}
else
$ret = 'Unbekannter Eingabetyp';
echo $ret;
}
// ------------- Hauptprogramm ---------------
// Alle Daten ausgeben, wenn auf 'absenden' geklickt
if (isset($\_POST['senden']))
{ echo ' '; print\_r($\_POST); echo ' '; }
else
{
// Herausfinden, welche Seite jetzt angezeigt werden soll
if ((!isset($\_POST['oldpage'])) or (!ctype\_digit($\_POST['oldpage'])) or ($\_POST['oldpage'] SEITENANZAHL))
$\_POST['oldpage'] = '1';
if (isset($\_POST['vor']))
$active\_page = min($\_POST['oldpage'] + 1, SEITENANZAHL);
elseif (isset($\_POST['zurueck']))
$active\_page = max($\_POST['oldpage'] - 1, 1);
else
$active\_page = $\_POST['oldpage'];
// Formular ausgeben
echo '
';
echo 'Seite '.$active_page."
\n";
// Seite 1
$form_page = 1;
schrift('Vor- und Nachname: ');
inputfield(‚vorname‘, ‚text‘);
inputfield(‚nachname‘, ‚text‘);
schrift("
\n");
schrift('Alter: ');
inputfield(‚alter‘, ‚text‘);
schrift("
\n");
schrift('Alter: ');
inputfield(‚geschlecht‘, ‚radio‘, ‚m‘);
schrift(‚männlich‘);
inputfield(‚geschlecht‘, ‚radio‘, ‚w‘);
schrift(‚weiblich‘);
schrift("
\n");
// Seite 2
$form_page = 2;
schrift('Straße und Hausnummer: ');
inputfield(‚strasse‘, ‚text‘);
inputfield(‚hausnr‘, ‚text‘);
schrift("
\n");
schrift('PLZ und Ort: ');
inputfield(‚ort‘, ‚text‘);
inputfield(‚ort‘, ‚text‘);
schrift("
\n");
// Seite 3
$form_page = 3;
schrift('Hobbys: ');
inputfield(‚hobby1‘, ‚text‘);
schrift("
\n");
inputfield(‚hobby2‘, ‚text‘);
schrift("
\n");
inputfield(‚hobby3‘, ‚text‘);
schrift("
\n");
schrift('Sonstiges: ');
inputfield(‚sonstiges‘, ‚textarea‘);
schrift("
\n");
// Buttons ausgeben
echo ‚‘;
echo ‚‘;
echo ‚‘;
echo ‚‘;
}
?>
Gruẞ Johannes