Versio

Soap (hardnekkig)probleempje

Overzicht Reageren

Sebastiaan Blaas

Sebastiaan Blaas

12/06/2007 12:14:00
Quote Anchor link
beste,

Ik zit met een klein probleempje.
Als ik een soap-fault terug krijg. word mijn pagina niet meer getoond maar ter download aangeboden ( download idex.php .. ). Dit klinkt als een headers probleem, maar headers zijn gewoon goed...

Gekke is dat als ik gewoon soap-data terug krijg. Er niets aan de hand is.

Structuur van web-applicatie ziet er ongeveer als volgt uit:

index.php -> called : content.php -> called: module.php

uiteindlijk word $content geprint in index.php, en data wordt dus vanuit de includes steeds returned.
 
PHP hulp

PHP hulp

25/05/2012 18:07:51
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Sebastiaan Blaas

Sebastiaan Blaas

12/06/2007 12:30:00
Quote Anchor link
Oke ik ben alweer een stappie verder, echter word het nu nog waziger....

Ik werk met templates.

De returning content word als volgd in de template gezet:

$tpl->set ( 'content', include_once ( $scriptpath . 'bla.php' ) );

print $tpl->getPage ();

bovenstaand bied de pagina ter download aan....

Echter doe ik :
$content = include_once ( $scriptpath . 'bla.php' ) );
$tpl->set ( 'content', $content );
print $tpl->getPage ();

gaat het goed.

Zover ik weet zijn bovenstaande voorbeeldjes qua werking echt exact hetzelfde, desondanks gaat php er toch anders mee om ....
 
Jelmer rrrr

Jelmer rrrr

12/06/2007 13:23:00
Quote Anchor link
include & require zijn statements, geen functies. Ze geven dan ook geen waarden terug. $content bevat dus ook zeker niet de inhoud van bla.php.

Middels ob_start() en ob_get_clean() kan je wel een pagina die je 'include' opslaan in de output buffer en vervolgens de output buffer in een string dumpen. Dan zit het resultaat van bla.php wel in een string, zoals jij het nu probeert.
 
Sebastiaan Blaas

Sebastiaan Blaas

12/06/2007 13:27:00
Quote Anchor link
Als je de waarde in je included bestand returned.. komt dat wel degelijk terug in bv. $content;
 
Jelmer rrrr

Jelmer rrrr

12/06/2007 13:52:00
Quote Anchor link
hmm, maf, nooit geweten dat dat serieus werkte.

Probeer het eens met een extra paar () om include. Het blijft geen functie, dus misschien liggen de prioriteiten van uitvoeren wat anders dan je zou verwachten.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    $tpl
->set ( 'content', (include_once $scriptpath . 'bla.php') );
    print $tpl->getPage ();
?>
 
Martijn Wieringa

Martijn Wieringa

12/06/2007 13:55:00
Quote Anchor link
@Sebas
Ik zou ook verwachten dat bij de stukjes code dezelfde output zou moeten verschijnen. Raar dat de PHP Parser er zo mee om gaat... Als het niet kan zoals het moet dan moet het zoals het kan.. 'k zou dan dus maar gewoon die tweede methode blijven gebruiken.. maar het blijft inderdaad erg raar!



@Jelmer
include() en require() kunnen data terug geven als in het geinclude bestand een RETURN wordt gegeven.

Als er geen return wordt gegeven in het geïnclude bestand, wordt de waarde 1 (true) terug gegeven.

OB functies (output buffering) dient in mijn ogen alleen als maskeren van slecht geprogrammeerde software.. en is dus ook niet echt een oplossing.
 
Sebastiaan Blaas

Sebastiaan Blaas

12/06/2007 13:56:00
Quote Anchor link
I know... maar doe het al jaren op dezelfde manier :) En nu in 1x door weird soap server / client ding werkt het niet :)

2e probleem is dat apache config vermoed ik ook moeilijk zit te doen :)

En we hebben er ook ondertussen weer leuke error bij.
Leek mij begin van de week verstandig de applicatie maar eens soap-based te gaan maken. Maar begin er ondertussen bijna spijt van te krijgen :)
 
Sebastiaan Blaas

Sebastiaan Blaas

12/06/2007 14:40:00
Quote Anchor link
Nah zo in eens draait het weer... ik moet jullie enkel verschuldigd blijven wat het was.. dat eerste probleem is nog steeds niet verholpen helaas. Blijft vreemd gebeuren dit nog nooit meegemaakt...
 



Overzicht Reageren