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? Quote Link to comment 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. Quote Link to comment Share on other sites More sharing options...
discomatt Posted April 11, 2008 Share Posted April 11, 2008 Yes, redefining $lic is destroying the resource. Quote Link to comment Share on other sites More sharing options...
unidox Posted April 11, 2008 Author Share Posted April 11, 2008 Didnt work. Quote Link to comment 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. Quote Link to comment 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. Quote Link to comment 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(); } Quote Link to comment 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(); } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.