Daten aus PHP übernehmen

Django, Flask, Bottle, WSGI, CGI…
Antworten
MaxL
User
Beiträge: 10
Registriert: Freitag 13. Februar 2015, 18:51

Hallo zusammen,
ich habe in Python ein (für einen Anfänger) recht nettes Programm geschrieben und ein Kollege hat mir in PHP/JavaScript/Html ein Frontend gebaut.
Meine Frage ist: Wie bekomme ich nun die Werte aus seinem PHP-Statement bei mir in Python?
Sein Statement:

Code: Alles auswählen

$data = Array(
		"event" => "saveEingaben",
		"RKdefID" => $_POST["RKdefID"],
		"eingabe_1" => $_POST["eingabe_1"],
		"eingabe_2" => $_POST["eingabe_2"],
		"eingabe_3" => $_POST["eingabe_3"]
	);
Wie lautet meines in Python?
Es wäre toll, wenn Ihr Eure Antworten für einen blöden kleinen Vollhonk-Anfänger verständlich formulieren könntet (nein, sorry, no time 2rtfm ...). Last Baustelle for complete :) :) :)
MaxL
User
Beiträge: 10
Registriert: Freitag 13. Februar 2015, 18:51

PS: so geht es weiter ...

Code: Alles auswählen

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "localhost/cgi-bin/Python34/rksm_start_3.cgi");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$contents = curl_exec($ch);
curl_close($ch);
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

CGI ist aber schwer altbacken. Funktioniert zwar noch, setzt aber kaum noch einer ein. De-facto Standard für Webapplikation in Python ist WSGI. Dafür gibt es auch jede Menge Frameworks, da das ganze einfach und komfortable machen. Für dein Fall würden sich ziemlich sicher Bottle oder Flask anbieten.

Gruß, noisefloor
MaxL
User
Beiträge: 10
Registriert: Freitag 13. Februar 2015, 18:51

Hallo zusammen,
danke für die Antworten. Aber ich blicks einfach nicht. Ich habe das ja schon mit CGI probiert. Aber irgendwie funktioniert das nicht .. :K

Code: Alles auswählen

import cgi
cgitb.enable()
form = cgi.FieldStorage()
RKdefID = form.getvalue('RKdefID')
eing_passend = form.getvalue("eingabe_1")
...
BlackJack

@MaxL: Was heisst „funktioniert nicht“? Explodiert der Rechner? Stirbt die Katze vom Nachbarn? (Falls ja, bitte das Programm nicht mehr als 9× laufen lassen ;-)) Fehlermeldungen? Wenn ja welche?
MaxL
User
Beiträge: 10
Registriert: Freitag 13. Februar 2015, 18:51

Hi BlackJack,
Ich bekomme gar nichts. Ich habe das cgi einfach mal umbenannt. Mein Frontend verhält sich exakt gleich. Was mich natürlich vor die Frage stellt: Warum das? Vermutlich wird es nicht erkannt. Muss ich es als .cgi benennen oder geht auch .py?
Ein ganz normales cgi habe ich längst gebaut, da läuft. Hier wird aber ein Array übergeben und ich weiß nicht, an welcher Stelle es sich somit anders verhält ...
BG.
BlackJack

@MaxL: Wenn Du ein ”normales cgi” laufen hast, dann verstehe ich die Frage nicht ob man die Endung ändern muss. Welchen Webserver verwendest Du denn? Da wird ja irgendwo eingestellt wie CGI läuft. Also ob das bestimmte Dateinamensendungen braucht, oder nur in einem bestimmten Ordner funktioniert, oder…

Wo wird da ein Array übergeben? Das sind soweit ich das sehe alles Einzelwerte die als POST-Daten übermittelt werden.

Die Dokumentation vom `cgi`-Modul hat einen Abschnitt über Fehlersuche.
Antworten