Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #4661 > unrolled thread

Skript nach User-Eingabe beenden

Started bySigbert Helle <pc@sigbert.de>
First post2021-01-28 13:21 +0100
Last post2021-01-28 16:43 +0100
Articles 6 — 3 participants

Back to article view | Back to de.comp.lang.php


Contents

  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

#4661 — Skript nach User-Eingabe beenden

FromSigbert Helle <pc@sigbert.de>
Date2021-01-28 13:21 +0100
SubjectSkript 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]


#4662

FromStefan+Usenet@Froehlich.Priv.at (Stefan Froehlich)
Date2021-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]


#4663

FromSigbert Helle <pc@sigbert.de>
Date2021-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]


#4664

FromSebastian Suchanek <sebastian.suchanek@gmx.de>
Date2021-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]


#4665

FromStefan+Usenet@Froehlich.Priv.at (Stefan Froehlich)
Date2021-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]


#4666

FromSigbert Helle <pc@sigbert.de>
Date2021-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