String zu einem PHP Script!

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Morty
Beiträge: 268
Registriert: 22.10.2004 07:20
Wohnort: Erfurt
Kontaktdaten:

Beitrag von Morty »

Mathias-Kwiatkowski hat geschrieben: ... dieses ist mit jeder programmiersprache zu schaffen mit purebasic nicht?
Dann schreib's doch in einer anderen Programmiersprache und rufe es via dll oder runprogram im Hintergrund auf!! Das sollte nun das kleinste Problem sein.

Oder wie Macros gesagt hat, #pb_window_invisible und nach 'nem kurzem Delay schliesst Du das Fenster wieder.

Morty
Toshy
Beiträge: 713
Registriert: 22.03.2005 00:29
Computerausstattung: Computer und Strom vorhanden
Wohnort: LK Wolfenbüttel

Beitrag von Toshy »

Hi.

Möchtest du mit einem Purebasicprogramm etwas an das PHP senden, also zum Beispiel einen String mit Spieldaten, oder ein Benutzernamen oder sowas?

Das müßtest du mit den purebasicnetworkfunkionen hinbekommen. Damit müßte man eigendlich per POST oder GET daten an das PHP übergeben. Dürfte kein PRoblem seind. Grundlegend sollte das mit den HTTP-Codevorlagen von Purearea.net gehen. Einfach als Downloadurl das PHP angeben und die Daten in der URL anhängen, oder halt per POST senden (oder war es GET?).

Gruß
Toshy
1. Win10
PB6.1
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Friedrichs hat geschrieben: Das müßtest du mit den purebasicnetworkfunkionen hinbekommen. Damit müßte man eigendlich per POST oder GET daten an das PHP übergeben. Dürfte kein PRoblem seind. Grundlegend sollte das mit den HTTP-Codevorlagen von Purearea.net gehen. Einfach als Downloadurl das PHP angeben und die Daten in der URL anhängen, oder halt per POST senden (oder war es GET?).
Einer der Wenigen hier, die etwas Vernünftiges geschrieben haben :allright:
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Morty
Beiträge: 268
Registriert: 22.10.2004 07:20
Wohnort: Erfurt
Kontaktdaten:

Beitrag von Morty »

freedimension hat geschrieben: Einer der Wenigen hier, die etwas Vernünftiges geschrieben haben :allright:
.. so macht helfen Spass :(
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

Beitrag von Sebe »

Jap, vor allem weil er Unrecht hat. Ich habe schon öfter PHP Scripts soaufgerufen, weil es für kleinere Strings (unter 255 afaik) einfach am bequemsten ist. Aber da der Herr freedimension hier ja nur die eine komplette Lösung sehen will damit neue PBler nicht mit so halb garen Lösungen hantieren:

Code: Alles auswählen

Procedure httppost(Server$, ScriptPath$, PostData$) 
If InitNetwork() = #True 
  ServerID = OpenNetworkConnection(Server$, 80) 
  If ServerID 
    Request$ = "POST " + ScriptPath$ + " HTTP/1.1" + #CRLF$ 
    Request$ + "Host: " + Server$ + #CRLF$ 
    Request$ + #CRLF$ 
    Request$ + PostData$ + #CRLF$ 
    
    SendNetworkString(ServerID, Request$)
  Else 
    ProcedureReturn "Serverproblem" 
  EndIf 
Else 
  ProcedureReturn "Netzwerkproblem" 
EndIf 
EndProcedure
Ist auch nur einem Beispielcode irgendwo aus dem Forum nachprogrammiert.
Zuletzt geändert von Sebe am 23.02.2006 15:37, insgesamt 1-mal geändert.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

>> Procedure htmlpost(Server$, ScriptPath$, PostData$)

:lol: Fehlinterpretation: Versende HTML als Post.

mach HTTP draus und alles wird gut, außerdem wurde dieses Thema schon zu genüge beantwortet.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Sebe hat geschrieben:Jap, vor allem weil er Unrecht hat. Ich habe schon öfter PHP Scripts soaufgerufen, weil es für kleinere Strings (unter 255 afaik) einfach am bequemsten ist.
Aber da der Herr freedimension hier ja nur die eine komplette Lösung sehen will damit neue PBler nicht mit so halb garen Lösungen hantieren:

Code: Alles auswählen

Procedure htmlpost(Server$, ScriptPath$, PostData$) 
If InitNetwork() = #True 
  ServerID = OpenNetworkConnection(Server$, 80) 
  If ServerID 
    Request$ = "POST " + ScriptPath$ + " HTTP/1.1" + #CRLF$ 
    Request$ + "Host: " + Server$ + #CRLF$ 
    Request$ + #CRLF$ 
    Request$ + PostData$ + #CRLF$ 
    
    SendNetworkString(ServerID, Request$)
  Else 
    ProcedureReturn "Serverproblem" 
  EndIf 
Else 
  ProcedureReturn "Netzwerkproblem" 
EndIf 
EndProcedure
Ist auch nur einem Beispielcode irgendwo aus dem Forum nachprogrammiert.
:o *tieflufthohl* Ich hätte ja mit viel gerechnet, aber nicht mit so einer frechen Antwort. Ich frage mich gerade, was bequemer daran sein soll, das WebGadget dergestallt zu missbrauchen um einen simplen Text zu übertragen, wie du es vorgeschlagen hast??? Deine htmlpost dagegen macht diesen Job (ich hab's noch nicht ausprobiert, der Ansatz sieht aber schon gut aus) ohne Probleme, ist resourcenschonend und muss eigentlich nur einmal geschrieben werden, warum nicht gleich so wenn du doch so toll bist? Aber nein, Webgadget-Beispiel "IST BEREITS DIE LÖSUNG FÜR" das Problem :lol: Sorry, soll ich dich eigentlich noch Ernst nehmen? Bequem ist ja schön und gut, nur beim Programmieren sollte man sich nicht danach richten was bequem ist!

Ich bin übrigens der letzte der auf fertigen Code für Anfänger besteht, im Gegenteil, sollen die ruhig alles selbst programmieren, nur dabei lernen Sie wirklich etwas. Aber so ein Flickwerk wie Webgadgets oder Dateien über FTP usw. als Antwort zu präsentieren ... aus Bequemlichkeit :roll:

*ausatme*
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

Beitrag von Sebe »

@freedimension: Es wurde nach einem Lösungsansatz gefragt, und die Methode mit dem Webgadget hätte funktioniert (und zwar ohne sich mit dem htt Protokoll auseinander zu setzen). Sicher ist es nicht die optimale Lösung, aber es ist eine Lösung. Auch der Code mit RunProgram() müsste eigentlich funktionieren (habe es nicht getestet). Insofern empfinde ich hier nicht meine Antwort als frech, sondern viel eher deinen ursprünglichen Post, dem nach wir ja alle solchen Unsinn gepostet haben. Hättest du von Anfang an etwas gepostet, wie z.B. "Dieser Ansatz ist besser als es mit dem WebGadget zu versuchen." dann wäre Alles ok gewesen. Es geht aber darum, dass matthias einen Lösungsvorschlag wollte, wie er z.B. für einen OnlineHighscore einen String an ein PHP Skript übergeben kann. Da geht dann natürlich niemand davon aus, dass er sich noch eine kleine HTTP Doku reinziehen will.
Ob du mich in Zukunft ernst nimmst oder nicht bleibt dir überlassen (ich weiss auch nicht, nach welchen Kriterien du so etwas entscheidest).
Der Code kommt ursprünglich gar nicht von mir, ich habe ihn nur aus meinem Gedächtnis nachprogrammiert. Der ursprüngliche Code dürfte irgendwo im Forum rumgeistern und wäre mit der Suchfunktion sicher auch auffindbar gewesen, trotzdem danke für die Blumen.

@DarkDragon: Danke, hab ich mal wieder zu schnell geschrieben. hab's editiert ^^

P.S.: Programmierer sind von Natur aus lediglich eins: faul :mrgreen:
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Keine Angst, ich nehme dich auch zukünftig noch ernst ;)

BTW: Ich hatte nirgends geschrieben, dass die anderen Ansätze
nicht funktionieren. Ich habe lediglich gesagt, dass der direkte
Weg über HTTP-Post der vernünftigste ist. Sorry, dass ich dafür
die falschen Worte gewählt habe. Mir fehlt halt Danilos direkte
Art :mrgreen:
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

Beitrag von Sebe »

Naja, Problem gelöst und Matthias hat was für seinen [was auch immer er machen wollte] <)
Antworten