Seite 1 von 1
PHP script auf Webserver starten und Ergebnis erhalten
Verfasst: 27. September 2017 13:59
von Tomaxx
Hallo Zusammen
Kann man unter QT ein PHP-Script auf einem Server starten und das Ergebnis verarbeiten?
Ich habe dort eine MySQL-Datenbank und möchte auf diese Weise den externen Zugriff auf die Datenbank aus Sicherheitsgründen umgehen.
Meine Vorstellung wäre, einen kompletten Aufruf eines PHP-Programmes abzusetzen und das Ergebnis einzufangen:
Code: Alles auswählen
http://www.server.de/verzeichnis/lic_get.php?parameter1='lala'&benutzer='papa'&firma='dada'
Der PHP-Code erzeugt nur eine einzige Zeile als Ausgabe, zum Beispiel
Mit diesem String würde ich gerne weiterarbeiten.
Re: PHP script auf Webserver starten und Ergebnis erhalten
Verfasst: 2. Oktober 2017 11:28
von Christian81
Re: PHP script auf Webserver starten und Ergebnis erhalten
Verfasst: 2. Oktober 2017 12:54
von Tomaxx
Ja, das hatte ich auch schon entdeckt....
Aber ich muss gestehen, ich verstehe es im Moment noch nicht.
Hätte nicht jemand ein codeschnipsel, mit dem ich anfangen kann?
Das hier aus deinem Link gibt mir Fehlermeldungen:
Code: Alles auswählen
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
manager->get(QNetworkRequest(QUrl("http://www.schubag.ch//pumppro//lic_get.php")));
Code: Alles auswählen
C:\Users\singler\Desktop\CPP\PumpPro\mainwindow.cpp:-1: Fehler: undefined reference to `_imp___ZN21QNetworkAccessManagerC1EP7QObject'
C:\Users\singler\Desktop\CPP\PumpPro\mainwindow.cpp:-1: Fehler: undefined reference to `_imp___ZN15QNetworkRequestC1ERK4QUrl'
C:\Users\singler\Desktop\CPP\PumpPro\mainwindow.cpp:-1: Fehler: undefined reference to `_imp___ZN21QNetworkAccessManager3getERK15QNetworkRequest'
C:\Users\singler\Desktop\CPP\PumpPro\mainwindow.cpp:-1: Fehler: undefined reference to `_imp___ZN15QNetworkRequestD1Ev'
C:\Users\singler\Desktop\CPP\PumpPro\mainwindow.cpp:-1: Fehler: undefined reference to `_imp___ZN15QNetworkRequestD1Ev'
collect2.exe:-1: Fehler: error: ld returned 1 exit status
Thomas
Re: PHP script auf Webserver starten und Ergebnis erhalten
Verfasst: 2. Oktober 2017 13:11
von Tomaxx
Selbst schon nur die erste Zeile gibt Fehler:
Code: Alles auswählen
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
Code: Alles auswählen
C:\Users\singler\Desktop\CPP\PumpPro\mainwindow.cpp:-1: Fehler: undefined reference to `_imp___ZN21QNetworkAccessManagerC1EP7QObject'
collect2.exe:-1: Fehler: error: ld returned 1 exit status
Re: PHP script auf Webserver starten und Ergebnis erhalten
Verfasst: 2. Oktober 2017 15:40
von Tomaxx
Bin einen Schritt weiter - keine Fehlermeldungen mehr.
Es fehlte die Einstellung "QT += network" im Projektfile.
Jetzt habe ich folgenden Code:
Code: Alles auswählen
QNetworkAccessManager *nam = new QNetworkAccessManager(this);
QUrl url("http://www.schubag.ch/pumppro/lic_get.php");
cout << "1 " + url.toString().toStdString() << endl;
QNetworkReply* reply = nam->get(QNetworkRequest(url));
cout << "2 " << endl;
QString data = (QString) reply->readAll();
cout << "3 --->" + data.toStdString() + "<---" << endl;
Wenn ich die Adresse
http://www.schubag.ch/pumppro/lic_get.php im Browser eingebe, kommt als Ausgabe
"Keine Daten"
- Das ist auch richtig und daran sehe ich, dass die PHP-Datei richtig arbeitet.
Ich hätte erwartet, dass diese Ausgabe auch im reply landet - tut sie aber nicht.
Meine cout Ausgabe ist:
Code: Alles auswählen
1 http://www.schubag.ch/pumppro/lic_get.php
2
3 ---><---
Wo habe ich den Fehler?