w jaki sposób mogę wysłać z serwera c++ do php jakiś tekst np:
log = "tutaj jest log z serwera";
oraz odebrać go w php np:
echo $log
prosiłbym o jakiś przykład dzięki z góry
w jaki sposób mogę wysłać z serwera c++ do php jakiś tekst np:
log = "tutaj jest log z serwera";
oraz odebrać go w php np:
echo $log
prosiłbym o jakiś przykład dzięki z góry
W php robisz echo $_GET['test']
A w c++ socketem łączysz się na ip serwera za pomocą ip lub nazwy www.strona.pl, z której pozyskujesz ip.
Potem wysyłasz do serwera po połączeniu text
GET /index.html?test=asdfg HTTP/1.1
Host: www.strona.pl
a serwer zwróci ci nagłówek
HTTP/1.1 200 OK
I tam na dole będzie kod źródłowy strony i wykonana funkcja echo $_GET['test']
w ogóle cie nie zrozumiałem :(
Google[en]: c++ send to php
nigdzie NIE MA tego wytłumaczonego szukałem już
Jeśli skrypt w PHP odbiera dane z nagłówków żądań GET/POST, to po prostu wykonaj zapytanie tą metodą. Na przykład Qt oferuje coś takiego.
W php postaw REST a w cpp wysyłaj na dany endoiont
fasadin napisał(a):
W php postaw REST a w cpp wysyłaj na dany endoiont
mógłbyś dać przykład? bo już nic z tego nie rozumiem.
niestety ale w google nie wiele jest, a jak widać ten kto wie jak to zrobić, nie powie tylko będzie odsyłał do googli, ale chyba forum jest po to żeby pomagać.
poda ktoś przykład?
Za bardzo nie wiadomo o co Ci chodzi. Ja widzę 2 opcje.
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!";
return 0;
}
<?php
if (PHP_OS == 'WINNT') {
$line = stream_get_line(STDIN, 1024, PHP_EOL);
} else {
$line = readline();
}
echo "Wynik :" . $line;
Na wyjsciu :
Wynik:Hello world!
2) Masz postawiony serwer https://stackoverflow.com/questions/1011339/how-do-you-make-a-http-request-with-cttps://stackoverflow.com/questions/1011339/how-do-you-make-a-http-request-with-c
jako url podajesz twojadomena/skrypt.php?zmienna=coChceWyslac
w skrypcie php wypisujesz
echo $_GET['zmienna'];
Wynik: coChceWyslac
Kod w C++ i Qt:
#include <QCoreApplication>
#include <QtNetwork>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QNetworkAccessManager manager;
QNetworkRequest request;
request.setUrl(QUrl("http://localhost/x/x.php"));
request.setRawHeader(QByteArray("content-type"), QByteArray("application/x-www-form-urlencoded"));
auto reply = manager.post(request, "zmienna=jakis tekst");
QObject::connect(reply, &QNetworkReply::finished, [&] {
QByteArray result = reply->readAll();
qDebug().noquote()<<result;
});
return a.exec();
}
Skrypt w php:
<?php
echo "Wynik: ".$_POST["zmienna"];
?>
amb00 napisał(a):
Kod w C++ i Qt:
#include <QCoreApplication> #include <QtNetwork> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QNetworkAccessManager manager; QNetworkRequest request; request.setUrl(QUrl("http://localhost/x/x.php")); request.setRawHeader(QByteArray("content-type"), QByteArray("application/x-www-form-urlencoded")); auto reply = manager.post(request, "zmienna=jakis tekst"); QObject::connect(reply, &QNetworkReply::finished, [&] { QByteArray result = reply->readAll(); qDebug().noquote()<<result; }); return a.exec(); }
Skrypt w php:
<?php echo "Wynik: ".$_POST["zmienna"]; ?>
Qt jest platny? Da rade program skompilowac i odpalic na win i lunuxie?
Zy przekpmpiluje to na Visual Studio?
Dzieki za przyklad, mam nadzieje ze odpowiesz na moje pytanie juz z 3 tygodnie nad tym siedze i do tej pory nic.
na pewno tym bede mogl wyslac jakas wiadomosc z php i odebrac w silniku tak samo
Z silnika wyslac i odebrac w php?
Szkoda ze ci co umia nie pomoga, dla kogos to chwila wytlumaczyc,pomoc a ja juz okolo 3 tygodni siedze i nic.
A w google duzo NIE MA a nawet nic przydatnego.
ale dostales odpowiedzi ktore odpowiadaja na Twoje pytania. "DAJCIE PROGRAM KTORY SIE KOMUNIKUJE" nie jest pytaniem
Zadaj konkretne pytanie dostaniesz konkretna odpowiedz. Jezeli pytanie jest ogolne, dostales odpowiedz ogolna
Visual Studio do mojego przykładu jest kompletnie zbędne. Ściągnij QtCreatroa z kompilatorem, imho najlepiej z GCC. Qt jest darmowe jak nie używasz linkowania statycznego, więc nie masz się o co martwić, Qt jest też multi-platformowe, więc mój kod powinien zadziałać na Linuxie. Co do pytania "na pewno tym bede mogl wyslac jakas wiadomosc z php i odebrac w silniku tak samo", działa to w ten sposób, że aby odebrać wiadomość w silniku w C++, musisz wcześniej wysłać odpowiednie zapytanie do skryptu w PHP. Mój program odpowiada na twoje pytanie "Jak wysłać tekst z serwera c++ i wyświetlić w php?". Program w C++ wysyła tekst, a skrypt w PHP to odbiera i wyświetla. Trochę niesprawiedliwe jest to, że mówisz, że nikt Ci nie pomógł, skoro ja Ci dałem na tacy gotowca odpowiadającego na pierwotne pytanie.
Witam
Chciałem protestować skrypt i nie działa. Pojawia się błąd:
||=== Build: Debug in ftp__2 (compiler: GNU GCC Compiler) ===|
F:\C++\Projekt\ftp__2\main.cpp|15|fatal error: QCoreApplication: No such file or directory|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
O CO CHODZI ? Ktoś pomoże mi ? zajmuje się c++ od kilu dni :)
@Jarek3366 Kompilowałeś to pod QtCreatorem lub pod środowiskiem z załączonym Qt?
amb00 napisał(a):
@Jarek3366 Kompilowałeś to pod QtCreatorem lub pod środowiskiem z załączonym Qt?
Tak tez myślałem ze czegoś brakuje, nie uruchomiłem program code bloks i wkleiłem ten skrypt. Qt środowisko ? Ok poszukać w Google jak je dołączyć i z czym to się je :)
Dziękuje z info
Hmm wszędzie jest napisane ze qt to dotyczy C++ obiektowego a ja pisze pod konsola i chce po prostu wysłać tekst ze zmiennej do php.
@brunatny Kret Pobierz QtCreatora i pod nim to odpal. https://www.qt.io/
@Jarek3366 Przecież ten mój program też działa z poziomu konsoli. Nie ma interfejsu graficznego.
amb00 napisał(a):
@brunatny Kret Pobierz QtCreatora i pod nim to odpal. https://www.qt.io/
@Jarek3366 Przecież ten mój program też działa z poziomu konsoli. Nie ma interfejsu graficznego.
co zaznaczyc przy instalacji ? bo zainstalowalem bez zaznaczenia niczego.
teraz przy próbie utworzenia projektu doszedłem do zestaw narzedzi i dalej nie mogę brak poprawnych zestawów narzędzi
ten program to jakiś badziew nawet nie można się połączyć z mysqlem: