Mailinglisten-Archive |
Hallo Jörg, leider fehlt mir der Rest der Threads von gestern, da ich den kompletten nur daheim auf'm PC habe. Von Haus aus bin ja ein gutmütiges Tier, aber irgendwie kann man deine Hartnäckigkeit auch als Lernresistenz deuten. Sicher, wir alle haben mal klein angefangen und auch _ich_ habe mal danach gefragt, Variablen umzulenken ohne ein Formular zu verwenden... Mittlerweile, IMHO, habe ich es praktikabel glöst. Die PHP-ML ist eine sehr gute und vor allem auch schnelle Hilfe, eben weil viele daran teilnehmen und es auch mehrere Betrachtungswinkel für ein Problem geben kann. Aber alle haben hier einen gemeinsamen Nenner: Wissen über PHP, HTML und client- bzw. serverseitige Skripte und deren Verarbeitung. Ich hänge dir unten an die Mail mal drei Quelltexte an, die du bitte so nennst wie angegeben. Du musst nur die Pfadangaben in den header()-Zeilen anpassen. Da Template ist nur da, weil ich keine Lust hatte, es als Variable zu schreiben... Befasse dich erstmal mit den simplen Sachen und dann meintewegen mit Templates oder Klassen usw. -- Mit freundlichen Gruessen / Kind regards Steffen Kother eingabe.php ----------- <?php // begin of file eingabe.php $vars_set = 0; $name = ''; $vorname = ''; $email = ''; if (!empty($_REQUEST['edit_from_session']) && $_REQUEST['edit_from_session'] == true) { session_start(); if (!empty($_SESSION['formulardaten'])) { if (!empty($_SESSION['formulardaten']['name'])) { $name = $_SESSION['formulardaten']['name']; } if (!empty($_SESSION['formulardaten']['vorname'])) { $vorname = $_SESSION['formulardaten']['vorname']; } if (!empty($_SESSION['formulardaten']['email'])) { $email = $_SESSION['formulardaten']['email']; } session_destroy(); $vars_set = 1; } } if (!$vars_set && !empty($_REQUEST['edit_from_get']) && $_REQUEST['edit_from_get'] == true) { if (!empty($_GET['name'])) { $name = $_GET['name']; } if (!empty($_GET['vorname'])) { $vorname = $_GET['vorname']; } if (!empty($_GET['email'])) { $email = $_GET['email']; } $vars_set = 1; } if (!$vars_set && !empty($_REQUEST['edit_from_post']) && $_REQUEST['edit_from_post'] == true) { if (!empty($_POST['hidden_name'])) { $name = $_POST['hidden_name']; } if (!empty($_POST['hidden_vorname'])) { $vorname = $_POST['hidden_vorname']; } if (!empty($_POST['hidden_email'])) { $email = $_POST['hidden_email']; } } ?> <html> <head> <title>Eingabe</title> </head> <body> <form action="what_to_do.php" method="post"> Name: <input type="text" name="name" value="<?php echo $name; ?>" /> Vorname: <input type="text" name="vorname" value="<?php echo $vorname; ?>" /> Email: <input type="text" name="email" value="<?php echo $email; ?>" /> <br /> <input type="submit" name="senden" value="Vorschau" /> <input type="submit" name="senden" value="Speichern in DB" /> </form> </body> </html> <?php // end of file eingabe.php ?> what_to_do.php -------------- <?php // begin of file what_to_do.php if (!empty($_POST['senden']) && $_POST['senden'] == 'Vorschau') { $template = file_get_contents('vorschau.tpl'); $action = $_SERVER['PHP_SELF']; $method = 'post'; $content = ''; foreach ($_POST as $Key => $Value) { if ($Key != 'senden') { $content.= '<input type="text" name="'.$Key.'" value="'.$Value.'" />'; $content.= '<input type="hidden" name="hidden_'.$Key.'" value="'.$Value.'" />'."\r\n"; } } $template = str_replace('{action}', $action, $template); $template = str_replace('{method}', $method, $template); $template = str_replace('{content}', $content, $template); echo $template; exit; } if ((!empty($_POST['senden']) && $_POST['senden'] == 'Speichern in DB') || !empty($_POST['edit_from_session']) || !empty($_POST['edit_from_get'])) { if (!empty($_POST['senden'])) { // Verarbeitung für das Speichern in der Datenbank exit; } if (!empty($_POST['edit_from_session'])) { session_start(); foreach ($_POST as $Key => $Value) { if ($Key != 'edit_from_session') { $_SESSION['formulardaten'][$Key] = $Value; } } header("Location: http://nbkother/rekl_v2_test/tmp/eingabe.php?edit_from_session=true"); exit; } if (!empty($_POST['edit_from_get'])) { foreach ($_POST as $Key => $Value) { $QueryStringArray[] = urlencode($Key).'='.urlencode($Value); } $QueryString = join('&', $QueryStringArray); header("Location: http://nbkother/rekl_v2_test/tmp/eingabe.php?".$QueryString); exit; } } // end of file what_to_do.php ?> vorschau.tpl ------------ <html> <head> <title>Vorschau</title> <script language="javascript"> var what; function change_action(what) { if (what == 'p') { document.forms[0].action = 'eingabe.php'; } else { document.forms[0].action = 'what_to_do.php'; } } </script> </head> <body> <form action="{action}" method="{method}"> {content} <br /> <input type="submit" name="edit_from_session" value="Edit mit $_Session" onclick="change_action('s')" /> <input type="submit" name="edit_from_get" value="Edit mit $_GET" onclick="change_action('g')" /> <input type="submit" name="edit_from_post" value="Edit mit $_POST" onclick="change_action('p')" /> <input type="submit" name="senden" value="Speichern in DB" onclick="change_action('d')" /> </form> </body> </html>
php::bar PHP Wiki - Listenarchive