Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C++ (http://www.go4expert.com/forums/cpp/)
-   -   Need help with C++ and WWW POST Method (http://www.go4expert.com/forums/help-cpp-www-post-method-t3098/)

dnn_gb 21Feb2007 17:40

Need help with C++ and WWW POST Method
 
Hi all,

I need urgent help! I write windows service wich communicates with a web server with php.
I'm using class W3Client ( http://www.codeproject.com/internet/w3client.asp ) for web requests. I have a directory content stored in C++ vector and need to post it to webpage.

Here is stored file or dir information information:
Code:

class DirectoryElement
{
      private:
            string Name;
            string fullPath;
            int Type;
            long Size;
      public:
            DirectoryElement();
            void setName( string name );
            string getName();
            void setFullPath( string name );
            string getFullPath();
            void setType( int type );
            int getType();
            void setSize( long size );
            long getSize();
};

This is storage for all files and folders in one dir:
vector<DirectoryElement> Elements;

And I try to send them with this function:
Code:

void Commandexec::sendDir()
{
    W3Client w3;
    cout<<"Using server: "<<cmdIng.getCommandingServer()<<" for sending dirs"<<endl;
    if( w3.Connect( cmdIng.getCommandingServer().c_str() ) ){
        w3.AddPostArgument("start_session", 1);
        w3.AddPostArgument("currpath", dirList.GetCurrentPath().c_str());
        if(w3.Request("/commanding/dirs.php", W3Client::reqPost)){
              for( int j = 0; j<dirList.Elements.size(); j++ ){
                  w3.AddPostArgument("start_session", 0);
                  w3.AddPostArgument("FileNo", j);
                  w3.AddPostArgument("File", dirList.Elements[j].getName().c_str());
                  w3.AddPostArgument("FullPath", dirList.Elements[j].getFullPath().c_str());
                  w3.AddPostArgument("Type", dirList.Elements[j].getType());
                  w3.AddPostArgument("Size", dirList.Elements[j].getSize());
                  if(w3.Request("/commanding/dirs.php", W3Client::reqPost)){
                  }
              }                     
        }     
    }
    w3.Close();
}

And this function do not work.... :mad:

This is php code:
Code:

<?php
        include("config.php");

        $ip = $REMOTE_ADDR;
        $conn = mysql_connect($host, $user, $pass);
        if(!$conn) die(0);
        $dbselect = mysql_select_db($database, $conn);
        if(!$dbselect) die(0);

        $dbret = mysql_query("SELECT * FROM command WHERE id=0", $conn);
        $dbdata = mysql_fetch_array($dbret);
        if($dbdata[3] == $ip){
                if($_POST["start_session"] == 1 ){
                        mysql_query("DELETE FROM dirlist", $conn);
                        $query = sprintf("INSERT INTO dirlist(id, Name, FullPath, Type, Size) VALUES(0, '%s', 'currpath', 0, 0)", $_POST["currpath"]);
                        mysql_query($query, $conn);
                }else{
                        $query = sprintf("INSERT INTO dirlist(id, Name, FullPath, Type, Size) VALUES(%d, '%s', '%s', %d, %d)", $_POST["FileNo"], $_POST["File"], $_POST["FullPath"], $_POST["Type"], $_POST["Size"]);
                        mysql_query($query, $conn);

                }
        }
        mysql_close($conn);
?>

All code is dirty, stupid and ... but I have no time! Please help me! I'm hurry!


All times are GMT +5.5. The time now is 15:49.