Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #4661 > unrolled thread
| Started by | Sigbert Helle <pc@sigbert.de> |
|---|---|
| First post | 2021-01-28 13:21 +0100 |
| Last post | 2021-01-28 16:43 +0100 |
| Articles | 6 — 3 participants |
Back to article view | Back to de.comp.lang.php
Skript nach User-Eingabe beenden Sigbert Helle <pc@sigbert.de> - 2021-01-28 13:21 +0100
Re: Skript nach User-Eingabe beenden Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2021-01-28 13:13 +0000
Re: Skript nach User-Eingabe beenden Sigbert Helle <pc@sigbert.de> - 2021-01-28 14:29 +0100
Re: Skript nach User-Eingabe beenden Sebastian Suchanek <sebastian.suchanek@gmx.de> - 2021-01-28 15:13 +0100
Re: Skript nach User-Eingabe beenden Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2021-01-28 14:32 +0000
Re: Skript nach User-Eingabe beenden Sigbert Helle <pc@sigbert.de> - 2021-01-28 16:43 +0100
| From | Sigbert Helle <pc@sigbert.de> |
|---|---|
| Date | 2021-01-28 13:21 +0100 |
| Subject | Skript nach User-Eingabe beenden |
| Message-ID | <i7fohgFhqbfU1@mid.individual.net> |
Hallo liebe Helferlein, mal wieder ne Anfängerfrage: In Skript1.php lassen ich Daten in ein Formular eintragen, die dann mit POST nach Skript2.php übertragen werden. In skript2 lasse ich diese Daten mittels print anzeigen und vergleichen mit alten Daten aus einer Datenbank. Jetzt mein Problem: Der User soll jetzt entscheiden können, ob er das nicht wollte (also Skript abbrechen und zurück zu skript1) oder das skript2 weiter ausführen, das dann die neuen Daten in die Datenbank einträgt. Bisher ließ ich das automatisch ablaufen, also ohne Rückfrage beim User. Möchte also jetzt nur diese Nachfrage mit Entscheidung einbauen. Irgendwas mit input und dann exit (oder die?) - aber wie? Lieben Gruß Sigbert
[toc] | [next] | [standalone]
| From | Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) |
|---|---|
| Date | 2021-01-28 13:13 +0000 |
| Message-ID | <1t6012b6efi4d17n3e8%sfroehli@Froehlich.Priv.at> |
| In reply to | #4661 |
On Thu, 28 Jan 2021 13:21:04 Sigbert Helle wrote: > In Skript1.php lassen ich Daten in ein Formular eintragen, die > dann mit POST nach Skript2.php übertragen werden. In skript2 > lasse ich diese Daten mittels print anzeigen und vergleichen mit > alten Daten aus einer Datenbank. So weit, so gut. > Bisher ließ ich das automatisch ablaufen, also ohne Rückfrage beim > User. Möchte also jetzt nur diese Nachfrage mit Entscheidung > einbauen. > Irgendwas mit input und dann exit (oder die?) - aber wie? Nein, das geht nicht. Stark vereinfacht, aber für diesen Anwendungsfall ausreichend erklärt läuft Dein PHP-Skript immer vollständig ab, danach wird das Ergebnis zum Browser geschickt und dort - in der Regel als HTML-Seite - angezeigt. Ein Klick auf Link oder Button auf dieser Seite schickt dann einen neuen Request zum Server, der seinerseits abgearbeitet wird und eine Reaktion erzeugt. Du kannst also nicht "mittendrin" auf eine Benutzereingabe warten und dann abbrechen oder fortsetzen, sondern: a) Du zeigst mit Sript2.php die Daten an, ohne sie in die Datenbank einzutragen und bietest dem Benutzer einen "Ok"-Button an; wird dieser gedrückt, läuft b) Skript3.php (oder auch Skript2.php mit einem zusätzlichen Parameter), und erst dann wird in die Datenbank geschrieben. Benutzerfreundliche Erweiterungen (zB zusätzlich zum Ok-Button auch noch eine "Back"-Button zurück zum Eingabeformular) sind optional, aber hilfreich. Servus, Stefan -- http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich Offizieller Erstbesucher(TM) von mmeike Stefan - die Freiheit zu brüllen! (Sloganizer)
[toc] | [prev] | [next] | [standalone]
| From | Sigbert Helle <pc@sigbert.de> |
|---|---|
| Date | 2021-01-28 14:29 +0100 |
| Message-ID | <i7fsicFiio3U1@mid.individual.net> |
| In reply to | #4662 |
Hallo Stefan, Am 28.01.2021 um 14:13 schrieb Stefan Froehlich: > a) Du zeigst mit Sript2.php die Daten an, ohne sie in die Datenbank > einzutragen und bietest dem Benutzer einen "Ok"-Button an; wird > dieser gedrückt, läuft > b) Skript3.php ... und erst dann wird in die Datenbank geschrieben. Noch ne Anfänger-Frage: Die 1001 Daten, die ich per POST von Skript1 an Skript2 gesandt habe: Wie schaufele ich die nach Skript3? Mit einem "OK-Button" ruf ich dann Skript3 auf? Gruß Sigbert
[toc] | [prev] | [next] | [standalone]
| From | Sebastian Suchanek <sebastian.suchanek@gmx.de> |
|---|---|
| Date | 2021-01-28 15:13 +0100 |
| Message-ID | <ruugqm$ej7$1@msgid.suchanek.de> |
| In reply to | #4663 |
Am 28.01.2021 um 14:29 schrieb Sigbert Helle: > Hallo Stefan, > > Am 28.01.2021 um 14:13 schrieb Stefan Froehlich: >> a) Du zeigst mit Sript2.php die Daten an, ohne sie in die Datenbank >> einzutragen und bietest dem Benutzer einen "Ok"-Button an; wird >> dieser gedrückt, läuft > >> b) Skript3.php ... und erst dann wird in die Datenbank geschrieben. > Noch ne Anfänger-Frage: Die 1001 Daten, die ich per POST von Skript1 an > Skript2 gesandt habe: Wie schaufele ich die nach Skript3? > Mit einem "OK-Button" ruf ich dann Skript3 auf? IMHO am sinnvollsten in einer Session[1], dann muss man in Skript3 wenigtens nur die Session-ID (re)validitieren. HTH, Sebastian _____ [1] https://www.php.net/manual/de/book.session.php
[toc] | [prev] | [next] | [standalone]
| From | Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) |
|---|---|
| Date | 2021-01-28 14:32 +0000 |
| Message-ID | <1t6012c9d7i7d10n3e8%sfroehli@Froehlich.Priv.at> |
| In reply to | #4663 |
On Thu, 28 Jan 2021 14:29:48 Sigbert Helle wrote: > Am 28.01.2021 um 14:13 schrieb Stefan Froehlich: > > a) Du zeigst mit Sript2.php die Daten an, ohne sie in die > > Datenbank einzutragen und bietest dem Benutzer einen "Ok"-Button > > an; wird dieser gedrückt, läuft > > b) Skript3.php ... und erst dann wird in die Datenbank > > geschrieben. > Noch ne Anfänger-Frage: Die 1001 Daten, die ich per POST von > Skript1 an Skript2 gesandt habe: Wie schaufele ich die nach > Skript3? Mit einem "OK-Button" ruf ich dann Skript3 auf? Das bleibt Deiner klugen Design-Entscheidung überlassen :-) Ad hoc fällt mir ein: a) Du übergibst die Daten via <input type="hidden">. Das ist an sich die mit Abstand grauslichste Variante, sie kann aber eine Existenzberechtigung haben, wenn Du ohnehin in beiden Fällen den gleichen Code verwendest (und daher die zusätzliche Validierung keinen zusätzlichen Programmieraufwand erzeugt) und Du eine alternative Möglichkeit schaffen möchtest, Daten auch mit einem einzigen Aufruf zu speichern (z.B. für maschinelle Aufrufe). Für Dich wird das eher nicht in Frage kommen. b) via Session - das ist relativ einfach, und Du hast die Garantie, dass Du im dritten Schritt genau mit den Daten arbeitest, die Du im zweiten Schritt geprüft hast c) Du schreibst die Daten doch bereits beim ersten Mal in die Datenbank, markierst sie aber als "nicht rückbestätigt" und entfernst diese Markierung beim finalen Aufruf. Das ist z.B. dann interessant, wenn Du lückenlose Protokollierung auch bei abgebrochenen Aufrufen haben möchtest. So wie Du das Problem geschildert hast, würde ich auch zur Verwendung von Sessions raten. Servus, Stefan -- http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich Offizieller Erstbesucher(TM) von mmeike Stefan - die begeisternste Sache des Verruchten! (Sloganizer)
[toc] | [prev] | [next] | [standalone]
| From | Sigbert Helle <pc@sigbert.de> |
|---|---|
| Date | 2021-01-28 16:43 +0100 |
| Message-ID | <i7g4dpFk25oU1@mid.individual.net> |
| In reply to | #4665 |
Hallo Stefan, hallo Sebastian, Am 28.01.2021 um 15:32 schrieb Stefan Froehlich: > So wie Du das Problem geschildert hast, würde ich auch zur > Verwendung von Sessions raten. Dann werd ich mich mal über Sessions schlau machen! Vielen Dank an Euch! Gruß Sigbert
[toc] | [prev] | [standalone]
Back to top | Article view | de.comp.lang.php
csiph-web