Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi News mit Delphi über PHP in eine Website posten (https://www.delphipraxis.net/15160-news-mit-delphi-ueber-php-eine-website-posten.html)

Sprengepiel 23. Jan 2004 01:36


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

ichhabefertig 23. Jan 2004 02:20

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.

Zerolith 23. Jan 2004 10:14

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:
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;
Viel erfolg...
Daniel

czapie 23. Jan 2004 11:17

Re: News mit Delphi über PHP in eine Website posten
 
Und hier noch etwas umständliche Alternativen:

DP - Thema

DP - Thema2

czapie.

Sprengepiel 28. Jan 2004 17:48

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

sakura 28. Jan 2004 17:50

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