externe Datenbank
-
Aber WIE tauschen C++ und das PHP Skript Daten aus ??
-
DarkShadow44 schrieb:
Aber WIE tauschen C++ und das PHP Skript Daten aus ??
Über eine HTTP-Anfrage. Dafür kannst du z.B. libcurl verwenden.
-
Ich finde aber nur die Möglichkeit den Quelltext des Skripts runterzuladen.
PHP zu C++ erst recht nicht..
-
DarkShadow44 schrieb:
Ich finde aber nur die Möglichkeit den Quelltext des Skripts runterzuladen.
Dann ist der Server falsch konfiguriert und führt das PHP-Skript nicht aus.
Schau dir zum Beispiel die URL http://www.c-plusplus.net/forum/index.php an. Das ist ein PHP-Skript namens "index.php". Der Server schickt aber nicht den Quellcode, sondern führt das Skript aus. Der normale Nutzer sieht nicht, dass das ein PHP-Skript ist.
-
sprintf_s(url,"http://Dwww.example.de/index.php?data=abcdefghij"); hInetOpen = InternetOpen("FTP\n",INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0); hInetUrl = InternetOpenUrl(hInetOpen, url, NULL,0,0,0); int bytes; char buffer[104]; while(!InternetReadFile(hInetUrl,buffer,104,(LPDWORD)&bytes));
Geht das etwa so ?
Wie kann ich dem Skript mit "?data=" Daten übertragen (und mit PHP auslesen) ?
Und wie warte ich so bis die Anwort kommt ?
-
Hab so was ähnliches mal mit c# gemacht, sollte für dich also kein Problem sein das ganzu in cpp zu implementieren.
private void BtnSend_Click(object sender, EventArgs e) { // used to build entire input StringBuilder sb = new StringBuilder(); // used on each read operation byte[] buf = new byte[9000]; // delate last data gried view dataGridView1.Columns.Clear(); // build the command string and prepare the web page we will asking for string strCommandUrl = string.Empty; strCommandUrl = @"http://www.******.****/mimo/phptest/client_query.php5?table="; strCommandUrl += strTable.Text; strCommandUrl += "&query="; strCommandUrl += strQuery.Text; strSendingCommand.Text = strCommandUrl; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strCommandUrl); // execute the request HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // we will read data via the response stream Stream resStream = response.GetResponseStream(); string tempString = null; int iCnt = 0; do { // fill the buffer with data iCnt = resStream.Read(buf, 0, buf.Length); // make sure we read some data if (iCnt != 0) { // translate from bytes to ASCII text tempString = Encoding.ASCII.GetString(buf, 0, iCnt); // continue building the string sb.Append(tempString); } } while (iCnt > 0); string strTmp = sb.ToString(); // bugfix by php DOM/XML creation. strTmp = strTmp.Replace("<DataBase/>", "<DataBase>"); strTmp= strTmp.Insert(strTmp.Length, "</DataBase>"); strResponse.Text = strTmp; // Save the correct xml file to the given location StreamWriter strWriter = new StreamWriter(@"C:\***\WebRqTest\Test\Db.xml"); strWriter.Write(strTmp); strWriter.Close(); // create a dataset for the dategridview DataSet dsBook = new DataSet(strTable.Text); // usw ......
Hoffe das ich Dir damit etwas weiterhelfen konnte.
MfG
mimo