I worked very hard check more than 10 times and spend around a week already, but i couldn't find and solve the errors.
Can anyone help me ,please?
when i try to register I always got this error:
"Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\wamp\www\tapi\core\inc\user.inc.php on line 6 ".
user.inc.php
<?php
function user_exists($user){
$user = mysql_real_escape_string($user);
$total = mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `user_name` = '{$user}'");
return (mysql_result($total, 0) == '1') ? true : false;
}
function valid_credentials($user, $pass){
$user = mysql_real_escape_string($user);
$pass = sha1($pass);
$total = mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `user_name` = '{$user}' AND `user_password` = '{$pass}'");
return (mysql_result($total, 0) == '1') ? true : false;
}
function add_user($user, $pass){
$user = mysql_real_escape_string(htmlentities($user));
$pass = sha1($pass);
mysql_query("INSERT INTO `users` (`user_name`, `user_password`) VALUES ('{$user}' , '{$pass}')");
}
?>
init.inc.php
<?php
session_start();
$exceptions = array('register', 'login');
$page = substr(end(explode('/', $_SERVER['SCRIPT_NAME'])), 0, -4);
if (in_array($page, $exceptions) === false)
{
if (isset($_SESSION['username']) === false)
{
header('Locaton: login.php');
die();
}
}
mysql_connect('127.0.0.1' , 'root' , '485849');
mysql_select_db('user_system');
$path = dirname(__FILE__);
include("{$path}/inc/user.inc.php");
?>
register.php
<?php
include("core/inc/user.inc.php");
$errors = array();
if (isset($_POST['username'], $_POST['password'], $_POST['repeat_password'])){
if (empty($_POST['username'])){ //check to see username is not empty.
$errors[] = 'The username cannot be empty.';
}
if (empty($_POST['password']) || empty($_POST['repeat_password'])){
$errors[] = 'The password and repeat_password cannot be empty.';
}
if (user_exists($_POST['username'])){
$errors[] = 'The username you entered is already taken.';
}
if (empty($errors)){
add_user($_POST['username'], $_POST['password']);
$_SESSION['username'] = htmlentities($_POST['username']);
header('Location: protected.php');
die();
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
<p>
<?php
if (empty($errors) === false)
{
?>
<ul>
<?php
foreach ($errors as $errors)
{
echo "<li>{$errors}</li>";
}
?>
</ul>
<?php
}
?>
</p>
<form action=""method="post">
<p>
<label for="username">username:</label>
<input type="text" name="username" id="username" value="<?php if (isset($_POST['username'])) echo htmlentities($_POST['username']); ?>" />
</p>
<p>
<label for="password">password:</label>
<input type="password" name="password" id="password"/>
</p>
<p>
<label for="repeat_password">repeat password:</label>
<input type="password" name="repeat_password" id="repeat_password"/>
</p>
<p>
<input type="submit" value="register"/>
</P>
</form>
</body>
</head>
</html>
login.php
<?php
include('core/init.inc.php');
$errors = array();
if (isset($_POST['username'], $_POST['password']))
{
if (empty($_POST['username']))
{
$errors[] = 'The username cannot be empty.';
}
if (empty($_POST['password']))
{
$errors[] = 'The username cannot be empty.';
}
if (valid_credentials($_POST['username'], $_POST['password']) === false)
{
$errors[] = 'Username / Password incorrect.';
}
if (empty($errors))
{
$_SESSION['username'] = htmlentities($_POST['username']);
header('Locaiton: protected.php');
die();
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
<div>
<?php
if (empty($errors) === false)
{
?>
<ul>
<?php
foreach ($errors as $errors)
{
echo"<li>{$errors}</li>";
}
?>
</ul>
<?php
}else{
echo 'Need an account ? <a href="register.php">Register here</a>';
}
?>
<form action=""method="post">
<p>
<label for="username">username:</label>
<input type="text" name="username" id="username" value="<?php if (isset($_POST['username'])) echo htmlentities($_POST['username']); ?>" />
</p>
<p>
<label for="password">password:</label>
<input type="password" name="password" id="password"/>
</p>
<p>
<input type="submit" value="login"/>
</P>
</form>
</body>
</head>
</html>
protected.php
<?php include('core/init.inc.php'); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
</head>
<body>
<p>
you are logged in as <?php echo $_SESSION['username']; ?>
</p>
<p>
<a> href="logout.php"> Logout ? </a>
</p>
</body>
</html
logout.php
<?php
session_start();
$_SESSION = array();
session_destroy();
header('Location: protected.php');
?>
