[PHP] Date via C++ gepost

Pagina: 1
Acties:
  • 46 views sinds 30-01-2008

  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Ik een nog iemand maken een systeem waarbij 1 client based C++ programma en een php web based programma gebruikt worden.

Nu is mijn vraag hoe kan ik in PHP vars opvragen die via het C++ programma naar een php bestand worden gepost?

Is er geen functie waarmee ik alle posted vars in een array kan zetten of iets wat er op lijkt?


----------
Spelfoutje in topic title, moet data zijn

[ Voor 9% gewijzigd door chuxiej op 29-12-2002 15:23 ]

www.dannyhiemstra.nl


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 04-08 07:59

chem

Reist de wereld rond

PHP:
1
print_r($_POST);

lees de manual eens voor de grap

Klaar voor een nieuwe uitdaging.


  • Grum
  • Registratie: Juni 2001
  • Niet online
Iets zelf POGEN uit te zoeken mag wel hoor.

$_POST voldoet aan je eisen zoals jij ze PRECIES omschrijft.

  • intoxicated
  • Registratie: Januari 2001
  • Niet online

intoxicated

Haaaai :w | ALT-S

Je bedoelt echt gewoon POST'en? In dat geval had je deze pagina zelf wel kunnen vinden.

Edit: Prachtig. Topic staat al een halfuur open, en opeens posten we met z'n drieën 't antwoord :P

[ Voor 28% gewijzigd door intoxicated op 29-12-2002 15:52 ]

"Anyone who does not agree with me is mentally sick, and should be shot I'm afraid to say."
- Pastor Richards @ VCPR


  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
bedankt voor het andwoord.
Ik heb al 3 keer geprobeert de manual te doorzoeken op post vars of posted vars maar kwam niets uit.

Iedereen denk hier dat de mensen nooit zelf proberen te zoeken ofzo.
Altijd als ik hier iets post krijg ik te horen "probeer zelf te zoeken!" of "1 keer zoeken en ik vond het" terwijl het mij na een uur zoeken nog niet lukte...

Wordt daar een beetje ziek van

www.dannyhiemstra.nl


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 04-08 07:59

chem

Reist de wereld rond

als ik zoek naar 'post var' in de online docs, zie ik als 3e hit de predefined variables.
Zoeken is ook een kunst.

Klaar voor een nieuwe uitdaging.


  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Ik denk dat dat mijn probleem dan is :(

Search Results
Sorry, no documents matched your search for "post%20vars".

Continue your search at AllTheWeb or Google

Click here for a New Search on the PHP website


http://www.php.net/search...ual&pattern=post%2520vars

[ Voor 147% gewijzigd door chuxiej op 29-12-2002 16:02 ]

www.dannyhiemstra.nl


  • intoxicated
  • Registratie: Januari 2001
  • Niet online

intoxicated

Haaaai :w | ALT-S

Als je op PHP.net in de Online Documentation zoekt op de door jou genoemde 'post vars' en 'posted vars' is een link naar 'Predefined Variables' respectievelijk de tweede en eerste hit. En daar staat letterlijk:
HTTP POST variables: $_POST
Note: Introduced in 4.1.0. In earlier versions, use $HTTP_POST_VARS.

An associative array of variables passed to the current script via the HTTP POST method. Automatically global in any scope.
Dus, sorry hoor, maar als je die niet vindt, mag er wel degelijk wat op je zoekgedrag worden aangemerkt.

Edit: Goed, ik moet dus echt sneller typen :/

[ Voor 9% gewijzigd door intoxicated op 29-12-2002 16:01 ]

"Anyone who does not agree with me is mentally sick, and should be shot I'm afraid to say."
- Pastor Richards @ VCPR


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
int send_vdata(const char* ipa, int port, const Cvirtual_binary& d)
{
    int error = 0;
    SOCKET s = socket(PF_INET, SOCK_STREAM, 0);
    if (s == -1)
        error = 1;
    else
    {
        sockaddr_in d_address;
        d_address.sin_family = AF_INET;
        d_address.sin_port = htons(port);
        d_address.sin_addr.S_un.S_addr = inet_addr(ipa);
        if (connect(s, reinterpret_cast<const sockaddr*>(&d_address), sizeof(sockaddr_in)))
            error = 1;
        else
        {
            if (d.size() != send(s, reinterpret_cast<const char*>(d.data()), d.size(), 0))
                error = 1;
        }
        closesocket(s);
    }
    return error;
}

int http_post(const char* host, const char* path, const Cvirtual_binary& d)
{
    hostent* e = gethostbyname(host);
    if (!e || e->h_addrtype != 2 || e->h_length != sizeof(in_addr))
        return 1;
    strstream msg;
    msg << "POST " << path << " HTTP/1.1" << endl
        << "Content-Length: " << d.size() << endl
        << "Host: " << host << endl
        << endl;
    msg.write(reinterpret_cast<const char*>(d.data()), d.size());
    return send_vdata(inet_ntoa(*reinterpret_cast<in_addr*>(*e->h_addr_list)), 80, Cvirtual_binary(msg.str(), msg.pcount()));
}

Deze code wordt gebruikt om te posten. Het web form formaat wordt niet gebruikt en de $_POST var is dus niet bruikbaar.

[ Voor 39% gewijzigd door Olaf van der Spek op 29-12-2002 16:11 ]


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Misschien dat je $HTTP_RAW_POST_DATA kan gebruiken.
http://www.php.net/manual....variables.predefined.php

It’s nice to be important but it’s more important to be nice


  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
dat lukt helaas ook niet :(

Er komt niets uit HTTP_POST_VARS en ook niet uit HTTP_RAW_POST_DATA

Dit gebruik ik om de post te ontvangen:

PHP:
1
2
3
4
5
6
7
8
9
10
while(list($key,$val) = each($_POST['HTTP_POST_VARS']))
{
    $content .= "$key = $val\n";
}
$content .= "####HTTP_RAW_POST_DATA####";

while(list($key,$val) = each($_SERVER['HTTP_RAW_POST_DATA']))
{
    $content .= "$key = $val\n";
}

[ Voor 61% gewijzigd door chuxiej op 29-12-2002 16:41 ]

www.dannyhiemstra.nl


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Wat voor gegevens worden er precies gepost. Is het misschien mogelijk om de variabelen via een GET request door te geven?

edit:
Heb je ook gekeken wat de waarde is van REQUEST_METHOD? in je PHP script

[ Voor 27% gewijzigd door pjonk op 29-12-2002 16:41 ]

It’s nice to be important but it’s more important to be nice


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Language: SK?

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
JonkieXL schreef op 29 December 2002 @ 16:39:
Wat voor gegevens worden er precies gepost. Is het misschien mogelijk om de variabelen via een GET request door te geven?

edit:
Heb je ook gekeken wat de waarde is van REQUEST_METHOD? in je PHP script
Er wordt ongeveer 4 - 16 kb gepost.

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
FireFoxx schreef op 29 december 2002 @ 16:37:
Dit gebruik ik om de post te ontvangen:

PHP:
1
2
3
4
5
6
7
8
9
10
while(list($key,$val) = each($_POST['HTTP_POST_VARS']))
{
    $content .= "$key = $val\n";
}
$content .= "####HTTP_RAW_POST_DATA####";

while(list($key,$val) = each($_SERVER['HTTP_RAW_POST_DATA']))
{
    $content .= "$key = $val\n";
}
Volgens mij is er een hoop mis aan deze code.
Deze code komt uit de manual van PHP.net

PHP:
1
2
3
while(list($key, $val) = each($HTTP_POST_VARS)) {
  // code
}


Deze code zou dan natuurlijk ook moeten werken
PHP:
1
2
3
while(list($key, $val) = each($_POST)) {
  // code
}

It’s nice to be important but it’s more important to be nice


  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
oeps das een foutje sorry

ik had eerst $HTTP_POST_VARS maar heb het om het netjes php 4 te maken naar $_POST veranderd

[ Voor 66% gewijzigd door chuxiej op 29-12-2002 16:51 ]

www.dannyhiemstra.nl


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Maar heb je al gekeken naar de waarde van $_SERVER['REQUEST_METHOD']?
Of de POST Request wordt niet herkent of de gegevens in de post zijn niet volgens de RFC specificaties geformatteerd,

It’s nice to be important but it’s more important to be nice


  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
ja dat is POST
en hoe kan ik controleren of de gegevens wel geformatteerd zijn volgens de RFC specificaties?

www.dannyhiemstra.nl


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
JonkieXL schreef op 29 December 2002 @ 16:55:
Maar heb je al gekeken naar de waarde van $_SERVER['REQUEST_METHOD']?
Of de POST Request wordt niet herkent of de gegevens in de post zijn niet volgens de RFC specificaties geformatteerd,
Volgens welke RFC moet de POST data wordt geformat dan?

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Je zou in de C++ code even kunnen aanpassen dat hij de HTTP POST naar een file streamt ipv een Socket. Ik ben geen C++ expert dus ik zou niet zo kunnen zien wat er aan de code niet zou kunnen kloppen.

De HTTP1.1 RFC kan je vinden bij: ftp://ftp.isi.edu/in-notes/rfc2616.txt

It’s nice to be important but it’s more important to be nice


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Daarin lees ik:
In general, HTTP treats a multipart message-body no differently than any other media type: strictly as payload.
Een snif van het HTTP verkeer kun je downloaden op http://xccu.sourceforge.net/temp/post_snif.bin

[ Voor 27% gewijzigd door Olaf van der Spek op 29-12-2002 17:20 ]


  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
we hebben geprobeert te posten naar phpinfo en dit komt eruit:
http://www.chat-stars.com/phpinfo.html

www.dannyhiemstra.nl


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik denk dat je toch het beste het volgende kan doen:
Probeer de POST request in een file te schrijven en kijk of je rare dingen tegenkomt in de request. Je zal eerst wat debug werk moeten verrichten voordat je uberhaupt erachter zal komen waar het probleem ligt.

Misschien dat je met google een C++ class kan vinden die een geldige HTTP POST kan genereren.

It’s nice to be important but it’s more important to be nice


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
In de snif kun je het request toch zien?
Met deze methode kan ik prima data posten naar C++ CGI scripts, dus naar PHP moet het toch ook kunnen?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Als het niet in $_post staat wordt het niet goed gesubmit als een post. Manual werk.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.