[php] variabele tussen includes in wil niet?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
heya!

ik ben even aan het kloten met een loginscriptje maar het lijkt erop alsof er ergens iets verkeerd gaat met de variabellen in een include.

ik heb in de index.php
PHP:
1
2
3
4
<?
include "koekje.php";
include "loginscherm.php";
?>


koekje.php
PHP:
1
2
3
4
5
6
<?
$abc = "1"; // ff toegevoegd ivm debuggen
if( isset($HTTP_COOKIE_VARS['userid']) ) {
 $abc = "2"; 
} else { $abc = "3"; }
?>


loginscherm.php
PHP:
1
2
3
<?
echo "abc= $abc";
?>


dit is uiteraard een gestripte versie. maar ook op de gestripte manier is de uitkomst hier dat de uitvoer na "abc= " leeg blijft.. hij weigert dus de variabelle $abc over te nemen naar loginscherm.php is dit iets dat ik in de apache serverinstellingen moet zoeken? of ga ik ergens gruwelijk de fout in met mijn code?

ik hoop dat iemand mij een hint kan geven zodat ik verder kan zoeken :)

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 00:18
Even offtopic, maar waarom zet je een userid in een cookie, dat lijkt mij een potentieel lek in je script :P
Verder moet je even opletten waar je het include, je moet dus eerst de variabele een waarde geven, en dan pas includen.

|>


Acties:
  • 0 Henk 'm!

  • Dutchmega
  • Registratie: September 2001
  • Niet online
probeer eens:

PHP:
1
echo "abc = " . $abc;


Basis regels PHP. Gebruik ook liever geen $HTTP_COOKIE_VARS maar $_COOKIE
Zie PHP.net over predefined variabeles

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dutchmega schreef op 19 juli 2004 @ 13:10:
probeer eens:

PHP:
1
echo "abc = " . $abc;


Basis regels PHP. Gebruik ook liever geen $HTTP_COOKIE_VARS maar $_COOKIE
Zie PHP.net over predefined variabeles
ik had _COOKIE al geprobeerd dacht even dat daar iets mee fout ging maar niet dus.. die echo werkt overigens wel als ik ?abc=blaat meegeef in de url :(

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dutchmega schreef op 19 juli 2004 @ 13:10:
probeer eens:

PHP:
1
echo "abc = " . $abc;
Concatenaten is hier helemaal niet nodig, dus dat is het niet. Ik denk dat je die var $abc gewoon eerst global moet maken.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 19 juli 2004 @ 13:15:
[...]


ik had _COOKIE al geprobeerd dacht even dat daar iets mee fout ging maar niet dus.. die echo werkt overigens wel als ik ?abc=blaat meegeef in de url :(
Als dat zo is, zet dan gauw register_globals op off in php.ini. Security leak galore... :X

Edit: Leuk dat zoveel mensen op deze post willen reageren, maar lees ff verder voor je dat doet... Ik heb ff verderop een veel genuanceerdere post staan... :/

[ Voor 20% gewijzigd door NMe op 19-07-2004 17:19 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
NMe84 schreef op 19 juli 2004 @ 13:17:
[...]

Als dat zo is, zet dan gauw register_globals op off in php.ini. Security leak galore... :X
shit ja :D
die had ik nog aan staan om een script van iemand te testen!
niet meer aan gedacht!

maar helaas niet de oplossing voor mijn probleem..ik heb de bovenstaande volgorde van includes aangehouden en vreemdgenoeg werkt dat includen op andere scripts wel gewoon :/
ik begin het vermoeden te krijgen dat ik dit eens op een andere server moet gaan testen...
Simon schreef op 19 juli 2004 @ 13:10:
Even offtopic, maar waarom zet je een userid in een cookie, dat lijkt mij een potentieel lek in je script :P
dat weet ik.. dit is puur tijdelijk om de werking te testen
als alles dalijk naar behoren werkt code ik het om naar sessions uiteraard :+

[ Voor 24% gewijzigd door Verwijderd op 19-07-2004 13:28 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Zet eens
PHP:
1
global $abc;

in index.php. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
NMe84 schreef op 19 juli 2004 @ 13:28:
Zet eens
PHP:
1
global $abc;

in index.php. :)
dat veranderd ook niets.. zijn er nog meer dingen in de php.ini die hier invloed op 'kunnen' hebben? zal ondertussen me server eens een reboot geven want op een ander project werkt preccies dezelfde-soort code wel :/

kan t m in die <? ?> tekens zitten? dat ik die in elke include weer geef? :/

ben ondertussen die bak ff rebooten

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 19 juli 2004 @ 13:32:
[...]

dat veranderd ook niets.. zijn er nog meer dingen in de php.ini die hier invloed op 'kunnen' hebben? zal ondertussen me server eens een reboot geven want op een ander project werkt preccies dezelfde-soort code wel :/

kan t m in die <? ?> tekens zitten? dat ik die in elke include weer geef? :/

ben ondertussen die bak ff rebooten
Nee, <? en ?> moet in elke PHP file staan, anders weet PHP helemaal niet dat het geparst moet worden, en dan output ie het volgens mij gewoon. Kun je anders niet een sessievariabele maken van die $abc?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
onder koekje:
PHP:
1
return $abc;

en de include dingesen veranderen in
PHP:
1
2
$abc = include "koekje.php";
include "logindinges.php";


Overigens werkt jou script hier wel

[ Voor 7% gewijzigd door PrisonerOfPain op 19-07-2004 13:35 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

PrisonerOfPain schreef op 19 juli 2004 @ 13:35:
onder koekje:
PHP:
1
return $abc;

en de include dingesen veranderen in
PHP:
1
2
$abc = include "koekje.php";
include "logindinges.php";


Overigens werkt jou script hier wel
Hier ook...
Die oplossing is trouwens alleen maar mooi als je één variabele wil doorgeven, tenzij je het in een array stopt. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

NMe84 schreef op 19 juli 2004 @ 13:17:
[...]

Als dat zo is, zet dan gauw register_globals op off in php.ini. Security leak galore... :X
Niet mee eens. Register_globals is geen security leak. Maar het kan wel gaten in de beveiliging veroorzaken als je niet goed oplet. Per definitie is register_globals niet onveilig.

Acties:
  • 0 Henk 'm!

Verwijderd

Goed gezegd Jorgen!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
jah dat is zo :) die code die ik aan het testen was (bansysteem voor cs-servers (zie credits :P)) was nl helemaal safe ookal stond globals aan :)

maar ik heb dat nu uit staan en al het bovenstaande geprobeerd zonder resultaat ook de reboot van me servertje haalde niet veel uit.

ik wil wel ff kijken of ik een IIS6 webservertje met php enzo aan de gang kan krijgen om het daarop te testen maar ik wil toch erg graag weten wat mijn $abc nou toch tegen houd :)

[ Voor 7% gewijzigd door Verwijderd op 19-07-2004 14:24 ]


Acties:
  • 0 Henk 'm!

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

drm

f0pc0dert

Jorgen:
Per definitie is register_globals niet onveilig.
Let me rephrase that: register_globals is niet per definitie onveilig. Nuanceverschil ;)

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
:/

gaan we nou ook al met gramatica aan de gang? :+

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 19 juli 2004 @ 14:04:
Niet mee eens. Register_globals is geen security leak. Maar het kan wel gaten in de beveiliging veroorzaken als je niet goed oplet. Per definitie is register_globals niet onveilig.
Voorkomen is beter dan genezen. Ik zeg ook niet dat register_globals een security leak is, ik doelde er meer op dat het risico erop exponentieel toeneemt als je het op "on" hebt staan. Bij goed geschreven code maakt het natuurlijk niet uit, maar ik denk niet dat er ook maar één goede programmeur is die zichzelf zo vertrouwt dat ie denkt foutloze code te schrijven. :)
Als je niks toe te voegen hebt, zeg dan liever niks. :/
Verwijderd schreef op 19 juli 2004 @ 14:37:
:/

gaan we nou ook al met gramatica aan de gang? :+
Grammatica is juist voor programmeurs heel belangrijk... Zet in een if-statement maar eens alles in een andere volgorde, of check dit:
C++:
1
if ((var != 0) && (21 / var != 3)) {

In deze volgorde gaat het goed.
C++:
1
if ((21 / var != 3) && (var != 0)) {

En in deze volgorde gaat het fout zodra var de waarde 0 heeft. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

drm schreef op 19 juli 2004 @ 14:27:
[...]
Let me rephrase that: register_globals is niet per definitie onveilig. Nuanceverschil ;)
Ow?

[ Voor 61% gewijzigd door Verwijderd op 19-07-2004 15:01 ]


Acties:
  • 0 Henk 'm!

  • Wolfje666
  • Registratie: September 2001
  • Laatst online: 23-04 15:50

Wolfje666

Shooter fanatic

per ongeluk in een verkeerde thread gereplyed.. ignore dit bericht plz

[ Voor 183% gewijzigd door Wolfje666 op 19-07-2004 15:01 ]

De Mazda 323F Club Holland
vanVlietDesign - Fotografie en Webdesign


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik denk dus dat ik dit probleem aan de serverkant moet gaan zoeken?

ik draai hier apache2.0 terwijl dat nog niet op veel andere hosts gedraaid word.. zou dat het probleem kunnen zijn?

mijn php info en overige serverinfo heb ik een paar replies hoger al gepost

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Aan apache an sich zal het niet liggen, ik draai hier ook 2.0(.48 geloof ik), en hier doettie het goed. Als het aan de settings van PHP.ini ligt, dan weet ik niet in welke hoek je moet zoeken, maar aan je code ligt het in ieder geval niet, die werkt gewoon.

@Jayvee hierbeneden: zover waren we bij de tweede reply al... :X

[ Voor 16% gewijzigd door NMe op 19-07-2004 15:59 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 31-08 10:22

JayVee

shibby++!

Gebruik $_COOKIE (en $_SESSION en $_GET etc) ipv $HTTP_COOKIE_VARS! Gaat het probleem niet oplossen maar zo hoort het.

ASCII stupid question, get a stupid ANSI!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
JayVee schreef op 19 juli 2004 @ 15:23:
Gebruik $_COOKIE (en $_SESSION en $_GET etc) ipv $HTTP_COOKIE_VARS! Gaat het probleem niet oplossen maar zo hoort het.
als je de draad even had doorgelezen had je gelezen dat ik dat alleen ter test had gedaan omdat ik in den beginne dacht een cookie-probleem te hebben :)

maar bedankt voor het advies.. ik ben nu een clean install IIS6 met php en sql aan het bouwen om daarop verder te devven want kennelijk is er iets mis met mijn webservertje dat niet te achterhalen valt :(

Acties:
  • 0 Henk 'm!

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 17-09 17:05
NMe84 schreef op 19 juli 2004 @ 13:17:
[...]

Als dat zo is, zet dan gauw register_globals op off in php.ini. Security leak galore... :X
offtopic:
Dat licht geheel aan de degene die een script schrijft. Als je niet goed na denkt en
..
if(isset($admin))
{
//Blok code hier voor de admin
}
...
doet. Dan kan register_globals idd het best uit zetten ja. Als $admin eerst geinitialiseerd wordt, en je niet alleen controleerd of ie bestaat. Dan wordt alles al een stuk veiliger. ALs register_globals onveilig zou zijn, waarom maken ze uberhaubt zo'n optie?


@ TS:
Eerst $abs initialiseren en dan includen.

$abc = "";
include("koekje.php");
include("login.php");

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Suepahfly schreef op 19 juli 2004 @ 17:03:
[...]

offtopic:
Dat licht geheel aan de degene die een script schrijft. Als je niet goed na denkt en
..
if(isset($admin))
{
//Blok code hier voor de admin
}
...
doet. Dan kan register_globals idd het best uit zetten ja. Als $admin eerst geinitialiseerd wordt, en je niet alleen controleerd of ie bestaat. Dan wordt alles al een stuk veiliger. ALs register_globals onveilig zou zijn, waarom maken ze uberhaubt zo'n optie?


@ TS:
Eerst $abs initialiseren en dan includen.

$abc = "";
include("koekje.php");
include("login.php");
nope ook dan niet :/
maargoed heb nu al een servertje met IIS6 draaiende ben nu aan het lezen hoe ik daar php5 op installeer :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
okee heb nu IIS6 met PHP5.0 draaien en daar werkt t gewoon op? :/

goed dan word dat me nieuwe servertje ipv apache :)
tnx 4 alle input :)
Pagina: 1