tutorial para instalar español creator php qt post qt-creator qnetworkaccessmanager

php - para - ¿Cómo puedo publicar los datos en QtCreator?



qt tutorial español (1)

Aquí está mi código de creador de Qt para enviar los datos al servidor PHP y obtener la respuesta.

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; }

Y aquí está mi código php para recibir los datos de inicio de sesión y compararlos con los valores de la base de datos y enviar la respuesta.

<?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); ?>

Mi problema es ... Siempre recibo el mensaje FAIL del servidor. Incluso estoy enviando los datos de inicio de sesión correctos. por favor ayúdame donde estoy equivocado en mi código.


Voy a publicar un fragmento de código de mi propio programa. Espero que esto ayude:

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; }

El código de PHP obtendrá los valores del programa usando $ _POST array ($ _POST [''usrname''] y $ _POST [''password''] mantienen ambos valores enviados desde el programa), no $ _SERVER. No tengo idea de por qué usaste $ _SERVER.