unidox Posted April 11, 2008 Share Posted April 11, 2008 I have this code: $url = "site.com?key=" . SITE_LIC . "&ref=" . $_SERVER["HTTP_REFERER"] . ""; $lic = fopen($url, "r"); $lic = fgets($lic, 4096); if ($lic == 1) { echo "Verified"; } else { echo "Suspended"; } If I echo $lic it says 1, but if I use the if statement, it keeps saying suspended. Whats wrong? Link to comment https://forums.phpfreaks.com/topic/100728-wrong/ Share on other sites More sharing options...
BlueSkyIS Posted April 11, 2008 Share Posted April 11, 2008 are you sure that the file is getting opened? you might want to vary your variable names a little and use a different variable for fgets() instead the one you're already using for fopen(). then see if fopen is actually successful before using the handle for fgets. Link to comment https://forums.phpfreaks.com/topic/100728-wrong/#findComment-515195 Share on other sites More sharing options...
discomatt Posted April 11, 2008 Share Posted April 11, 2008 Yes, redefining $lic is destroying the resource. Link to comment https://forums.phpfreaks.com/topic/100728-wrong/#findComment-515196 Share on other sites More sharing options...
unidox Posted April 11, 2008 Author Share Posted April 11, 2008 Didnt work. Link to comment https://forums.phpfreaks.com/topic/100728-wrong/#findComment-515199 Share on other sites More sharing options...
discomatt Posted April 11, 2008 Share Posted April 11, 2008 Well, another issue might be what fgets returns. Return Values Returns a string of up to length - 1 bytes read from the file pointed to by handle . If an error occurs, returns FALSE. Link to comment https://forums.phpfreaks.com/topic/100728-wrong/#findComment-515201 Share on other sites More sharing options...
BlueSkyIS Posted April 11, 2008 Share Posted April 11, 2008 are you sure that the file is getting opened? you might want to vary your variable names a little and use a different variable for fgets() instead the one you're already using for fopen(). then see if fopen is actually successful before using the handle for fgets. Link to comment https://forums.phpfreaks.com/topic/100728-wrong/#findComment-515202 Share on other sites More sharing options...
unidox Posted April 11, 2008 Author Share Posted April 11, 2008 Got it to work: $url = "site.com?key=" . SITE_LIC . "&ref=" . $_SERVER["HTTP_REFERER"] . ""; $lic = fopen($url, "r"); $lic = fgets($lic, 4096); define('LIC_CHECK', $lic); if (LIC_CHECK != 1) { header("Location: http://www.site.com/index.php?p=lic_invalid"); exit(); } Link to comment https://forums.phpfreaks.com/topic/100728-wrong/#findComment-515208 Share on other sites More sharing options...
discomatt Posted April 11, 2008 Share Posted April 11, 2008 Oh my god that is scary. Why are you using a constant? fgets returns a STRING, not a boolean value. You want this: $url = "site.com?key=" . SITE_LIC . "&ref=" . $_SERVER["HTTP_REFERER"] . ""; $lic_h = fopen($url, "r"); $lic = fgets($lic_h, 4096); if ($lic === FALSE) { header("Location: http://www.site.com/index.php?p=lic_invalid"); exit(); } Link to comment https://forums.phpfreaks.com/topic/100728-wrong/#findComment-515211 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.