URL: https://www.overclockers.at/coding-stuff/php_formulare_aktueller_seite_auslesen_204259/page_1 - zur Vollversion wechseln!
Hi.
Ich würde gerne irgendwie _bevor_ die nächste Site aufgerufen wird, ein Formular abspeichern.
Problem ist dieses ich hab eine seite zum Rechnung erstellen. Da möchte ich, dass sowohl Artikel_Zahl, als auch ne Checkbox ob Name oder Anonym übernommen werden.
Machen würde ich das gerne mit ner Session, aber wenn ich es am Anfang der nächsten Seite aufrufe, dann wird es jedes mal beim neuladen überschrieben. (Auf Seite 2 ist auch eine ArtikelSuche)
Also direkt auf der ersten Seite, bevor die zweite aufgerufen wird, in eine Session speichern, was aber irgendwie Probleme macht
Quellcode ist dieser hier:
Und auf der nächsten Site wird dann ein leeres Feld ausgegeben..
Seite 1:
Code: PHP<?php // Session Starten session_start(); echo "<html>"; echo "<head>"; echo "<style type=\"text/css\">"; echo "a:link { text-decoration:none; font-weight:bold; color:#e00000; }"; echo "a:visited { text-decoration:none; font-weight:bold; color:#800000; }"; echo "a:hover { text-decoration:none; font-weight:bold; background-color:#ff0; }"; echo "a:active { text-decoration:none; font-weight:bold; background-color:#cff; }"; echo "</style>"; echo "</head>"; echo "<body bgcolor=\"white\">"; echo "<h3>Willkommen, im internen Service</h3>"; echo "<a href=\"index.php\">Eine Rechnung erstellen</a><br>"; echo "<a href=\"Artikel_Browser.php\">Artikel suchen</a><br>"; echo "<form action=\"Kunden_Rechnung.php\" method=\"post\">"; echo "<a href=\"Kunde.php\">Kunden suchen</a><br> <br>"; echo "Kundendetails : <br>"; echo "<input type=\"checkbox\" name=\"Name\" > Auf Name"; echo "<input type=\"checkbox\" name=\"Anonym\" > Anonym <br> <br>"; echo "ArtikelZahl:<br>"; echo "<input name=\"Artikel_Zahl\" type=\"text\" size=\"30\" maxlength=\"30\" value=\"$Artikel_Zahl\"><br>"; $_SESSION['Anzahl'] = $_POST[Artikel_Zahl]; echo "<input type=\"submit\">"; echo "</form>"; echo "<br><br>"; echo "</body></html>"; $_SESSION['vorname'] = 'Caroline'; $_SESSION['alter'] = 27; $_SESSION['zeit'] = time(); ?>
Ist jetzt nur der relevante Teil von der zweiten. Sonst wird alles ausgegebenCode: PHP<?php echo "<input type=\"hidden\" name=\"PHPSESSID\" value\"...\">"; echo 'Willkommen auf Seite 2<br>'; echo $_SESSION['vorname']."<br>"; echo $_SESSION['alter']."<br>"; echo $_SESSION['Anzahl']."<br>"; echo date('d.m.Y H:i:s', $_SESSION['zeit'])."<br>";
@ schreibweise generell:
wenn fast jede Zeile keine php-Elemente beinhaltet, dann würrd ich gaaanz am Anfang den php-Tag zu machen und an den vereinzelten Fällen <? php-code ?> einfügen, Zeile 28 zb
übergib die Sachen nicht mit der session sondern über post oder get, besser ersteres (hast du aber eh schon eingestellt im form-tag)
die Vars bekommst auf der 2. seite mit $_POST['vorname']
@Schreibweise:Zitat von fatmike182@ schreibweise generell:
wenn fast jede Zeile keine php-Elemente beinhaltet, dann würrd ich gaaanz am Anfang den php-Tag zu machen und an den vereinzelten Fällen <? php-code ?> einfügen, Zeile 28 zb
übergib die Sachen nicht mit der session sondern über post oder get, besser ersteres (hast du aber eh schon eingestellt im form-tag)
die Vars bekommst auf der 2. seite mit $_POST['vorname']
na, ich checks noch nicht...
wenn auf der 2. Seite NUR die Ausgabe ist, dann ist die Datei imho unnötig.
Ausgaben kannst du auch auf der 1. Seite machen:
ins form gib ein hidden-feld mit irgendeinem Namen dazu & dann frag am Anfang des Dokuments ab, ob dieses hidden-Feld übergeben wurde (also, ob das form abgesendet wurde):
Code: PHPif (array_key_exists('hiddenfeldname',$_POST)) { echo ... // inhalte ausgeben } else { <form> </form> }
du mußt auch auf der 2. seite die session starten. sonst hast natürlich die session-vars nicht.
Wenn ich das mache, dann zeigt er mirZitat von kleinerChemikerdu mußt auch auf der 2. seite die session starten. sonst hast natürlich die session-vars nicht.
wo hast du die session eingetragen?
gehört sowas nicht in den header oder so oder ist das egal?
nun ja, das session_start() ist in dem fall elementar. ohne die session zu starten, darfst du dir nicht erwarten auch die session variablen zu haben. session_start() sollte auch möglichst am anfang sein, auf alle fälle vor jeder ausgabe, dann kommt auch der fehler nicht.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025