login  Naam:   Wachtwoord: 
Registreer je!
 Forum

strpos doet vreemd

Offline zwobbel - 14/09/2007 11:44
Avatar van zwobbelPHP gevorderde Hallo

Als ik volgende code execute :
  1. if (strpos ( $_POST['anidb'], 'http://anidb.net/perl-bin/animedb.pl?show=anime&aid=' ) != TRUE)


Als ik deze code execute dan krijg ik toch een FALSE terwijl mijn variable True zou moetten returnen. Weet iemand hiervan de oorzaak?

4 antwoorden

Gesponsorde links
Offline marten - 14/09/2007 11:46 (laatste wijziging 14/09/2007 11:46)
Avatar van marten Beheerder Hier kunnen we weinig mee. Wat staat er in $_POST['anidb'] ?

En controleren doe je met !== TRUE of === TRUE
Offline zwobbel - 14/09/2007 17:33
Avatar van zwobbel PHP gevorderde Zoals ik zei zou normaal gezien de return een false moetten zijn dus in de post staat:
http://anidb.ne...amp;aid=95
Offline Grayen - 14/09/2007 19:18
Avatar van Grayen PHP ver gevorderde
  1. if(strpos($_POST['anidb'], 'http://anidb.net/perl-bin/animedb.pl?show=anime&aid=') === false)

Zou zeker weten moeten werken anders moet het probleem liggen bij $_POST['anidb'];
Offline timmie_loots - 14/09/2007 23:06
Avatar van timmie_loots PHP gevorderde Marten, beetje raar dat je zegt dat we hier weinig mee kunnen, dat is namelijk helemaal niet waar.

De reden dat het script niet werk is omdat de vergelijking (!= TRUE, wat in PHP gelijk staat aan != 1) heel vaak waar zal zijn. Hij is alleen niet waar als de gezochte string bij de tweede letter begint. Zoals Grayen aangeeft is een controle met de === operator de enige goede manier om te kijken of de string gevonden is of niet, omdat het samen met !== de enige operator is die in staat is FALSE en 0 uit elkaar te houden.

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.192s