![]() |
News mit Delphi über PHP in eine Website posten
Hi!
Ich bin Delphi-Neuling und stehe vor folgendem Problem: Ich betreibe eine PHP-basierte Website mit MySQL-Datenbank. Die darin enthaltene News-Seite wird bislang über einen Admin-Bereich gepflegt. Zusätzlich möchte ich befreundeten News-Spendern eine Software zum Download anbieten, mit der sie die News direkt einstellen können. Der News-Spender füllt also ein Textfeld aus, klickt auf Absenden, und die News wird mit seinem Absendernamen versehen in die Datenbank eingetragen. Wie mache ich das? Delphi sollte dabei nicht direkt in MySQL reinschreiben. Macht man so etwas über SOAP oder sollte ich das über eine POST-Aufruf eines PHP-Skripts realisieren? (Ich verwende Delphi 8 Pro bzw. 7 Pro) Ich bin für jede Hilfe dankbar. Beste Grüße Frank |
Re: News mit Delphi über PHP in eine Website posten
Hallo,
ich habe auch mal vor einen ähnlichen Problem gestanden. Ich habe es im Endeffekt so gelöst, dass ich die Variablen mit einem simplen GET verschickt habe. Das einzige Problem dabei dürfte die maximale Länge des Strings werden. Ich glaube, die liegt bei 255 Zeichen. Vielleicht irre ich mich da aber auch. Direkt zu mySQL verbinden konnte ich nicht, weil Puretec aus Sicherheitsgründen keine Connections von ausserhalb zulässt. |
Re: News mit Delphi über PHP in eine Website posten
Hi,
ich habe sowas gebraucht für ein Austauschprogramm. Habe in Delphi SQL Strings zusammengesetzt und dann mit nachfolgender Funktion an ein PHP Script geschickt. Anbei möchte ich noch anmerken dass du das Script sichern solltest. Also z.B. als zusätzlichen Parameter ein Passwort oder sowas. nur so als Anregung. Da man mit dieser abgespeckten version (wenn man jetzt SQL schickt) ziemlich viel kaputt machen könnte. ach ja: das ist ein "POST" Befehl -> also bist bist nicht auf 255 Zeichen beschränkt noch dazu bei "GET" musst die leerzeichen mit %20 auffüllen u.ä. Foldende Unit must noch einbinden: IdHTTP
Delphi-Quellcode:
Viel erfolg...
function Tform1.SendPostData(SQL: wideString; const AtoURL: String): String;
Var aStream: TMemoryStream; Params: TStringStream; AHTTP : TIDHTTP; begin AHTTP := TIDHTTP.Create(nil); AHTTP.Port := 80; aStream := TMemoryStream.create; Params := TStringStream.create(''); AHTTP.Request.ContentType := 'application/x-www-form-urlencoded'; try Params.WriteString(URLEncode('sql=' + sql )); // Params.WriteString(URLEncode('Parameter2=' + Edit2.text)); try AHTTP.Post(AtoURL, Params, aStream); except SendPostData(SQL, AtoUrl); exit; end; aStream.WriteBuffer(#0' ', 1); Result := PChar(aStream.Memory); except end; aStream.Free; AHTTP.Free; Params.Free; end; Daniel |
Re: News mit Delphi über PHP in eine Website posten
|
Re: News mit Delphi über PHP in eine Website posten
Hi!
Gibt es keine Möglichkeit, an ein auf einem entfernten Server liegendes PHP-Skript Daten zu senden, ohne über die Browser-Komponente HTML-Formulare auszufüllen oder zu simulieren? Da muß es doch bestimmt noch geschicktere Lösungen geben. Kann mir jemand sagen, was SOAP ist, und ich das hier nutzen kann? Ich habe gelesen, daß Delphi Soap Komponenten besitzt und auch das PHP SOAP unterstützt. Mir ist allerdings noch nicht klar, wie die Kommunikation funktioniert. Beste Grüße Frank |
Re: News mit Delphi über PHP in eine Website posten
Schau Dir doch mal die Lösung von Zerolith an, die kommt ohne die Browserkomponente aus und ist imho die einfachste Lösung für Dein Problem. SOAP macht das ganze nur unweit schwerer, da Du dafür auf Serverseite einen Webservice schreiben musst und PHP ist dafür nur bedingt leistungsfähig. PHP ist als SOAP-Client besser, aber nicht als SOAP-Server!
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 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