[PHP] Includen bestand inclusief querystring *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zit met een probleem, ik probeer een asp pagina te includen met variabelen zoals hieronder.

PHP:
1
2
3
4
$premie = include('premie/BerekenPremie.asp?LeeftijdAanvrager1=32&GeslachtAanvrager1=1
&OverlijdensrisicokapitaalAanvrager1=50000&
LeeftijdAanvrager2=30&GeslachtAanvrager2=2&
OverlijdensrisicokapitaalAanvrager2=50000&GewensteDoelkapitaal=225000');


Alleen dat doet het niet natuurlijk, dat komt ie namelijk met de foutmelding Failed opening etc etc

Nu had ik het volgende ook al geprobeerd.

PHP:
1
2
3
4
5
6
7
8
$LeeftijdAanvrager1 = $b1;
$GeslachtAanvrager1 = 1;
$OverlijdensrisicokapitaalAanvrager1 = $ovrka1;
$LeeftijdAanvrager2 = $b2;
$GeslachtAanvrager2 = 2;
$OverlijdensrisicokapitaalAanvrager2 = $ovrka2;
$GewensteDoelkapitaal = $gdk;
$premie = include("premie/BerekenPremie.asp");


Dan include hij de pagina wel alleen hij neem dat de variabelen niet mee.... en komt er dus als eind resultaat 1 terwijl dat iets van 2500 moet zijn. Ik heb ook al gezocht met de search maar ik kon niks vinden wat mij verder ging helpen.

Heeft iemand hier een oplossing voor ???

offtopic:
ik weet het, er zit een typo in de topic naam :)

[ Voor 9% gewijzigd door Verwijderd op 07-03-2003 17:01 ]


Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 17-09 23:59

TeeDee

CQB 241

ondersteund de webserver ook asp? Zo nee, dan kan het kloppen dat je niks krijgt, want asp wordt dan niet geparsed.

Of ik begrijp je verhaal verkeerd :)

Hoe worden de variabelen in de asp uitgelezen? Post eens wat code van die asp?

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

Trouwens, je kan op deze manier helemaal niet includen...
PHP != ASP en de code komt voor geen meter overheen.

OF je schrijft in ASP, OF je schrijft in PHP.

[ Voor 19% gewijzigd door gorgi_19 op 07-03-2003 17:05 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Tja, via het filesystem openen is toch ietsje anders dan via de webserver ophalen. Probeer je zelf eens voor de geest te halen wat je nu precies aan het doen bent en welk onderdeeltje wat voor z'n rekening neemt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 17-09 14:46

TheDane

1.618

je zou een http request voor die specifieke pagian kunnen sturen, de resultaten in een buffer plaatsen, en die buffer parsen ... that's the closest you'll get denk ik ...

Acties:
  • 0 Henk 'm!

  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 16-09 07:24
Er zijn al een aantal belangrijke dingen gezegd:
Wat gebruik je nou, ASP of PHP? De code lijkt namelijk op PHP, maar je hebt het over ASP.
Bedenk een goed wat je nou eigenlijk aan het doen bent. (Hint: functie?)

Om je op de goede weg te zetten moet je eens iets lezen over Server.execute (http://www.devguru.com/Te...ckref/server_execute.html)

[ Voor 9% gewijzigd door Arnaud op 07-03-2003 17:15 . Reden: Link verkeerd ]


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

fopen("http://blablabla") ipv include.

En dan echo'en wat je binnenkrijgt.
Dit aangezien je niet de pagina wilt includen maar het resultaat.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

Arnaud schreef op 07 maart 2003 @ 17:14:
Om je op de goede weg te zetten moet je eens iets lezen over Server.execute (http://www.devguru.com/Te...ckref/server_execute.html)
The Execute method allows you to call another ASP page from inside an ASP page
Je kan dus ASP en PHP niet met elkaar mixen... "browseroutput" kan je wel opvangen en verwerken in de andere 'taal'

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 16-09 07:24
AHA, ik begrijp nu eindelijk wat de TS wil. Hij heeft een ASP-pagina die aan de hand van een aantal variabelen (doorgegeven via de QueryString) een waarde "uitspuugt". Deze pagina wil hij aanroepen vanuit een PHP-pagina en de "uitgespuugde" waarde wil hij daarin opnemen. Server.Execute is de manier waarop je dit in ASP doet, maar wat het commando hiervoor in PHP is weet ik niet.

Als ik de reactie van Dusty echter goed inschat zou het zoiets moeten worden als
code:
1
$resultaat = fopen("http://url/pagina.asp?var1=val1&var2=val2")


Succes

[ Voor 6% gewijzigd door Arnaud op 07-03-2003 17:33 . Reden: verkeerde code-tags ]


Acties:
  • 0 Henk 'm!

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 09-09 15:24
Volgens mij bedoelt Hajorq iets anders:

Hij wil een asp-script met parameters aanroepen:

'premie/BerekenPremie.asp?LeeftijdAanvrager1=32&GeslachtAanvrager1=1
&OverlijdensrisicokapitaalAanvrager1=50000&
LeeftijdAanvrager2=30&GeslachtAanvrager2=2&
OverlijdensrisicokapitaalAanvrager2=50000&GewensteDoelkapitaal=225000'

en het resultaat daarvan toewijzen aan een variabele.

Hajorq?? is dit wat je bedoelt??

Dan zul je zoiets moeten doen als:
code:
1
$premie=join('',file('http://www.domein.nl/file.asp?foo=1'));


Let wel op wat die asp teruggeeft. alleen maar een nummer of ook '<html><head>....' enz.
want dan moet je dat er natuurlijk nog even uit filteren.

Beetle71

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ten eerste, bedankt voor al jullie reacties!

Ik kan zo niet zien of de oplossing er tussen staat maar ik zal morgen even kijken of 1 van de bovenstaande dingen werkt.
Ik gebruik dus ASP en PHP op 1 server ( windoos 2000 met IIS + PHP ) En wat beetle71 hierboven aangeeft klopt precies met wat ik wil.

Ik heb nu geen toegang tot die server waar het op draait, maar zodra het mij is gelukt zet ik de oplossing hier neer!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
het is niet gelukt met 1 van de bovenstaande oplossingen.... ik krijg elke keer de volgende foutmelding...

Warning: fopen(BerekenPremie.asp?LeeftijdAanvrager1=32&GeslachtAanvrager1=1&OverlijdensrisicokapitaalAanvrager
1=50000&LeeftijdAanvrager2=30&GeslachtAanvrager2=2&Overlijdensrisicokapitaal
Aanvrager2=50000&GewensteDoelkapitaal=225000) [function.fopen]: failed to
create stream: Invalid argument in c:\inetpub\wwwroot\vs\lib-leven.php on line 67

zelfde fout geeft hij ook bij de functie join.... en als ik dan de variabelen er achter weg haal dan geeft hij geen foutmelding.

[ Voor 10% gewijzigd door Verwijderd op 10-03-2003 12:14 ]


Acties:
  • 0 Henk 'm!

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 09-09 15:24
Laat dat stukje code eens zien.
(als ik in de startpost je code zie zie ik dat je newlines gebruikt in je querystring. Dat mag niet! of was dat alleen maar hier?)

Kun je de url wel direct openen in je browser? Dan zou het met de join-file gewoon moeten werken.
Just in case: Je gebruikt toch wel de url (http://domein.nl/premieberekening.asp) en niet file://c:\webroot\premieberekening.asp...

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Kijk ook even je phpinfo() na, en ga na of je fopen_url_wrappers wel aan hebt staan. Anders moet je die of aan zetten, of met fsockopen () aan de slag.

Als het ASP bestand ook door apache uitgevoerd wordt, kun je ook een subcall aan apache doen m.b.v. een virtual () aanroep.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 09-09 15:24
@drm

Hajorq zegt:
Ik gebruik dus ASP en PHP op 1 server ( windoos 2000 met IIS + PHP )
Dus geen apache....

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

ik mis " en http

[ Voor 34% gewijzigd door dusty op 10-03-2003 13:17 ]

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

beetle71:
@drm

Hajorq zegt:

[...]

Dus geen apache....

:o Je hebt gelijk :X
hajorq deze tip van gorgi_19 al bekeken?
Dan krijg je wel een andere foutmelding dan "failed to create stream" ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
1
$premie=join('',file('http://server/vs/premie/BerekenPremie.asp?LeeftijdAanvrager1=32.......etc));


(ik heb de url een stukje ingekort ivm het ver**ken van de layout)

ik kan de url wel direct openen in de browser ja, alleen als ik hem nu dus in php aanroep zegt die failed to create stream: HTTP request failed! HTTP/1.1 401 Access Denied in c:\inetpub\wwwroot\vs\lib.... dus dan heeft het iets met de restricties te maken toch?

[ Voor 14% gewijzigd door Verwijderd op 10-03-2003 13:47 ]


Acties:
  • 0 Henk 'm!

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 09-09 15:24
Access denied is vreemd, dat zou betekenen dat de webserver (de webserver-process-user) geen toegang heeft op zijn eigen websites...

Voor de zekerheid, (Als welke user draait het IIS process? en heeft deze rechten op die map)
Normaal gaat de toegang tot http volgens mij via de IUSR_<computer_name> 'anonymous' user. Maar misschien in dit geval toch via de IIS process user (Weet niet uit mijn hoofd welke dat is ) Maar het lijkt mij eigenlijk dat die daar toch ook leesrecht moet hebben.....

Geeft om te testen anders een voor eventjes (lees) toegang aan iedereen op die map.

Geef anders eens de complete foutmelding incl foutnummers enz..

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb iedereen toegang gegeven aan die map, alleen nu komt die opeens met een connection timeout als ik het asp script aan roep, en als ik alleen de computers toegang geef tot die map, dat doet het asp script het wel, alleen dan kan ik hem niet oproepen via het php script.

De server draait onder het administrator account, en deze heeft ook toegang tot de mappen die hij gebruikt!

Warning: file(http://server/vs/premie/BerekenPremie.asp?LeeftijdAanvrager1=32&GeslachtAanvrager1=1&OverlijdensrisicokapitaalAanvrager1=50000&LeeftijdAanvrager2=30&GeslachtAanvrager2=2&OverlijdensrisicokapitaalAanvrager2=50000&GewensteDoelkapitaal=225000)

[function.file]: failed to create stream: HTTP request failed! p9øw in c:\inetpub\wwwroot\vs\lib-leven.php on line 66

Dit geeft hij dan dus als foutmelding.

[ Voor 9% gewijzigd door Verwijderd op 10-03-2003 14:31 ]


Acties:
  • 0 Henk 'm!

  • Tom-Eric
  • Registratie: Oktober 2001
  • Laatst online: 25-03 09:11
Je kan ook remote files includen door middel van include(); Als je nou je url van je script include, werkt dit dan?

i76 | Webdesignersgids | Online Gitaarlessen & Muziekwinkels

Pagina: 1