I'm toying around with PHP and MySQL. A piece of code I have is intended to fetch the current Unix timestamp and update a BIGINT with that value. Problem is, the BIGINT won't update unless there's some echo, var_dump, or other similar statement. Is there something I'm not doing right? (Yes I read that mysql is going to be deprecated... a few minutes ago. This is more of a proof-of-concept script, sharpening my skills.)
PHP:
//Checks if there is a login cookie
if(isset($_COOKIE['ID_my_site'])){
//if there is, it logs you in and directs you to the members page
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM `wop_Player` WHERE `Username` = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check )){
if ($pass != $info['Password']){
}else{
header("Location: index.php");
}
}
}
//if the login form is submitted
if (isset($_POST['submit'])) { // if form has been submitted
// makes sure they filled it in
if(!$_POST['username'] | !$_POST['pass']) {
die('You did not fill in a required field. Go back and try again.');
}
// checks it against the database
if (!get_magic_quotes_gpc()) {
$_POST['email'] = addslashes($_POST['email']);
}
$check = mysql_query("SELECT * FROM `wop_Player` WHERE `Username` = '".$_POST['username']."'")or die(mysql_error());
//Gives error if user dosen't exist
$check2 = mysql_num_rows($check);
if ($check2 == 0) {
die('That user does not exist in our database. <a href="register.php">Click Here to Register.</a>');
}
while($info = mysql_fetch_array( $check )){
$_POST['pass'] = stripslashes($_POST['pass']);
$info['Password'] = stripslashes($info['Password']);
$_POST['pass'] = md5($_POST['pass']);
//gives error if the password is wrong
if ($_POST['pass'] != $info['Password']) {
die('Incorrect password, please try again.');
}else{
// if login is ok then we add a cookie
$_POST['username'] = stripslashes($_POST['username']);
$hour = time() + 3600;
setcookie(ID_my_site, $_POST['username'], $hour);
setcookie(Key_my_site, $_POST['pass'], $hour);
// Now update the last login timestamp. (THIS IS THE PROBLEMATIC CODE)
$now=time();
mysql_query("UPDATE `wop_Player` SET `LastLogin`=".$now." WHERE `Username`='".$username."'",$con);
//then redirect them to the members area
header("Location: index.php");
}