login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Auto include

Offline Yourgamecrew - 25/05/2012 20:32
Avatar van YourgamecrewLid Hoi,
Kan iemand mij vertellen wat er in dit script fout is want hij auto include probeer.php maar dat moet eigenlijk pas gebeuren als je op de link hebt gedrukt.

Natuurlijk staat in het begin van index.php session_start():

index.php:

  1. <?php
  2. $tried=$_SESSION["tried"];
  3. $level= 20;
  4. $difficulty=4;
  5. $kans=kansen($level,$difficulty);
  6. print('Beroof een baby. Kans:');
  7. print($kans.'%');
  8.  
  9. if ($tried!=1){
  10. ?>
  11.  
  12. <a href="test.php?pagina=probeer">Probeer</a><br>
  13.  
  14. <?php
  15.  
  16. $pagina = $_GET['pagina'];
  17. $_SESSION["pagina"] = $pagina;
  18.  
  19.  
  20. if ($pagina = 'probeer')
  21. {
  22. $bestand = "probeer.php";
  23. }
  24.  
  25. include($bestand);
  26.  
  27. }
  28.  
  29. else{
  30. print('Je hebt deze missie al geprobeerd!');
  31. }
  32.  
  33. ?>


probeer.php:

  1. <?php
  2. include('library/uitslag.php');
  3.  
  4. $uitslag=uitslag($kans);
  5.  
  6. $tried=1;
  7. $_SESSION["tried"]=$tried;
  8.  
  9. print($uitslag);
  10. ?>

2 antwoorden

Gesponsorde links
Offline Koen - 25/05/2012 21:13
Avatar van Koen PHP expert Je doet if ($pagina = 'probeer').

Je gebruikt één gelijkheidsteken wanneer je er twee nodig hebt om te vergelijken.

eigenlijk doe je nu if('probeer'), dit is uiteraard true, vandaar dat je pagina altijd geinclude wordt.

Oplossing ->

  1. if ($pagina == 'probeer')
Offline Maarten - 28/05/2012 12:44 (laatste wijziging 28/05/2012 12:45)
Avatar van Maarten Erelid Bovenstaand klopt uiteraard, maar kwestie van volledigheid:
Eigenlijk doe je if(true) ipv if('probeer').
  1. $x = 'blaat';

Dit is een 'toewijzing', en die geeft true of false terug als 'de toewijzing' gelukt is.
Zo kan je bijvoorbeeld tegenkomen dat je het resultaat van mysql_query toewijst aan een $sql variabele, en dat net die toewijzing false is wat dan inhoudt dat de query mislukt is.
Dan is de variabele $sql gewoon null, maar de toewijzing false.
  1. if($sql = mysql_query("...")) {
  2. // Succesvolle query
  3. } else {
  4. // Niet gelukt
  5. }


edit: en uiteraard is de toewijzing van $x = 'blaat'; in principe altijd goed, aangezien dat nogal "rechtdoor" is. Vandaar dus, if(true) 
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.196s