Toon posts:

[delphi] Een POST naar een PHP-script

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil een aantal variabelen die ik in Delphi heb doorsturen naar een PHP script op een server. DIt moet gebeuren dmv. een POST. Hiervoor maak ik in Delphi gebruik van een NMHTTP.

Het onderstaande testprogramma wil echter niet werken:

PHP-script:
PHP:
1
2
3
4
5
6
7
<?
$fp = fopen('POSTtest.txt', "w") or die('Kan bestand $filename niet openen.');

$fout = fwrite($fp, $var);

fclose($fp);
?>

Delphi-prog:
code:
1
2
3
4
5
6
     NMHTTP1.Post('http://server/SaveOnServer.php', 'data');

// voor deze data heb ik verscheidene varianten gebruikt:
// $var=bla;
// var=bla;
// bla

Het bestand 'POSTtest.txt' wordt wel door PHP gemaakt, maar heeft geen inhoud. :?

  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Probeer eens echo $var;

Of probeer eens echo $HTTP_POST_VARS['var'];.

Je moet de var trouwens dan versturen als "var=data" of "var=data&var2=blaat". Als dat niet werkt, moet je even in de manual van Delphi kijken...

Verwijderd

Topicstarter
Ik ben er van overtuigd dat $var helemaal leeg is. Ik kan nl. diverse bende naar het bestand toe schrijven, maar van $var is niets te bekennen. Zelfs als ik met een hexeditor kijk zie ik niets wat van $var af kan komen.

De manual van Delphi zegt niet veel meer dan dit:
code:
1
2
3
4
5
6
7
procedure TForm1.ButtonClick(Sender: TObject);
var
  S: String;
begin
  if InputQuery('Post Data Required', 'Input data to Post', S) then
    NMHTTP1.Post(Edit1.Text, S);
end;

En volgens mij voldoe ik hieraan.

Verwijderd

Topicstarter
Ondertussen werkt het nog steeds niet, maar heb wel iets gevonden op internet. Het probleem is alleen dat dat voor een ASP-script is, en daar heb ik echt helemaal geen kaas van gegeten. ;(

In een ASP script moet er nl gebruik worden gemaakt van de onderstaande code:
code:
1
ASP_variable = Request(Delphi_variable)

Nou werkt dit (natuurlijk) niet in PHP, maar heeft iemand enig idee hoe ik dit kan vertalen naar PHP?

Verwijderd

Het lijkt mij dat je je php-scriptje niet goed aanroept. Probeer het eerst eens vanaf een browser met een gewone get:
http://server/script.php?var=blaat

Als het goed is staat er nu blaat geschreven in je filetje. Is dit het geval, dan is je php-scriptje goed om in de file te schrijven. Dan moet je dus even kijken naar het aanroepen van die Delphi functie, ik mis er namelijk de $var die php moet gaan gebruiken.

Is dit niet het geval dan moet je nog even naar je php script kijken...

Hope this helps ;)

Verwijderd

Topicstarter
Het PHP-script kan ik wel rechtstreeks aanroepen vanuit een browser en dat gaat goed. Dus ik denk dat het probleem bij Delphi zit.

  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Op dinsdag 16 oktober 2001 15:06 schreef delighteddennis het volgende:
Ondertussen werkt het nog steeds niet, maar heb wel iets gevonden op internet. Het probleem is alleen dat dat voor een ASP-script is, en daar heb ik echt helemaal geen kaas van gegeten. ;(

In een ASP script moet er nl gebruik worden gemaakt van de onderstaande code:
code:
1
ASP_variable = Request(Delphi_variable)

Nou werkt dit (natuurlijk) niet in PHP, maar heeft iemand enig idee hoe ik dit kan vertalen naar PHP?
Als dat in ASP zou moeten werken, zou jouw code in PHP ook werken. Ik denk dus echt dat het aan het NMHTTP-control ligt. Bestudeer de bijhorende documentatie eens...

  • [ti]
  • Registratie: Februari 2000
  • Niet online
Die netmaster componenten zitten vol met bugs. Kijk eens naar ICS. Zit ook een http component bij (server en client).

Verwijderd

Topicstarter
En je weet zeker dat die wel werken :?

Op de Delphi site staat er trouwens nix over known bugs in het HTTP dinges.
Pagina: 1