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


Anmelden zum Antworten