Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Datenweitergabe und Datenkontrolle





Frage

Guten Morgen allerseits, ich probier jetzt schon zwei Tage herum, aber ich kriegs nicht auf die Reihe, eine dreiseitige Umfrage zu erstellen, die Daten von einer Seite auf die andere überträgt und überprüft. [b] Meine Idee in 7 Schritten:[/b] 1. form1.php 2. Bei erfolgreicher Prüfung Weiterleitung mit allen Variablen an form2.php. Bei nicht erfolgreicher Prüfung in irgendeiner Form anzeigen, was fehlt und zurück an form1.php. 3. form2.php 4. Bei erfolgreicher Prüfung Weiterleitung mit allen Variablen an form3.php, bei nicht erfolgreicher Prüfung in irgendeiner Form anzeigen, was fehlt und zurück an form2.php 5. form3.php 6. Bei erfolgreicher Prüfung Weiterleitung mit allen Variablen an dankeschön.php und mail an mich, bei nicht erfolgreicher Prüfung in irgendeiner Form anzeigen, was fehlt und zurück an form2.php 7. dankeschoen.php ------------------------------------------------ [b] Problem bei meinem 1. Lösungsversuch:[/b] In Form1.php gilt action= $PHP_SELF, damit die Fehlerkontrolle im eigenen dokument abläuft. --> Problem: Wie kann ich dann sagen, daß bei erfolgreicher Kontrolle die Aktion action=form2.php gelten soll? --> Problem: Die Alternative header (location: form2.php ) würde ja die Variablen nicht übertragen, richtig? [b] Problem bei meinem 2. Lösungsversuch:[/b] In Form1.php gilt action=form2.php In form2.php führe ich dann mit if eine Fehlerkontrolle durch, so daß der User bei einem Fehler wieder auf form1.php zurückgeleitet wird. --> Problem: Wo und wie kann ich dann die Fehlermeldung ausgeben? Vielen Dank für Tips und Ideen, denn ich bin schon ziemlich verzweifelt Mel

Antwort 1 von Risatara2

Du übergibst einfach die Fehlermeldungen mit, und überprüfst in der form1.php an der Stelle wo dus ausgeben willst ob diese Variable gesetzt ist, und dann lässt du es das form1.php erledigen. Zumindest wenn ich dich richtig verstehe.
Wenn du die Werte wieder zurückwerfen willst, müsste (!!) das mit Sessions klappen. Aber davon habe ich keine Ahnung, weil ich die nie benutzt habe..


Gruß, Risatara

Antwort 2 von Mel

Hi,

Zitat:
Risatara: Du übergibst einfach die Fehlermeldungen mit, und überprüfst in der form1.php an der Stelle wo dus ausgeben willst ob diese Variable gesetzt ist, und dann lässt du es das form1.php erledigen. Zumindest wenn ich dich richtig verstehe.


--> Beziehst Du Dich auf meinen 1. Lösungsversuch ( $PHP_SELF) oder den 2. (action=form2.php)

--> Welchen Lösungsansatz wäre einfacher?

Danke Dir

Antwort 3 von Risatara2

Auf den zweiten.

Ich vesuche es nochmal mit einem etwas geordnet gedachteren Vorschlag:
Du überprüfst in Form1 deine Eingaben. Dann schreibst du sie in eine Datei, deren Namen zufällig erzeug wird (random & time, daraus kann man sich immer was zusammen basteln, aber immer vorher überprüfen, ob die Datei vielleicht doch schon exisitert).
Dann rufst du per "Header("Location: form2.php?file=".$dateiname)" oder so ähnlich form2 auf, und übergibst den Namen der Datei in die du geschrieben hast. Dann kannst du die Daten zum weiteren bearbeiten auslesen und die Datei löschen.
Wie gesagt gibt es bestimmt auch eine einfachere Lösung (Sessions, aber damit kenn ich mich nicht aus, Datenbankanbindung, könntest du so ähnlich machen wie meinen Vorschlag hier, und bestimmt noch tausend andere) aber hier hast du schonmal einen Ansatz.
Wenn man die Sache genauer kennen würde wäre es natürlich auch einfacher.
Gruß, Risatara

Antwort 4 von Mel

Hi noch einmal,

hmh, es gibt ja echt, tausende von Ansatzmöglichkeiten.
ich werd deine Variante mal ausprobieren.

mal schaun, wie weit ich komm

bis nachher

Antwort 5 von Risatara2

Wenn es klappt hätte ich gerne eine Rückmeldung, wenn das keine Umstände macht.
Danke,
Risatara

Antwort 6 von Mel

Aber natürlich geb ich ne Rückmeldung.

Das würde ich zumindest von den anderen auch erwarten.

Ich brauch halt nur ein wenig , um das "mal eben" zu "programmieren"...

Bis nachher
Mel

Antwort 7 von Daniel776

--> Problem: Die Alternative header (location: form2.php ) würde ja die Variablen nicht übertragen, richtig?

Richtig, wenn du es so programmierst header (location: form2.php )

Werden übertragen wenn du es so machst.

Variablen auf andere Seite übertragen:

Variante 1 (GET):

header("Location: datei.php?<? $Variable = Wert;?>");

Nachteil: GET - Methode, ist im header lesbar.

Variante 2 (POST):

Jedes Dokument mit <? session_start(); ?> versehen. WICHTIG: Am Anfang des PHP Codes.
Definition einer Variable mit: <? $_SESSION["Variable"]; ?> (werden Global gespeichert)
Auslesen einer Variable mit: <? $_REQUEST["Variable"]; ?>

Antwort 8 von Mel

Aha !

jetzt versteh ich.
Ich werds gleich alles mal ausprobieren und meld mich dann.

Gruss Mel

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Suche in allen vorhandenen Beiträgen: