PDA

Bekijk Volledige Versie : session variabelen doorgeven naar PHP script



matthijsdezwart@gmail.com
13/04/09, 20:25
Hallo,

In PHP heb ik een Sessie opgezet en één van de variabelen is
“validated” ($_SESSION["validated"]). Deze wordt geruikt als boolean
en staat op true.

Wanneer ik in het PHP script, waar deze variabele is geset, een
include doe (include('mytestscript.php')), dan wordt $_SESSION
["validated"] gechecked.

<?php
if ($_SESSION["validated"])
{
echo"gevalideerd <br>";
}
else
{
echo"Loser<br>";
}
?>

dan zie ik “gevalideerd” op mijn scherm staan.

Dus op zich werkt dat wel.

Maar bij het oproepen van een binary via een php script, gaat het mis.

Wanneer dit in het originele script staat waar $_SESSION[“validated”]
op true wordt gezet

echo"<p><img border=\"0\" src=\"secblob.php?img=1.jpg\" width=\"360\"
height=\"518\"></p>";

en secbin.php heeft deze inhoud:

<?php
if ($_SESSION["validated"])
{
$img = $_GET['img'];
//header("Content-type: image/jpg");
$instr = fopen("secblob/".$img,"rb");
$bytes = fread($instr,filesize("secblob/".$img));
fclose($instr);
print $bytes;
}
else
{
session_destroy();
die();
}
?>

Dan krijg ik geen plaatje te zien.
Terwijl als ik secbin.php aanpas naar:

<?php
$img = $_GET['img'];
//header("Content-type: image/jpg");
$instr = fopen("secblob/".$img,"rb");
$bytes = fread($instr,filesize("secblob/".$img));
fclose($instr);
print $bytes;
?>

dan krijg ik wel een plaatje te zien. Dus op zich werkt dat plaatje
inlezen en doorsturen verhaal wel, maar er gaat iets mis bij de
validatie. Iemand enig idee wat ik moet toevoegen bij secbin om
$_SESSION[“validated”] wel goed te kunnen controleren?
Groeten,

Matthijs

robert
13/04/09, 21:55
matthijsdezwart@gmail.com <matthijsdezwart@gmail.com>:
> en secbin.php heeft deze inhoud:
>
> <?php
> if ($_SESSION["validated"])
> {
> $img = $_GET['img'];
> //header("Content-type: image/jpg");
> $instr = fopen("secblob/".$img,"rb");
> $bytes = fread($instr,filesize("secblob/".$img));
> fclose($instr);
> print $bytes;
> }
> else
> {
> session_destroy();
> die();
> }
> ?>
>
> Dan krijg ik geen plaatje te zien.

Werkt het als je eerst session_start() aanroept voordat je $_SESSION
gebruikt?

--
robert

matthijsdezwart@gmail.com
13/04/09, 22:15
On 13 apr, 21:50, US3N37+{n.i.w...@gmail.com.invalid (robert) wrote:
> matthijsdezw...@gmail.com <matthijsdezw...@gmail.com>:
>
>
>
>
>
> > en secbin.php heeft deze inhoud:
>
> > <?php
> > if ($_SESSION["validated"])
> > {
> > $img = $_GET['img'];
> > //header("Content-type: image/jpg");
> > $instr = fopen("secblob/".$img,"rb");
> > $bytes = fread($instr,filesize("secblob/".$img));
> > fclose($instr);
> > print $bytes;
> > }
> > else
> > {
> > session_destroy();
> > die();
> > }
> > ?>
>
> > Dan krijg ik geen plaatje te zien.
>
> Werkt het als je eerst session_start() aanroept voordat je $_SESSION
> gebruikt?

Hoi,

Ik gebruik session_start idd al. Werkt dus helaas niet.... Moet ik nog
iets in die php file (secbin) zetten om iets van die sessie af te
kunnen vangen?
groeten,

Matthijs

robert
14/04/09, 14:05
matthijsdezwart@gmail.com <matthijsdezwart@gmail.com>:
> On 13 apr, 21:50, US3N37+{n.i.w...@gmail.com.invalid (robert) wrote:
>> matthijsdezw...@gmail.com <matthijsdezw...@gmail.com>:
>>
>> > en secbin.php heeft deze inhoud:
>>
>> > <?php
>> > if ($_SESSION["validated"])
>> > {
>> > $img = $_GET['img'];
>> > //header("Content-type: image/jpg");
>> > $instr = fopen("secblob/".$img,"rb");
>> > $bytes = fread($instr,filesize("secblob/".$img));
>> > fclose($instr);
>> > print $bytes;
>> > }
>> > else
>> > {
>> > session_destroy();
>> > die();
>> > }
>> > ?>
>>
>> > Dan krijg ik geen plaatje te zien.
>>
>> Werkt het als je eerst session_start() aanroept voordat je $_SESSION
>> gebruikt?
>
> Hoi,
>
> Ik gebruik session_start idd al. Werkt dus helaas niet.... Moet ik nog
> iets in die php file (secbin) zetten om iets van die sessie af te kunnen
> vangen?

Voor de duidelijkheid: je hebt die session_start() in secbin.php staan?
Want hierboven post je de inhoud daarvan, terwijl ik nergens
session_start() zie staan.

--
robert

matthijsdezwart@gmail.com
15/04/09, 08:45
> Voor de duidelijkheid: je hebt die session_start() in secbin.php staan?
> Want hierboven post je de inhoud daarvan, terwijl ik nergens
> session_start() zie staan.

uh nee. Session_start staat in het PHP script dat $_SESSION
["validated"]) op true zet. Moet ik session_start opnieuw doen bij een
ander PHP script? Ik dacht dat het sever side was?
Groeten,

Matthijs

robert
15/04/09, 09:05
matthijsdezwart@gmail.com <matthijsdezwart@gmail.com>:
>> Voor de duidelijkheid: je hebt die session_start() in secbin.php staan?
>> Want hierboven post je de inhoud daarvan, terwijl ik nergens
>> session_start() zie staan.
>
> uh nee. Session_start staat in het PHP script dat $_SESSION
> ["validated"]) op true zet. Moet ik session_start opnieuw doen bij een
> ander PHP script? Ik dacht dat het sever side was?

Ik ben geen PHP-guru, maar ik begreep uit de documentation dat
session_start() gebruikt wordt om $_SESSION te bevolken met de juiste data,
ook als de sessie al bestaat.

--
robert

matthijsdezwart@gmail.com
15/04/09, 11:05
On 15 apr, 08:59, US3N37+{n.i.w...@gmail.com.invalid (robert) wrote:
> matthijsdezw...@gmail.com <matthijsdezw...@gmail.com>:
>
> >> Voor de duidelijkheid: je hebt die session_start() in secbin.php staan?
> >> Want hierboven post je de inhoud daarvan, terwijl ik nergens
> >> session_start() zie staan.
>
> > uh nee. Session_start staat in het PHP script dat $_SESSION
> > ["validated"]) op true zet. Moet ik session_start opnieuw doen bij een
> > ander PHP script? Ik dacht dat het sever side was?
>
> Ik ben geen PHP-guru, maar ik begreep uit de documentation dat
> session_start() gebruikt wordt om $_SESSION te bevolken met de juiste data,
> ook als de sessie al bestaat.

als ik thuis ben, ga ik dat nog eens even testen.
mazzel,

Matthijs

matthijsdezwart@gmail.com
16/04/09, 19:55
> > >> Voor de duidelijkheid: je hebt die session_start() in secbin.php staan?
> > >> Want hierboven post je de inhoud daarvan, terwijl ik nergens
> > >> session_start() zie staan.
>
> > > uh nee. Session_start staat in het PHP script dat $_SESSION
> > > ["validated"]) op true zet. Moet ik session_start opnieuw doen bij een
> > > ander PHP script? Ik dacht dat het sever side was?
>
> > Ik ben geen PHP-guru, maar ik begreep uit de documentation dat
> > session_start() gebruikt wordt om $_SESSION te bevolken met de juiste data,
> > ook als de sessie al bestaat.
>
> als ik thuis ben, ga ik dat nog eens even testen.
> mazzel,

net nog even wat getest en ja hoor, het werkt. Heel erg bedankt!
mazzel,

Matthijs