Wie kann ich Formular-Daten nach einer Überprüfung per >>POST<< weitergeben?

Die Datenstruktur ist ganz einfach, denn die Daten müssen nur mit der Sitzungs-ID assoziiert werden. Dies könnte mit folgender MySQL-Tabellenstruktur realisiert werden:
Code:
sessionid	CHAR(32)
name		VARCHAR(32)
value		VARCHAR(255)
expiration	DATETIME
 
Hallo,

das mit Mysql könnte so aussehen.

PHP:
                                 mysql_query("INSERT INTO TABELLE
     			VALUES ('".$_POST['Seesion_ID']."',
 						 '".$_POST['anrede']."',
 					 '".$_POST['vorname']."',
 					 '".$_POST['nachname']."',
 					 '".$_POST['strasse']."',
 					 '".$_POST['ort']."',
 					 '".$_POST['plz']."',
 					 '".$_POST['email']."',
 					 '".$_POST['passwort']."')");

Gruß

RS9999;)
 
aha.
Und wie schaff ich das, dass er beim einen Formular etwas in die Zeile einträgt und beim nächsten keine neue Zeile öffnet?
 
Du suchst in der Tabelle nach einem Eintrag mit der Session-ID, und wenn es so eine gibt, dann weisst du, dass die Daten schon eingetragen wurden. Ansonsten kommen sie neu in die Tabelle rein.
 
Das Prinzip ist doch eigentlich simpel: Jegliche per Post-Methode übergebene Argumente werden in der Datenbank zusammen mit der Sitzungs-ID gespeichert. Am Ende werden alle Daten, die mit der Sitzungs-ID assoziiert sind, aus der Datenbank geholt und schließlich weiterverarbeitet. Wie dies zu realisieren ist, solltest du selbst herausfinden können, sonst solltest du lieber die Finger von PHP lassen.
 
$session = session_id()

Liefert die aktuelle Session-ID oder
öffnet die Session mit einer übergebenen ID.
Wird auf der ersten Seite angegeben.
----------------------------------------------------------------------------------------------
Im Formular wird dann als verstecktes Feld die "session_id() " in die Datenbank eingetragen.

Formular:

<input type="hidden" name="Session" value="<? echo $session ?>">
----------------------------------------------------------------------------------------------

Beim senden des Formular werden diese Daten dann in die DB eingetragen.

mysql_query("INSERT INTO TABELLE VALUES ('".$_POST['Seesion_ID']."',..............................

---------------------------------------------------------------------------------------------

Auf der nächsten seite werden die Daten dann wieder ausgelesen.

$result = mysql_query("SELECT * FROM Tabellenname WHERE Session= '$session' ");

---------------------------------------------------------------------------------------------

http://www.dynamicwebpages.de/php/function.session-id.php


Gruß


RS9999
 
Die Übergabe der Sitzungs-ID über das Formular halte ich für falsch. Denn wenn der Benutzer nicht korrekt anhand der Sitzungs-ID identifiziert werden kann, wenn also eine neue Sitzungs-ID generiert wird, werden die Daten nicht kontinuierlich mit derselben Sitzungs-ID assoziiert, was wiederum zu Inkosistenzen führt.
 
Hallo nochmals,

Gehe davon aus Gumbo meint diese Variante. Diese ist besser und auch sicherer!


################################################Datei "Seite1.php"#############################################
PHP:
<?php
session_start();
$_POST['sess'] = session_id();
?>
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Session starten</title>
</head>
 
<body bgcolor="#ffffff">
<form action="neue_seite.php?PHPSID=<?php echo $_POST['sess'] ?>" method="post" name="Formular">
<input type="submit" name="senden">
</form>
</body>
</html>
#################################################Datei "neue_seite.php"#########################################
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
<html>
 
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
 
<title>auslesen der daten aus Session</title>
</head>
 
<body bgcolor="#ffffff">
<?php echo $_GET['PHPSID'] ?>
</body>
 
</html>
################################################################################################################

Dann muß die Abfrage in der Datenbank aber auch in dieser Version gemacht werden.
PHP:
$result = mysql_query("SELECT * FROM Tabellenname WHERE Session= '".$_GET[PHPSID]."' ");

Gehe davon aus, dass Du jetzt alleine weiter kommst. Solltest Dir ein paar gute Bücher
über PHP kaufen, oder mehr Google benutzen.

Gruß
 
Zurück