[PHP] Geposte XML data opvangen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • maykeltje
  • Registratie: November 2005
  • Laatst online: 21-03-2023
Hoi iedereen. Ik wil samen met een kameraad een kleine sms dienst opzetten. Nu stuurt het bedrijf waarbij de smsjes binnen komen me meteen op een bepaald adres XML gegevens (Deze staan in de body van het bestand wat ze sturen).

Nu moet ik in php of html (Wat het gemakkelijkste is deze zoals ze noemen "geposte data" opvangen zodat deze gegevens in een bestand opgevangen en verwerkt worden. Kan iemand me hiermee helpen hoe te beginnen?

Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Even voor de duidelijkheid: sturen ze een emailtje met een xml-bestand, zetten ze het ergens online neer (ftp) of doen ze een post naar een pagina op je eigen webserver?

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

  • maykeltje
  • Registratie: November 2005
  • Laatst online: 21-03-2023
Ze doen een post naar een pagina op een server. Als ik maar wist hoe te beginnen. Ik kan dan als het goed is meteen die post verwerken met een script?

Ik heb op google al een paar dagen gezocht en gezocht maar kan niet echt voorbeelden of iets dergelijks vinden van dit wat ik wil. Wel het oproepen van xml en dergelijke in html via xls dat is me al op simpele basis gelukt maar dit is toch al heel wat anders.

In ieder geval al hartelijk dank voor de reactie en de eventuele hulp zou super zijn.

Acties:
  • 0 Henk 'm!

  • joopst
  • Registratie: Maart 2005
  • Laatst online: 01-10-2024
met .net kan je de inputstream uitlezen en die als xml behandelen. Daarvoor gebruik je de request.inputstream en dan xpathdocument ...

[ Voor 5% gewijzigd door joopst op 22-11-2005 15:46 ]


Acties:
  • 0 Henk 'm!

  • bimm
  • Registratie: November 2005
  • Laatst online: 13-01 20:15
Uitgaande dat ze naar een bepaald PHP script sturen kun de de POST data opvangen en grotendeels behandelen met de ingebouwde XML or XSLT functies die PHP meestal heeft. Het is wel nuttig eens te weten hoe precies je die xml message binnenkrijgt op je server.

XML en XSLT voorbeelden binnen php zijn goed te vinden met google.

Ik ook, jij niet?


Acties:
  • 0 Henk 'm!

  • maykeltje
  • Registratie: November 2005
  • Laatst online: 21-03-2023
het is nu net niet de bedoeling .net te gebruiken omdat er dan asp hosting moet zijn volgens mij ik zoek meer zoiets als http://www.phpfreakz.nl/f...orum=9&iid=493726&print=1

in deze link verwerkt is volgens mij dus ik heb al iets meer maar kan er nog niets mee

Acties:
  • 0 Henk 'm!

Verwijderd

Lees [rml]ivy in "[ php] nu.nl xml parsen en titels eruit h..."[/rml] even om een klein beeld te vormen over dataverwerking afkomstig van XML-feeds. Wellicht dat je daar al verder mee komt.

Ten tweede is het zaak om de data die je, in de vorm van XML, ontvangt, op te slaan in een database. Als je tenslotte een simpele applicatie maakt die de inhoud van je database toont, kun je je smsjes lezen op het scherm.

En het is dan aan jou om er wat mee te doen :Y)
Succes trouwens, heb enkele jaren terug bij een van de grootste SMS-services bedrijven van de Benelux gewerkt en het is zeer interessante business allemaal - financieel en technisch gesproken ;)

Succes.

Acties:
  • 0 Henk 'm!

  • maykeltje
  • Registratie: November 2005
  • Laatst online: 21-03-2023
ik vond al deze link: http://www.phphulp.nl/php/howto/index.php?page=10

alleen zoekt deze hier in al bestaande bestanden met een directe link of in een map. Maar deze reageerd niet op aangeboden bestanden dit moet toch ook mogelijk zijn?

Acties:
  • 0 Henk 'm!

  • joopst
  • Registratie: Maart 2005
  • Laatst online: 01-10-2024
met php gebruik je:
$data = file_get_contents('php://input');
je kan de php site erop na lezen

in $data zit dan de geposte xml (met de gegevens uit je smsje)

Acties:
  • 0 Henk 'm!

  • maykeltje
  • Registratie: November 2005
  • Laatst online: 21-03-2023
zo krijg ik hem binnen zie ik net op de mail binnenkomen dus geen $data

<?xml version="1.0" encoding="ISO-8859-1"?>

<redirect version="1.0">

<message>

<shortcode>3553</shortcode>

<keyword>MANUAL</keyword>

<originator>+3161234567</originator>

<processed>11/21/2005 09:00:00</processed>

<smsdata><![CDATA[MANUAL Dit is een SMS bericht]]></smsdata>

</message>

</redirect>

Acties:
  • 0 Henk 'm!

  • joopst
  • Registratie: Maart 2005
  • Laatst online: 01-10-2024
Nu moet ik in php of html (Wat het gemakkelijkste is deze zoals ze noemen "geposte data" opvangen zodat deze gegevens in een bestand opgevangen en verwerkt worden. Kan iemand me hiermee helpen hoe te beginnen?
ik heb begrepen dat de xml die je hierboven print wordt gepost naar een door jou op te zetten php pagina.
als dat klopt, dan moet je dus eerst de geposte xml 'ontvangen' en er dan iets mee doen (bijv. in de database zetten)

stel je sms-bedrijf 'POST' de xml (met de sms) naar jouw php file, dan kan je in php de geposte xml uitlezen met $data = file_get_contents('php://input');

ik dacht dat je dat bedoelde, kan je anders eens omschrijven wat je precies zoekt ?

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 19-09 22:18

chem

Reist de wereld rond

Wat een moeilijk gedoe allemaal, gebruik gewoon $HTTP_RAW_POST_DATA in PHP?

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09 23:18

djc

chem schreef op woensdag 23 november 2005 @ 09:27:
Wat een moeilijk gedoe allemaal, gebruik gewoon $HTTP_RAW_POST_DATA in PHP?
Die php://input zou ook moeten werken. Ik meen me te herinneren dat HTTP_RAW_POST_DATA niet altijd beschikbaar is.

Rustacean


Acties:
  • 0 Henk 'm!

  • maykeltje
  • Registratie: November 2005
  • Laatst online: 21-03-2023
$data = file_get_contents('php://input');


zou dan inderdaad voor me kunnen werken. Ik zoek op internet overal naar voorbeeldbestanden ofzo om te veranderen en te proberen. Kan iemand me helpen met het opzetten van zoiets? Ik ben niet echt een php goeroe maar wil wel hiermee wat meer gaan kunnen dus hulp hiermee zou geweldig zijn.

Ik neem aan dat met $data = file_get_contents('php://input'); het php bestand automatisch de xml binnen haalt hoe het xml bestand ook genoemd is? Hiernaa moet het worden weggeschreven naar een ander bestand dus bijvoorbeeld html of ook php om in te lezen. Dat zou dus mogelijk zijn gaaf zeg wat tegenwoordig allemaal kan.

Acties:
  • 0 Henk 'm!

Verwijderd

maykeltje schreef op woensdag 23 november 2005 @ 11:15:
$data = file_get_contents('php://input');


zou dan inderdaad voor me kunnen werken. Ik zoek op internet overal naar voorbeeldbestanden ofzo om te veranderen en te proberen. Kan iemand me helpen met het opzetten van zoiets? Ik ben niet echt een php goeroe maar wil wel hiermee wat meer gaan kunnen dus hulp hiermee zou geweldig zijn.

Ik neem aan dat met $data = file_get_contents('php://input'); het php bestand automatisch de xml binnen haalt hoe het xml bestand ook genoemd is? Hiernaa moet het worden weggeschreven naar een ander bestand dus bijvoorbeeld html of ook php om in te lezen. Dat zou dus mogelijk zijn gaaf zeg wat tegenwoordig allemaal kan.
Met alle respect, heb een klein beetje het gevoel dat je niet veel (nihile?) kennis hebt van PHP en dan is hetgeen je wil niet heel eenvoudig te realiseren, zeker niet als je ook nog met databases moet gaan werken zoals ik eerder opperde. Met alle hulp die je hier al ontvangen hebt en zeker met behulp van de link in mijn vorige reply moet je een heel eind kunnen komen. Je eerste prioriteit moet liggen bij het ontvangen van de xml-feed en het plaatsen van die data in een variabele. Als dat gelukt is moet je met bijvoorbeeld een xml-parser de data extracten en deze ergens veilig opslaan.

Ik wil je wel voor de duidelijkheid melden dat als je, zoals ik vermoed, geen of erg weinig ervaring hebt met PHP je nog wel even zoet bent in de aankomende decemberma(a)nd(en) ;)

Succes.

Acties:
  • 0 Henk 'm!

Verwijderd

In principe word er een normale HTTP POST naar je server gedaan. Het nadeel dat nu ontstaat is echter dat je niet weet wat je binnen krijgt, en dus niet weet wat je op moet vangen. Hiervoor kun je bijvoorbeeld de POST data naar jezelf mailen met mail(). Dan heb je een overzicht waaruit de geposte data bestaat (bijvoorbeeld wat de var naam is die gepost word). Dan kun je het script aanpassen zodat de binnengekomen gegevens direct worden verwerkt in een database.

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op woensdag 23 november 2005 @ 13:09:
In principe word er een normale HTTP POST naar je server gedaan. Het nadeel dat nu ontstaat is echter dat je niet weet wat je binnen krijgt, en dus niet weet wat je op moet vangen. Hiervoor kun je bijvoorbeeld de POST data naar jezelf mailen met mail(). Dan heb je een overzicht waaruit de geposte data bestaat (bijvoorbeeld wat de var naam is die gepost word). Dan kun je het script aanpassen zodat de binnengekomen gegevens direct worden verwerkt in een database.
"...dat je niet weet wat je binnen krijgt, en ...."

Niet weten wat je binnenkrijgt is op te lossen door contact op te nemen met de verzender, in dit geval de SMS-service aanbieder. Die kunnen jou precíes vertellen wát ze verzenden en met die informatie kun je een ontvangstscript gaan maken. Niet eerder. Waarom gissen naar iets dat, om met een term van de Sint te praten, een ander jou zo in de schoenen kan schuiven?

Acties:
  • 0 Henk 'm!

Verwijderd

Ik vraag mezelf af wat het voordeel is van op deze wijze met XML omgaan tegenover bijv een XML-RPC server / client. Waarom zou men voor het één dan wel het ander kiezen?
Pagina: 1