Ich hatte öfters das Problem, als ich an einer komplett sicheren Passwortabfrage gebastelt hatte, dass ich keine Infos von einem c Programm zu einer Website, auf der Php installiert ist, verschicken und verarbeiten konnte.
Also ich mir mal Php etwas nächer angeschaut habe, und gesehen habe, was alles für Server-Variablen(z.B. Ip-Adresse) übertragen werden, ist mir eine Variable besonders aufgefallen:
$_SERVER["HTTP_USER_AGENT"]

Normalerweise zeigt die Variable an, mit welchem Explorer(z.B. Mozilla Firefox) man die Seite anschaut. So habe ich mir gedacht, das muss ja irgendwo festgelegt werden, was in der Variablen steht. Und tatsächlich, in der wininet.h(wichtig: wininet muss noch gelinkt werden) gab es die Funktion:
InternetOpen()
in der man seinen Namen, mit dem man sich dann im Internet zum erkennen gibt, angeben. Dies war die gesuchte Variable.

Also habe ich ein System entwickelt, welches einen aneinandergereihten Variablenstring anstelle von dem Namen benutzt.
z.B.

VariablenName1VariablenInhalt1VariablenName2Variab lenInhalt2 [...]

Dieser String wird dann bei der Verbindung mit der Website mit der $_SERVER["HTTP_USER_AGENT"] -Variablen in Php abgefragt und wieder aufgetrennt.
Anschließend kann man dann die empfangenen Variablen verarbeiten und wenn man möchte eine Antwort zurückschicken.

Theoretisch: ein echo Befehl, der versteckt in den Quellcode die Antwort schreibt und die dann vom c Programm ausgelesen wird.

Und so funktionierts in c :

# rtCPP.h einbinden und wininet linken !!!

Code:
rtInet blabla;
blabla.PutVariable("Varname1","Varinhalt1");
blabla.PutVariable("Varname2","Varinhalt2");
[...]
blabla.SendToPhpPage("http://www.testseite.de/index.php");
blabla.ReceiveVariables();
cout << blabla.GetVariable("VarnamePHP1") << endl;
cout << blabla.GetVariable("VarnamePHP2") << endl;
[...]
blabla.Close();
Und so sieht das dann in PHP aus:



# rtPHP.fct einbinden !!
Code:
rtInet blabla;
blabla.ReceiveVariables();
echo blabla.GetVariable("Varname1");
echo blabla.GetVariable("Varname2");
[...]
blabla.PutVariable("VarnamePHP1", "VarinhaltPHP1");
blabla.PutVariable("VarnamePHP2", "VarinhaltPHP2");
[...]
blabla.SendVariables();
Hier eine Skizze zur Verdeutlichung des Vorgangs:


Und hier noch die Dateien "rtCPP.h" und "rtPHP.fct":
http://www.file-upload.net/download-...eader.zip.html