Exploring the world by bicycle! cyclingsilk.wordpress.com
If you can't beat them, try harder
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Bedankt voor je reactie, maar hiervan snap ik werkelijk waar niks. Ik ben wel een beetje bekent met PHP en C++ maar zowel API als SOAP zeggen mij niks.dingstje schreef op 26 augustus 2004 @ 12:14:
Je kan een extention schrijven voor PHP. De Zend API is vrij, dus das geen probleem. Je zou ook kunnen werken met SOAP of gewoon XML files schrijven op het filesystem.
Zou je misschien wat dieper hierop in willen gaan?
Exploring the world by bicycle! cyclingsilk.wordpress.com
SOAP is simpelweg een manier om objecten aan te spreken die in een ander proces (al dan niet op dezelfde PC) draaien.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Dit is de snelste methode om te maken.
Meest efficiente methode wanneer informatiestroom wat groter wordt of als de pagina vaak opgevraagd wordt is echter een database als bijv. MySQL, maar dit maakt het allemaal een stuk gecompliceerder.
Edit:
Btw. als het je lukt om een PHP script aan te roepen via C++, dan kun je natuurlijk ook gewoon de info doorspelen als GET-variabelen!
[ Voor 14% gewijzigd door Paul C op 26-08-2004 15:14 ]
God weet alles, want hij is lid van de Mosad. To protect your freedom i will take that away from you. Mijn drankgebruik heeft ernstig te lijden onder mijn gezondheid.
Of als argc/argv in de CLI modus van phppcmadman schreef op 26 augustus 2004 @ 15:13:
Btw. als het je lukt om een PHP script aan te roepen via C++, dan kun je natuurlijk ook gewoon de info doorspelen als GET-variabelen!
Misschien is dit interessant btw: http://www.coding-zone.co.uk/cpp/cgi/170401cgicpp.shtml
Mijn plekkie + Sympathisant van 'GoT voor Behoud der Nederlandsche Taal' [GvBdNT]
[mod-mode]PipoDeClown schreef op 26 augustus 2004 @ 15:17:
code:
1 #include <php.h>
http://www.php.net/manual/nl/zend.structure.php
En wat gaat ie daar nou in hemelsnaam aan hebben, leg me dat eens uit. Het is eigenlijk gewoon een loze reactie in een draad die je niet goed gelezen hebt, zeg dan niets. Daarnaast, al zou ie idd een PHP extension willen programmeren, dan heeft ie niets aan jouw reactie, aangezien het geen enkele nuttige waarde bevat.
[user-mode]
En voor de rest die praat over het aanroepen van PHP vanuit C++: Wat gaat dat php script dan doen? HTML outputten? Heeft ie weinig aan, aangezien die HTML niet naar die C++ applicatie maar naar de client moet. Er draait dus een C++ applicatie, waarvan bepaalde info moet worden gepubliceerd. Publiceren wil zeggen dat als een client een request doet op de server, dat hij die info voor z'n kiezen krijgt. De PHP op de webserver en de C++ applicatie die voor die informatie zorgt hebben dus weinig met elkaar te maken, en de een aanroepen vanuit de ander heeft dan ook geen enkel nut.
[ Voor 68% gewijzigd door .oisyn op 26-08-2004 18:18 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Een andere mogelijkheid zou zijn om een XML-file (die de data bevat), aan te passen naarmate de input. Deze XML-file naar de fileserver (of webserver) sturen via bijvoorbeeld FTP. Deze dan weer gewoon met de PHP-pagina parsen naar de client toe...
Met een socketverbinding ben je waarschijnlijk een stuk sneller klaar. Het hangt er wel een beetje vanaf wat voor informatie je precies hebt. De informatie eerst in een database stoppen is trouwens ook helemaal geen slecht plan; je voorkomt een hoop eigen communicatiecode en omdat de C++ en PHP delen helemaal gescheiden zijn, zijn beide onderdelen minder foutgevoelig.
Niet helemaal correct, je zou natuurlijk een PHP bestand kunnen aanroepen dat geen output heeft, maar enkel iets in de database opslaat. Dat lijkt me nog niet eens zo'n gek idee om iets vanuit C++ in een MySQL db te krijgen in dit geval!!.oisyn schreef op 26 augustus 2004 @ 18:11:
[...]
[user-mode]
En voor de rest die praat over het aanroepen van PHP vanuit C++: Wat gaat dat php script dan doen? HTML outputten? Heeft ie weinig aan, aangezien die HTML niet naar die C++ applicatie maar naar de client moet. Er draait dus een C++ applicatie, waarvan bepaalde info moet worden gepubliceerd. Publiceren wil zeggen dat als een client een request doet op de server, dat hij die info voor z'n kiezen krijgt. De PHP op de webserver en de C++ applicatie die voor die informatie zorgt hebben dus weinig met elkaar te maken, en de een aanroepen vanuit de ander heeft dan ook geen enkel nut.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Het is de bedoeling dat wij een C++ applicatie ontwikkelen die een SCSI apparaat gaat testen. Deze applicatie moet een bepaald testpatroon aflopenen op het device te testen. We hebben ervoor gekozen de status van het testen remote uit te lezen. Dit willen wij doen met een webpagina waarop heel simpel aagegeven wordt of een apparaat nog aan het testen is, klaar is of dat er een fout opgetreden is.
Er moet dus vanuit de C++ applicatie een koppeling worden gemaakt met PHP of met een database. Er moet een variabele van C++ gekoppeld worden aan een variabele van PHP of die met PHP uit te lezen is. We willen echt alleen werken met PHP/MYsql omdat hiervan onze kennis het grootst is. Ik hoop dat jullie nog meer nuttige informatie kunnen verschaffen over ons probleem.
Exploring the world by bicycle! cyclingsilk.wordpress.com
Tja, maar waar zit je probleem dan? Als je verstand hebt van mysql, cpp en php, wat houdt je dan tegen om gewoon af en toe de status van je scsi apparaat door dat cpp prog in de database te mikken, en gewoon bij een request op die php pagina het te lezen?IJnte schreef op 27 augustus 2004 @ 09:03:
Het is de bedoeling dat wij een C++ applicatie ontwikkelen die een SCSI apparaat gaat testen. Deze applicatie moet een bepaald testpatroon aflopenen op het device te testen. We hebben ervoor gekozen de status van het testen remote uit te lezen. Dit willen wij doen met een webpagina waarop heel simpel aagegeven wordt of een apparaat nog aan het testen is, klaar is of dat er een fout opgetreden is.
DB lijkt mij beetje overkill.
[ Voor 15% gewijzigd door pjvandesande op 27-08-2004 09:41 ]
Dat is dus even de moeilijkheid. Ik heb wel enige kennis van de 3 talen, maar ook weer niet zoveel dat ik het even allemaal zo opnoem.eamelink schreef op 27 augustus 2004 @ 09:35:
[...]
Tja, maar waar zit je probleem dan? Als je verstand hebt van mysql, cpp en php, wat houdt je dan tegen om gewoon af en toe de status van je scsi apparaat door dat cpp prog in de database te mikken, en gewoon bij een request op die php pagina het te lezen?
Ik moet me dan eerst gaan verdiepen in XML. Dit is gewoon geen optie. Ik wil het gewoon doen met de talen die ik beheers.questa schreef op 27 augustus 2004 @ 09:40:
Dan lijkt het mij het makkelijkst om de status in een XML file op te slaan en via PHP uit te lezen. Simple, eenvoudig en snel.
edit:
DB lijkt mij beetje overkill.
Ik heb ook al iets gelezen van Mysql++. Dit werkt met een GCC koppeling? Ik vindt dit erg lastig en dat lijkt me ook erg lastig.
Wat vinden jullie van het idee om zoals al een paar mensen hebben aangedragen om vanuit C++ iets in een tabel te schrijven?
Nog een klein punt om misschien makkelijk om te weten: Alle software komt op 1 pc te draaien. Kan ik op een simpele manier dan gewoon globale variabelen doorsturen naar mijn PHP script?
Exploring the world by bicycle! cyclingsilk.wordpress.com
Dan zou ik niet moeilijk gaan doen.
1. Prog je SCSI-meet-software in C/C++;
2. Dump de resultaten (zoals Eamelink en .oysin al zeggen) in MySQL. Lees: http://dev.mysql.com/doc/mysql/en/C.html ter referentie (staat veel info in, alhoewel het wel C is ) , http://dev.mysql.com/downloads/other/plusplus/ en http://dev.mysql.com/doc/plusplus/en/4_Tutorial.html voor een tutorial;
3. Met PHP lees je de data uit en pleur je het in een HTML-doc. Ik neem aan dat je zelf kan uitvinden hoe.
Easy as
Een database is wel handig omdat je testresultaten kan opslaan en vergelijken.

He, zo had ik het nog niet bekeken RedRose! Dan lijkt me een DB het makkelijkste idd, zeker omdat je dan alles kan bijhouden en een querie'tje uitvoeren is niet echt moeilijk.RedRose schreef op 27 augustus 2004 @ 10:10:
...Een database is wel handig omdat je testresultaten kan opslaan en vergelijken.
Dan heb je geen php en geen db nodig.
Als het geen html hoeft te zijn wordt het nog makkelijker. Je logt naar een bestand wat je allemaal doet. Dit doe je door steeds een regeltje aan het logbestand toe te voegen. Dit logbestand vraag je dan op met de webserver. Klaar!
[ Voor 3% gewijzigd door Sjaaky op 27-08-2004 10:47 ]
My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant
My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant
Dan kan hij zich beter gaan verdiepen in iets van XML en dat lezen of toch voor een DB kiezen.ATS schreef op 27 augustus 2004 @ 12:42:
Dat ligt eraan wat je nog meer wil. PHP outputten is flexibeler, omdat je de webpage kan aanpassen zonder het programma aan te passen.
GCC KoppelingIJnte schreef op 27 augustus 2004 @ 09:52:
Ik heb ook al iets gelezen van Mysql++. Dit werkt met een GCC koppeling? Ik vindt dit erg lastig en dat lijkt me ook erg lastig.
Mysql++ is gewoon een mysql library voor C++. Ik zou echter de gewone C library pakken (die kun je ook gewoon aanspreken vanuit C++), die lijkt enorm veel op hoe je in PHP met mysql omgaat en zit wat simpeler in elkaar.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Voor wat serieuze apps is een simpele wrapper om die library wel handig denk ik..oisyn schreef op 27 augustus 2004 @ 14:00:
GCC Koppeling
Mysql++ is gewoon een mysql library voor C++. Ik zou echter de gewone C library pakken (die kun je ook gewoon aanspreken vanuit C++), die lijkt enorm veel op hoe je in PHP met mysql omgaat en zit wat simpeler in elkaar.
Zelfs in PHP is een wrapper om mysql_query erg handig.
http://www.cplusplus.com/doc/tutorial/tut6-1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| // writing on a text file #include <fstream.h> int main () { ofstream examplefile ("c:/Apache/htdocs/statchk/index.html"); if (examplefile.is_open()) { examplefile << "<HTML><HEAD></HEAD><BODY>\n"; examplefile << "<H1>Status is:$status</H1>\n"; examplefile << "</BODY></HTML>\n"; examplefile.close(); } return 0; } |
Of dat met dat $status zo mag weet ik niet en misschien moet je nog iets escapen, maar ik dat weet ik niet, maar zo hoef je alleen naar <domein>/status/ te surfen en je kunt zien wat de status is!
Verwijderd
No offence, maar als ik de thread [rml][ php] Functie werkt niet[/rml] lees dan lijkt het erop alsof iniedergeval jouw kennis van PHP niet al te groot was. Tenzij je de afgelopen 2 maanden veel aan het leren bent geweest, zou het mischien niet een aanrader zijn om eerst een goede (php) cursus te gaan volgen en wat meer basis applicaties te maken alvorens je aan een toch wel wat gecompliceerder onderwerp als dit begint?IJnte schreef op 27 augustus 2004 @ 09:03:
Er moet een variabele van C++ gekoppeld worden aan een variabele van PHP of die met PHP uit te lezen is. We willen echt alleen werken met PHP/MYsql omdat hiervan onze kennis het grootst is.
Verwijderd
Dat script werkt de database bij, en een ander script laat de resultaten van de database zien.
Direct aan MySQL connecten kàn, maar vaak staan MySQL servers zo ingesteld dat ze alleen verbindingen accepteren vanaf localhost. En met een PHP script kun je de database, of de locatie ervan, of de user/password-combinatie, volledig verbergen voor het aanroepende programma, en in de toekomst zelfs veranderen zonder dat er aan het C++ programma iets veranderd hoeft te worden.
Een denkelijk scenario, het aanpassen van de username en password (omdat deze bekend zijn geraakt of whatever), zou bij het PHP-script scenario 1 kleine aanpassing in 1 script met zich mee brengen. Bij het direct-MySQL-vanuit-C++ scenario moet je daarvoor je C source file aanpassen, opnieuw compilen, en opnieuw uitrollen.
Mijn idee zou inderdaad net zo als hier boven staan zijn om een HTTP verbinding te maken en het PHP script gewoon met een POST te benaderen. Lekker makkelijk, en laat je gewoon alle 'ingewikkelde' database dingen door je PHP script doen..
Through meditation I program my heart to beat breakbeats and hum basslines on exhalation -Blackalicious || *BetuweKees was AFK; op de fiets richting China en verder
De C applicatie zet zijn data in een SQLite database, eentje waar je PHP script bijkan (SQLite heeft geen server, maar maakt gebruik van bestandjes. De server zit dan zeg maar ingebouwt in je toepassing, en toch ook weer niet). PHP leest deze weer. Gaat n stuk sneller dan MySQL, en is minder intensief.
Voor informatie dus gewoon ff die site raadplegen, onder 'Documentation' is wel het een en ander te vinden.
[ Voor 9% gewijzigd door RSpliet op 29-08-2004 14:07 ]
Schaadt het niet, dan baat het niet
Er bestaat ook nog zoiets als .conf files waar je dat soort gegevens in kunt zetten.Verwijderd schreef op 29 augustus 2004 @ 13:53:
Een denkelijk scenario, het aanpassen van de username en password (omdat deze bekend zijn geraakt of whatever), zou bij het PHP-script scenario 1 kleine aanpassing in 1 script met zich mee brengen. Bij het direct-MySQL-vanuit-C++ scenario moet je daarvoor je C source file aanpassen, opnieuw compilen, en opnieuw uitrollen.
Verwijderd
Dat is wel zo, en het is ook helemaal niet zo moeilijk om dat te doen. Je hebt zelfs complete libraries om nog makkelijker opties uit te lezen.OlafvdSpek schreef op 29 augustus 2004 @ 15:51:
[...]
Er bestaat ook nog zoiets als .conf files waar je dat soort gegevens in kunt zetten.
Toch is dat voor PHP toepassingen dikwijls al te veel gedoe. Het betekent dat je toch (minimaal) een beetje moet nadenken over de structuur van je applicatie. Het mooie van PHP is juist dat dat niet hoeft. Je kunt alles gewoon, wat wij als C++'ers 'hard-coded' noemen, in je code zetten en toch de flexabiliteit van config files houden. Je code is tegelijk een beetje je config file en daarom heet het ook een script taal i.p.v. programmeertaal. Natuurlijk moet je dit niet voor grotere projecten op die manier gaan doen, maar voor kleine simpele dingen is het voor veel mensen ideaal.
http rfc is vrij simpel
Ik heb in de afgelopen 6 weken een complete urenstaat in php en mysql in elkaar geprogrammeerd. Nu wil ik niet zeggen dat ik programmeerskills heb van de hoogste klasse maar ik weet na deze kleine studie gelukkig wat meer van PHP.Verwijderd schreef op 29 augustus 2004 @ 13:21:
[...]
No offence, maar als ik de thread [rml][ php] Functie werkt niet[/rml] lees dan lijkt het erop alsof iniedergeval jouw kennis van PHP niet al te groot was. Tenzij je de afgelopen 2 maanden veel aan het leren bent geweest, zou het mischien niet een aanrader zijn om eerst een goede (php) cursus te gaan volgen en wat meer basis applicaties te maken alvorens je aan een toch wel wat gecompliceerder onderwerp als dit begint?
Ik vindt het gewoon leuk om me te verdiepen in problemen en deze vervolgens op te lossen.
Het project wat wij gaan doen vereist geen mega programeer skils. Ik vindt het juist een uitdaging om binnen de opgelegde tijd een compleet programma te maken!
Een Project is iets wat (zoals mijn leraar zegt) niet tastbaar, en vooral moeilijke materie. Je gaat iets doen waar je weinig vanaf weet, en aan het einde hoop je gewoon een erg mooi product neer te kunnen zetten.
Dat topic wat ik toen geopend had, had betrekking op mijn online urenstaat, maar soms zie je gewoon even niet wat je fout doet

Ik hoop met mijn topic gewoon erg veel informatie te krijgen en daaruit ook te leren. Ik ben zeker niet beroerd om iets uit te zoeken. Ik probeer gewoon zoveel mogelijk te leren, maar daarbij heb je soms een steuntje in de rug nodig
Exploring the world by bicycle! cyclingsilk.wordpress.com

Exploring the world by bicycle! cyclingsilk.wordpress.com
Zoek maar op C++ / COM en eventueel voor javascript op 'ActiveXObject'
Verwijderd
Hoewel MS (en velen anderen) er ondertussen anders over denken, vind ik het COM mechanisme toch wel aardig.jw schreef op 01 september 2004 @ 20:22:
Bij ons op het werk maken we oa. gebruik van COM in C++. Deze COM componenten zijn direct benaderbaar via javascript. Hierdoor is het zelfs mogelijk om dynamisch je webpagina aan te passen op het moment dat een test klaar is of fout gegaan is. Er hoeft dan niet gerefreshed te worden.
Zoek maar op C++ / COM en eventueel voor javascript op 'ActiveXObject'
Bedenk je echter wel 2x voordat je dit op een webpage gaat gebruiken. Een ActiveX object runned namelijk op de machine van de client en dient dus daar geinstalleerd te worden. Over het algemeen wordt dit als redelijk arrogant gezien: Je maakt namelijk de assumptie dat de gebruiker een Windows OS op een x86 CPU draait en maakt inbreuk op de privacy van een user. Hoewel mensen wel altijd gewone applicaties willen installeren (van vertrouwde bronnen) die vanzelfsprekend evenveel toegang hebben tot jouw systeem als een ActiveX object, zijn de meeste mensen toch een stuk huiveriger voor web pages die perse iets willen installeren.
Het "refresh" voordeel is ook wel gewoon met javascript en een iframe oid te bereiken
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.