yobo Posted March 11, 2007 Share Posted March 11, 2007 hey all i am very close at getting my login script complete however i having problems in the login section becuase it lets the user login even if they have not activated there account and i wanted o know how would i do this so that only activated users can login my table has a colunm called activated with yes or no, no being not activated and yes being activated my login code <?php include("config.php"); // connect to the mysql server $link = mysql_connect($server, $db_user, $db_pass) or die ("Could not connect to mysql because ".mysql_error()); // select the database mysql_select_db($database) or die ("Could not select database because ".mysql_error()); $match = "SELECT userid FROM users WHERE username = '".$_POST['username']."' and password = '".$_POST['password']."';"; $qry = mysql_query($match) or die ("Could not match data because ".mysql_error()); $num_rows = mysql_num_rows($qry); if ($num_rows <= 0) { echo "Sorry, there is no username $username with the specified password.<br>"; echo "<a href=login.php>Try again</a>"; exit; } else { setcookie("loggedin", "TRUE", time()+(3600 * 24)); setcookie("username", "$username"); echo "You are now logged in!<br>"; echo "Continue to the <a href=members.php>members</a> section."; } ?> Link to comment https://forums.phpfreaks.com/topic/42212-solved-check-to-see-if-user-is-activated/ Share on other sites More sharing options...
tauchai83 Posted March 11, 2007 Share Posted March 11, 2007 check if the status is yes or no, if yes, allow it. use if-else statement and try it and see.. Link to comment https://forums.phpfreaks.com/topic/42212-solved-check-to-see-if-user-is-activated/#findComment-204747 Share on other sites More sharing options...
tauchai83 Posted March 11, 2007 Share Posted March 11, 2007 <?php include("config.php"); // connect to the mysql server $link = mysql_connect($server, $db_user, $db_pass) or die ("Could not connect to mysql because ".mysql_error()); // select the database mysql_select_db($database) or die ("Could not select database because ".mysql_error()); $match = "SELECT userid FROM users WHERE username = '".$_POST['username']."' and password = '".$_POST['password']."';"; $qry = mysql_query($match) or die ("Could not match data because ".mysql_error()); $num_rows = mysql_num_rows($qry); if ($num_rows <= 0) { echo "Sorry, there is no username $username with the specified password. "; echo "<a href=login.php>Try again[/url]"; exit; } else { $row=mysql_fetch_assoc($qry); $status=$row['status']; if ($status=='activate'){ setcookie("loggedin", "TRUE", time()+(3600 * 24)); setcookie("username", "$username"); echo "You are now logged in! "; echo "Continue to the <a href=members.php>members[/url] section."; }else{ echo "Your account is inactive. Please activate your account before proceed"; } ?> try this Link to comment https://forums.phpfreaks.com/topic/42212-solved-check-to-see-if-user-is-activated/#findComment-204748 Share on other sites More sharing options...
yobo Posted March 11, 2007 Author Share Posted March 11, 2007 ok i have done what you suggested and i have got further than when i tried but it says that your account is inactive even when it is active <?php include("config.php"); // connect to the mysql server $link = mysql_connect($server, $db_user, $db_pass) or die ("Could not connect to mysql because ".mysql_error()); // select the database mysql_select_db($database) or die ("Could not select database because ".mysql_error()); $match = "SELECT userid FROM users WHERE username = '".$_POST['username']."' and password = '".$_POST['password']."';"; $qry = mysql_query($match) or die ("Could not match data because ".mysql_error()); $num_rows = mysql_num_rows($qry); if ($num_rows <= 0) { echo "Sorry, there is no username $username with the specified password.<br>"; echo "<a href=login.php>Try again</a>"; exit; } else { $row=mysql_fetch_assoc($qry); $status=$row['activated']; if ($status=='yes'){ setcookie("loggedin", "TRUE", time()+(3600 * 24)); setcookie("username", "$username"); echo "You are now logged in!"; echo "Continue to the <a href=members.php>members[/url] section."; }else{ echo "Your account is inactive. Please activate your account before proceed"; } } ?> Link to comment https://forums.phpfreaks.com/topic/42212-solved-check-to-see-if-user-is-activated/#findComment-204752 Share on other sites More sharing options...
tauchai83 Posted March 11, 2007 Share Posted March 11, 2007 <?php include("config.php"); // connect to the mysql server $link = mysql_connect($server, $db_user, $db_pass) or die ("Could not connect to mysql because ".mysql_error()); // select the database mysql_select_db($database) or die ("Could not select database because ".mysql_error()); $match = "SELECT userid FROM users WHERE username = '".$_POST['username']."' and password = '".$_POST['password']."';"; $qry = mysql_query($match) or die ("Could not match data because ".mysql_error()); //$num_rows = mysql_num_rows($qry); if (!$qry) { echo "Sorry, there is no username $username with the specified password. "; echo "<a href=login.php>Try again[/url]"; exit; } else { $row=mysql_fetch_assoc($qry); $status=$row['status']; if ($status=='activate'){ setcookie("loggedin", "TRUE", time()+(3600 * 24)); setcookie("username", "$username"); echo "You are now logged in! "; echo "Continue to the <a href=members.php>members[/url] section."; } else{ echo "Your account is inactive. Please activate your account before proceed"; } } ?> Link to comment https://forums.phpfreaks.com/topic/42212-solved-check-to-see-if-user-is-activated/#findComment-204756 Share on other sites More sharing options...
yobo Posted March 11, 2007 Author Share Posted March 11, 2007 still having the same problem Link to comment https://forums.phpfreaks.com/topic/42212-solved-check-to-see-if-user-is-activated/#findComment-204757 Share on other sites More sharing options...
tauchai83 Posted March 11, 2007 Share Posted March 11, 2007 <?php include("config.php"); // connect to the mysql server $link = mysql_connect($server, $db_user, $db_pass) or die ("Could not connect to mysql because ".mysql_error()); // select the database mysql_select_db($database) or die ("Could not select database because ".mysql_error()); $match = "SELECT userid FROM users WHERE username = '".$_POST['username']."' and password = '".$_POST['password']."';"; $qry = mysql_query($match) or die ("Could not match data because ".mysql_error()); //$num_rows = mysql_num_rows($qry); if (!$qry) { echo "Sorry, there is no username $username with the specified password. "; echo "<a href=login.php>Try again[/url]"; exit; } if (mysql_num_rows($qry)>1){ $row=mysql_fetch_assoc($qry); $status=$row['status']; if ($status=='activate'){ setcookie("loggedin", "TRUE", time()+(3600 * 24)); setcookie("username", "$username"); echo "You are now logged in! "; echo "Continue to the <a href=members.php>members[/url] section."; } else{ echo "Your account is inactive. Please activate your account before proceed"; } } ?> try this..haha Link to comment https://forums.phpfreaks.com/topic/42212-solved-check-to-see-if-user-is-activated/#findComment-204758 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.