[apache/php] If statement werkt (soms) niet?

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

  • Bjk
  • Registratie: Augustus 2002
  • Laatst online: 23:12
Ik heb op mijn windows xp, de nieuwste apache, php, cgi en perl geinstalleerd volgens deze tutorial.

Maar nu vind ik echt iets heel raars (al zeg ik het zelf) als ik een eigen bestand aanmaak. bijv. test.php en zet daarin:

PHP:
1
2
3
4
5
6
<?
if(test == 1)
{
echo"Test gelukt";
}
?>


Als ik dan in de browser kijk en dan doormiddel van ?test=1 de pagina bekijk echo'd hij helemaal niks. Nu heb ik allerlei if-statements en dingen geprobeerd maar niks werkte. Dus d8 ik, ik download voor de lol een php script. Ik koos voor invision board, en ik installeerde hem zo, en alles deed het. Maar als ik zelf een script schrijf, met een if-statement erin, pakt hij die gewoon niet.

Dus als iemand een oplossing heeft?

Verwijderd

maak eerst eens van test $test en als register_globals uitstaat in PHP, dan is het gebruiken van $_GET['test'] wel zo handig ;)

[ Voor 3% gewijzigd door Verwijderd op 11-04-2003 11:16 ]


  • Bjk
  • Registratie: Augustus 2002
  • Laatst online: 23:12
Oke, heb ik gedaan, de $_GET['test'] zegt dat test dus 1 is maar hij echo'd nog steeds niet Test gelukt.

Verwijderd

Dus dit werkt niet?

PHP:
1
2
3
4
5
6
<?php
if ($_GET['test'] == 1)
{
   echo 'Test gelukt';
}
?>

Zo nee, ga dan eens kijken met print_r wat de waarde is volgens php zelf en eventueel met de functie gettype het type van de var bepalen.

Overigens is het sowieso aan te raden van te voren op aanwezigheid van variabelen te controleren en daarnaast sowieso gebruik te maken van $_GET, $_POST.

  • Bjk
  • Registratie: Augustus 2002
  • Laatst online: 23:12
Ik had hem zo getest,
PHP:
1
2
3
4
5
6
$bla = $_GET['test'];
if($test == 1)
{
echo"Test gelukt";
}
echo"_GET zegt $bla";


Toen gaf hij 1 bij _GET zegt..
Maar als ik hem op jouw manier doe zegt hij wel test gelukt, maar hij moet het toch ook zonder $_GET kunnen ofniet dan ?

[ Voor 9% gewijzigd door Bjk op 11-04-2003 11:37 ]


Verwijderd

kuch. Kijk nog eens heel goed naar die code :o

  • Bjk
  • Registratie: Augustus 2002
  • Laatst online: 23:12
Hmm ik zie het niet, bij mij heeft if($test == 1) altijd gewerkt hoor??

Verwijderd

Je maakt de variabele $bla gelijk aan $_GET['test'] en vervolgens ga je doodleuk met $test aan de gang ?

Vanaf PHP 4.2.0 staat register_globals standaard op off, waardoor je gedwongen wordt om $_GET te gebruiken, als je de config niet aan kunt passen. Dat is ook helemaal niet verkeerd, aangezien het wat veiliger is (mensen kunnen niet zomaar ongewenste variabelen aan je script gaan voeren, als initialisatie/controle binnen het script te wensen over zou laten)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Genoeg onzin.

Kwestie van debuggen, de if statement doet precies wat hij moet doen.

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

Pagina: 1

Dit topic is gesloten.