Rare reactie Mysql

Status
Niet open voor verdere reacties.

wouteronline55

Gebruiker
Lid geworden
29 dec 2005
Berichten
61
Beste Forumleden,

Tijdens het programmeren ben ik tegen een rare verschijning aangelopen.

Ik heb een pagina en daarin doe ik (afhankelijk van een variabele die eerder op die pagina gegenereerd wordt: de huidige pagina welke geopend is) een andere pagina importeren:

PHP:
if($paden2[0] == 'home' or $paden2[0] == ''){
	}
	else{
		include "pagina.php";
	}

Nu werkt dit perfect op één ding na. Op "pagina.php" staat een script welke een aantal mysql queries uitvoert. Op het moment dat de if vergelijking waar is, zou het pagina.php niet geïncluded moeten worden. Dit gebeurt ook niet (de echo elementen worden niet getoond), maar de mysql-query's (in elk geval de UPDATE) worden wel uitgevoerd.

Als de if vergelijking niet waar is loopt hij goed: dan wordt alles gewoon getoond en uitgevoerd.

Hoe kan ik ervoor zorgen dat wanneer de if vergelijking waar is, ook de query's op die pagina niet worden uitgevoerd?
 
De queries binnen het if statement zetten?
 
Dan klopt je IF-statement niet.

Controleer de variabelen welke je gebruikt bij het statement.
Verder lijkt dit mij wat efficiënter:
PHP:
if($paden2[0] != 'home' || !empty($paden2[0])){
  include('pagina.php');
}
 
Daar wil ik dan nog even iets aan toevoegen, !empty betekent dat er niet niks in staat (dus iets) daarom zou ik isset() gebruiken... Ik vind !empty persoonlijk erg vreemd (ook al is er niks mis mee!

Dit:
PHP:
if($paden2[0] != 'home' || !empty($paden2[0])){
  include('pagina.php');
}

Zou dan het volgende worden:
PHP:
if($paden2[0] != 'home' || isset($paden2[0])){
  include('pagina.php');
}
 
Jullie halen een paar dingen door elkaar.

isset() checkt of een variabele 'geset' is, en dat is al gauw zo.
empty() checkt of iets gelijk is aan '', NULL, 0, '0', FALSE of array().

Aan empty() heb je meestal dus niet zoveel. De manier van de TS was correct in combinatie met isset(). isset() is overigens overbodig als je elders in je code hardcoded de variabele aanmaakt.

Voorbeeld:

PHP:
if(isset($_POST['test']) && trim($_POST['test']) != ''){

  echo 'Waarde 'test' is NIET leeg en wél geset!';

}


Persoonlijk gebruik ik empty() nooit overigens.
 
Pff...

Ik heb even wat op het internet gelezen en je hebt volgens mij gelijk...
Weer wat geleerd, bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan