Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Get/Put zum empfangen von Daten (PHP, Apache) (https://www.delphipraxis.net/46346-get-put-zum-empfangen-von-daten-php-apache.html)

Catbytes 23. Mai 2005 13:19


Get/Put zum empfangen von Daten (PHP, Apache)
 
Hallo,

ich betreue gerade ein Projekt, wo ein Kunde seine Orders per SSL-Verschlüsselung und Zugriffsschutz per "Get" übertragen möchte.

Es läuft bereits ein Apache-Server mit SSL (RSA 1024) und dem gewünschten Zugriffschutz.

Aus PHP kenne ich Get/Put (und Post) um z.B. Formulare abzusenden. Was meint der Kunde damit, er möchte seine Bestellungen per "Get" übermitteln? Der Kunde ist sehr schweigsam darüber (Format etc.).

Ist das Standard und mir ist es bisher noch nicht über den Weg gelaufen, oder müssen Kunde und ich uns über gewisse Felder einig sein, nach dem Motto:

Code:
<input type="text" name="bestellnummer">
<input type="text" name="artikelnummer">
<input type="text" name="menge">
Da ich PHP dafür nutzen möchte, stellt sich auch noch die Frage: Kommt da PHP überhaupt zum Einsatz, oder erledigt daß mein Apache und ich bekomme dann z.B. eine Mail zugesendet?

franktron 23. Mai 2005 13:28

Re: Get/Put zum empfangen von Daten (PHP, Apache)
 
Get oder Put werden beim Post festgelegt was eigentlich nur die übertragungsart festlegt man muss nur im PHP script die Daten richtig abfragen.

Wenn ich das gerade richtig im Kopf hab ist Put wie als würdest du es als param an die PHP ranhängen z.b. index.php?data=xxx

und get übertrag das intern also ohne Param kann also nicht so leicht manepuliert werden.

Was genaues must du in der PHP Doku gucken

Catbytes 23. Mai 2005 13:33

Re: Get/Put zum empfangen von Daten (PHP, Apache)
 
Zitat:

Zitat von franktron
und get übertrag das intern also ohne Param kann also nicht so leicht manepuliert werden.

Du meinst also, ich soll eine Art "Quasi-Formular" erstellen (das allerdings nie von Hand gefüllt wird), sondern die Daten kommen per Get-Stream, füllen das Formular und machen dann das, was ich PHP sage (also E-Mail senden, speichern, wasauchimmer)?

Grendel 23. Mai 2005 13:34

Re: Get/Put zum empfangen von Daten (PHP, Apache)
 
Zitat:

Zitat von franktron
Wenn ich das gerade richtig im Kopf hab ist Put wie als würdest du es als param an die PHP ranhängen z.b. index.php?data=xxx

und get übertrag das intern also ohne Param kann also nicht so leicht manepuliert werden.

Genau andersrum :)

Bis neulich ...

alcaeus 23. Mai 2005 13:38

Re: Get/Put zum empfangen von Daten (PHP, Apache)
 
Zitat:

Zitat von franktron
Get oder Put werden beim Post festgelegt was eigentlich nur die übertragungsart festlegt man muss nur im PHP script die Daten richtig abfragen.

Wenn ich das gerade richtig im Kopf hab ist Put wie als würdest du es als param an die PHP ranhängen z.b. index.php?data=xxx

und get übertrag das intern also ohne Param kann also nicht so leicht manepuliert werden.

Genau falsch. Es gibt zwei Modi zum Übertragen von Daten: GET und POST. Vergiss Put, das gibts nicht.

Erster Teil: Get.
Code:
<form method="GET" action="temp.php"><input type="text" name="foo" /></form>
Die URL sieht dann so aus: temp.php?foo=...

Zweiter Teil: Put.
Code:
<form method="POST" action="temp.php"><input type="text" name="foo" /></form>
Die URL lautet nachher temp.php, die Daten wurden "versteckt" übertragen.

Dementsprechend musst du im PHP-Script mit $_GET oder $_POST arbeiten.
Es gibt weiterhin noch den mail-Mode, bei dem man unter Action eine eMail-Adresse eingibt, aber vergiss den mal schnell. Schick die Daten an ein PHP-Script, überprüf was ankommt, und falls alles korrekt ist machst was damit. Andernfalls: wegwerfen ;)

@Catbytes: aus einem Programm könnte ich die Daten auch schon übergeben, z.B. mit h**p://someurl.com/somefile.php?foo=bar&foo2=bar
Das wäre dann auch Datenübertragung per GET ;)

Greetz
alcaeus

ste_ett 23. Mai 2005 13:40

Re: Get/Put zum empfangen von Daten (PHP, Apache)
 
GET ist die Möglichkeit per direktem Parameter Werte zu übergeben, z.B. www.url.de/a/b.html.
Bei POST werden die Werte intern aus der Form gezogen, z.B. ein Eingabefeld für ein Passwort.

Catbytes 23. Mai 2005 13:49

Re: Get/Put zum empfangen von Daten (PHP, Apache)
 
@ste_ett und @alcaeus:

Danke! Dann ist es ungefähr so, wie ich es bisher kenne :???:

Das einzigste Problem, was mir jetzt noch einfällt wäre, daß es doch bei GET eine Größenbeschränkung gibt (glaube bei PUT/POST IMHO nicht). Hoffe, die haben da auch daran gedacht, wenn mal 'ne Bestellung über mehrere Positionen kommt... :gruebel:

alcaeus 23. Mai 2005 13:53

Re: Get/Put zum empfangen von Daten (PHP, Apache)
 
Zitat:

Zitat von Catbytes
Hoffe, die haben da auch daran gedacht, wenn mal 'ne Bestellung über mehrere Positionen kommt... :gruebel:

Hmm, gute Frage. Red mit denen mal drüber, was gemacht werden soll, denn so endlos lange URL-Strings können ganz schön böse sein, ich glaube aber dass es auch ein 255-Zeichen-Limit gibt, aber ich kann mich auch irren.

Greetz
alcaeus

franktron 23. Mai 2005 14:04

Re: Get/Put zum empfangen von Daten (PHP, Apache)
 
Die meisten Browser und Proxis schneiden den String nach einer Bestimmten anzahl ab ich glaub 1024 Zeichen wenn ich mich nicht irre
aber ich würde auch nicht über 255 Zeichen gehen wer weis was da sonst am Server ankommt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz