Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在QtCreator中发布数据?_Php_Qt_Post_Qt Creator_Qnetworkaccessmanager - Fatal编程技术网

Php 如何在QtCreator中发布数据?

Php 如何在QtCreator中发布数据?,php,qt,post,qt-creator,qnetworkaccessmanager,Php,Qt,Post,Qt Creator,Qnetworkaccessmanager,下面是我的Qt creator代码,用于将数据发送到PHP服务器并获得响应 QNetworkAccessManager *manager = new QNetworkAccessManager(this); QNetworkAccessManager::connect(manager, SIGNAL(finished(QNetworkReply*)),this , SLOT(replyFinished(QNetworkReply*))); QNetworkRequest *re

下面是我的Qt creator代码,用于将数据发送到PHP服务器并获得响应

QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QNetworkAccessManager::connect(manager, SIGNAL(finished(QNetworkReply*)),this ,          SLOT(replyFinished(QNetworkReply*)));
QNetworkRequest *request = new   QNetworkRequest(QUrl("http://68.169.55.41/fss/verifylogindetails.php"));
QByteArray postData =" {\"estate_id\":\"hsr\",\"emp_pin\":1234,\"emp_id\":\"santhosh\"}";
request->setRawHeader( "User-Agent" , "Mozilla Firefox" );
request->setRawHeader( "charset", "utf-8" );
request->setRawHeader( "Connection", "keep-alive" );
manager->post(*request, postData );
}

void MainWindow::replyFinished(QNetworkReply *reply)
{
 QString data = reply->readAll().trimmed();
 qDebug() << data;
} 
<?php
include 'config.php'; 
$data = json_decode($_SERVER['HTTP_JSON']);
$con = mysql_connect($host, $user_name, $password);
if (!$con)
{
die('Could not connect: '.mysql_error());
}
mysql_select_db($db_name, $con);
$result = mysql_query("SELECT * FROM login_data_table");
while($row = mysql_fetch_array($result))
{
if((strcasecmp( $row['Emp_Id'], $data->emp_id) == 0) && ($row['Emp_Pin'] == $data- >emp_pin) && (strcasecmp( $row['Estate_Id'], $data->estate_id) == 0))
{
echo "SUCCESS"; 
}
else
{
echo "FAIL";
}
}
mysql_close($con);
?>
QNetworkAccessManager*manager=新的QNetworkAccessManager(此);
QNetworkAccessManager::连接(管理器,信号(完成(QNetworkReply*)),此插槽(replyFinished(QNetworkReply*));
QNetworkRequest*request=新的QNetworkRequest(QUrl(“http://68.169.55.41/fss/verifylogindetails.php"));
QByteArray postData=“{\'地产id\':\'高铁\',\'电磁脉冲pin\':1234,\'电磁脉冲id\':\'桑托什\'”;
请求->setRawHeader(“用户代理”、“Mozilla Firefox”);
请求->setRawHeader(“字符集”、“utf-8”);
请求->setRawHeader(“连接”,“保持活动”);
经理->发布(*请求,发布数据);
}
无效主窗口::replyFinished(QNetworkReply*reply)
{
QString data=reply->readAll().trimmed();
qDebug()

我的问题是…..我总是收到来自服务器的失败消息。即使我发送了正确的登录详细信息。请帮助我我的代码哪里错了。

我将发布我自己程序中的一段代码。希望这将有助于:

void MainWindow::sendPost(url)
{
    QUrl params;
    params.addQueryItem("usrname", login);
    params.addQueryItem("passwrd", password);

    QByteArray data;
    data.append(params.toString());
    data.remove(0,1);

    QNetworkAccessManager *manager = new QNetworkAccessManager(this);
    QNetworkReply *reply = manager->post(QNetworkRequest(url), data);
    CONNECT(reply, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
}

void MainWindow::replyFinished(QNetworkReply *reply)
{
 QString data = reply->readAll().trimmed();
 qDebug() << data;
} 
void主窗口::sendPost(url)
{
QUrl参数;
参数addQueryItem(“usrname”,登录名);
参数addQueryItem(“passwrd”,password);
QByteArray数据;
data.append(params.toString());
数据删除(0,1);
QNetworkAccessManager*manager=新的QNetworkAccessManager(此);
QNetworkReply*reply=manager->post(QNetworkRequest(url),数据);
连接(应答,信号(完成(QNetworkReply*)),此,插槽(应答完成(QNetworkReply*));
}
无效主窗口::replyFinished(QNetworkReply*reply)
{
QString data=reply->readAll().trimmed();

qDebug()您的PHP代码效率很低。我会在循环时使用“WHERE”进行更改SQL条件。另一个建议:使用PDO,而不是mysql_*函数。谢谢你的回复。我的数据库中只有一条记录。因此,我使用了where-well而不是where-well,那么你可以跳过while部分,只调用mysql_-fetch_数组一次:)。非常感谢。你的解决方案解决了我的问题。Witold Sosnowski先生