ragukro
Goto Top

Mit POST Daten übergeben und die Website öffnen

Hallo,

eine kleine Frage:

Wenn ich Daten mit POST an eine Ergebnis.php übergebe (Input <type="submit"> ...) möchte ich, dass die Ergebnis.php auch im Browser angezeigt wird.

Bei mir wird die Ergebnis.php auf dem Server korrekt ausgeführt, aber nicht in dem Browser angezeigt, aus dem der Formularversand initiiert wurde.

Vermutlich könnte ich die Formulardaten per Egebnis.php aus dem Server speichern und dann per Ergebnis-2.php anzeigen - dazu müsste ich der Formularabsendenden Site die Ergebnis2.php aufrufen lassen.

Geht das auch irgendwie direkter / eleganter?

Vielen Dank

Content-ID: 435053

Url: https://administrator.de/contentid/435053

Ausgedruckt am: 25.11.2024 um 05:11 Uhr

certifiedit.net
certifiedit.net 31.03.2019 aktualisiert um 12:54:42 Uhr
Goto Top
hallo,

du gibst einfach die Daten per

 echo $_POST['info'];  

in der aufgerufenen Datei aus, natürlich gehört das noch escaped, aber das ist PHP Basis-basis Wissen....
RaGuKro
RaGuKro 31.03.2019 um 13:11:36 Uhr
Goto Top
aber die Ergebnis.php wird doch nicht vom Formularversender geöffnet, sie wird nur auf dem Server ausgeführt.

"weder 'escaped' noch sonst wie"
StefanKittel
Lösung StefanKittel 31.03.2019 um 13:14:47 Uhr
Goto Top
Moin,

irgendwas machst Du falsch.
Mit Submit öffnet der Browser die action.php und stellt diese im Browser dar.

Siehe auch
https://www.php.net/manual/de/tutorial.forms.php

Stefan
certifiedit.net
Lösung certifiedit.net 31.03.2019 um 13:15:19 Uhr
Goto Top
https://www.php-einfach.de/php-tutorial/_get-und-_post/

natürlich wird jede PHP auf dem Server 'geöffnet', verarbeitet und an den Browser des Users geschickt.
RaGuKro
RaGuKro 31.03.2019 um 13:28:12 Uhr
Goto Top
vielen Dank.

Dann werde ich den Fehler schon finden...
RaGuKro
RaGuKro 31.03.2019 um 17:07:45 Uhr
Goto Top
Kann es sein, dass bei AMP Seiten das irgendwie anders ist?

Wenn ich eine normale Seite mit
<body>
   <form method="post" action="https://oooo.de/resultator.php"  target="_top" >   
     <input name="Test" type="hidden"   value="Das ist ein Test"   />  
     <input type="submit" value="Senden" />  
   </form>
</body>

aufrufe, dann wird in der Tat die resultator.php im Browser geöffnet.

Wenn ich aber eine AMP Seite:


<!doctype html>
<html ⚡>
  <head>  
    <meta charset="utf-8">  
    <title>Sample document</title>
    <link rel="canonical" href="oooo.html">  
    <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">  
    <script async custom-element="amp-carousel" src="https://cdn.ampproject.org/v0/amp-carousel-0.1.js"></script>  
   	<script async custom-element="amp-form"		src="https://cdn.ampproject.org/v0/amp-form-0.1.js"></script>  
    <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
    <script async src="https://cdn.ampproject.org/v0.js"></script>  
  </head>
  <body>
    <form method="post" action-xhr="https://xxxx.de/resultator.php"  target="_top" >   
     <input name="Test" type="hidden"   value="Das ist ein Test"   />  
     <input type="submit" value="Senden" />  
   </form>
  </body>
</html>

aufrufe, dann wird die resultator.php nicht geöffnet, aber auf dem Server ausgeführt.

Warum bloß ?
certifiedit.net
certifiedit.net 31.03.2019 um 17:37:30 Uhr
Goto Top
Hallo,

warum nutzt du auch AMP, wenn du nicht mal die Grundlagen von HTML und PHP drauf hast?

Darin liegt auch dein Kernproblem. und bei Form' gibt es kein target.

VG
RaGuKro
RaGuKro 31.03.2019 um 17:55:32 Uhr
Goto Top
Zitat von @certifiedit.net:
[…] und bei Form' gibt es kein target.

Sicher?

Form bei HTML: Form Syntax

und bei AMP-HTML: AMP Form Syntax

??
certifiedit.net
certifiedit.net 31.03.2019 um 18:00:39 Uhr
Goto Top
OK, etwas gelernt, gibt es schon, bringt aber nichts, sonst deute mir mal dessen Einsatz bei dir? face-smile

Aber egal wie gedeutet, für AMP fehlen dir die Grundlagen in HTML und PHP, eigne dir das an, dann kannst du in AMP Troubleshooten.
RaGuKro
RaGuKro 31.03.2019 aktualisiert um 19:09:10 Uhr
Goto Top
Zitat von @certifiedit.net:
[…] sonst deute mir mal dessen Einsatz bei dir? face-smile

target bestimmt doch eigentlich, ob die Antwort in einem neuen Browser Tab (blank) oder im selben öffnet. oder? Deshalb hätte ich genau an dieser Stelle mein Problem erwartet.

Aber egal wie gedeutet, für AMP fehlen dir die Grundlagen in HTML und PHP, eigne dir das an, dann kannst du in AMP Troubleshooten.

Ich danke Dir für Deine Antworten (wirklich), aber den finalen Überblick hast du da vermutlich auch nicht.
certifiedit.net
certifiedit.net 31.03.2019 um 19:21:19 Uhr
Goto Top
The target attribute is supported in HTML5.

The target attribute was deprecated in HTML 4.01.

Note: Frames and framesets are not supported in HTML5, so the _parent, _top and framename values are now mostly used with iframes.

Nutze ich tatsächlich nicht, denn was bringt es mir eine Form in einen Iframe zu senden?
1. sind iframes seit gut 10 Jahren nur noch Geduldet.
2. Ich hab einen Fall, in dem ich aus einer alten Website ein Modul temporär von der neuen Seite implementieren musste, da das alte Modul zu große Sicherheitslücken hatte. Hier öffne ich aber den Iframe und der iframe-pfad ist auch der submit pfad - target ist unnötig
3. Sicher nutz ich kein AMP, da ich nach ausführlicher Einarbeitung keinen Vorteil darin sehe, außer einer weiteren Sprachobfuskation, die mir aber keinen Vorteil und gefühlt eher mehr Aufwand bringt. Nichts, was mir einen USP verspricht. Warum gehst du auf AMP?

Ich sag auch nicht, dass ich den finalen Überblick habe (oder wollte, sonst bräuchte ich einen neuen Job), aber wenn ich bei jedem Kinkerlitz, der auf den ersten Blick nicht geht hier im Forum fragen würde, dann wäre ich heute noch auf dem Stand von 2000. Also verzeih mir, aber bitte eigne dir die Basics an, oder steh dazu, dass das Projekt (oder die IT) einfach nichts für dich ist.
RaGuKro
RaGuKro 31.03.2019 um 19:49:28 Uhr
Goto Top
Zitat von @certifiedit.net:
Warum gehst du auf AMP?

Eine Technik, die auf kurze Ladezeiten fokussiert. Lange Ladezeiten killen Userzugriffe, Google rankt AMP höher.

[…] oder steh dazu, dass das Projekt (oder die IT) einfach nichts für dich ist.

ähm -- -- Nein.

Ich will da wirklich nicht undankbar sein. Du nimmst Dir die Zeit am Sonntag mir mehrfach zu antworten und dafür danke ich!


Prinzipiell denke ich, dass es schon eine geeignete Frage für ein kompetentes Forum ist, weil sich die Lösung nicht aus der Dokumentation ergibt und weil es ein verwirrender Umstand ist, dass form unter amp-html anders als html reagiert.
certifiedit.net
certifiedit.net 31.03.2019 um 20:22:32 Uhr
Goto Top
Eine Technik, die auf kurze Ladezeiten fokussiert. Lange Ladezeiten killen Userzugriffe, Google rankt AMP höher.

Aber auch nur, wenn man weiss, was man tut und nebenbei, sowohl dieses als auch letztes mal war selbst die AMP Seite von der Ladezeit schlechter als so ziemlich alle Seiten, die ich sonst nutze.

Wie gesagt, lern dich erstmal in die Basics ein, dann kannst du dich an AMP ran wagen, wenn du dann noch glaubst, dass du das brauchst. AMP alleine (*wenn überhaupt) hilft auf einem Shared Hosting nämlich mal gar nichts.
StefanKittel
StefanKittel 31.03.2019 um 20:48:52 Uhr
Goto Top
Zitat von @RaGuKro:
aufrufe, dann wird die resultator.php nicht geöffnet, aber auf dem Server ausgeführt.
Warum bloß ?
Weil AMP anders funktioniert.

Egal ob nun AMP oder andere Technien, alle benötigen HTTP(s), HTML und Javascript.
Was anderes können die Browser einfach nicht.

AMP nutzt nun Javascript um Daten und Abfragen an den Webserver zu schicken und interpretiert die Antworten um dann wieder per Javascript diese in den aktuellen HTML-Code einzubauen. Es wird also nicht die ganze Seite neu geladen sondern nur Teile des Inhaltes.

Im Prinzip lädt man nur einmal eine Javascript-Anwendung ohne Daten und Inhalte runter und dann holt sich das Programm die Inhalte, stellt diese dar und reagiert auf Benutzereingaben.

Für Beginner ist der Einstieg schwierig da der Code so verteilt und aufbauen aufgerufen wird.

Viele Grüße

Stefan