hello all i am building a small forum website for kids to discuss their school work etc. As this website will be assess by my prospect employer for a job as a entry level web apllication developer.
The problem is am having this error :
Notice: Undefined index: user_name in C:\wamp\www\pennacool_forum\loggedin.php on line 21
when i tried to display the user name in the session of the user who just loggedin.
here is the loggedin.php script:
<?php // loggedin.php
// The user is redirected here from login.php.
session_start(); // Start the session.
// If no session value is present, redirect the user:
// Also validate the HTTP_USER_AGENT!
if (!isset($_SESSION['agent']) OR ($_SESSION['agent'] != md5($_SERVER['HTTP_USER_AGENT']) )) {
require_once ('includes/login_functions.inc.php');
$url = absolute_url();
header("Location: $url");
exit();
}
$page_title = 'Logged In!';
include ('includes/header.html');
// Print a customized message:
echo "<h1>Logged In!</h1>
<p>You are now logged in, {$_SESSION['user_name']}!</p>
<p><a href=\\"logout.php\\">Logout</a></p>";
include ('includes/footer.html');
?>
this is the login function:
function check_login($dbc, $user_name = '', $user_pass = '') {
$errors = array(); // Initialize error array.
// Validate the email address:
if (empty($user_name)) {
$errors[] = 'You forgot to enter your username.';
} else {
$u = mysqli_real_escape_string($dbc, trim($user_name));
}
// Validate the password:
if (empty($user_pass)) {
$errors[] = 'You forgot to enter your password.';
} else {
$p = mysqli_real_escape_string($dbc, trim($user_pass));
}
if (empty($errors)) { // If everything's OK.
// Retrieve the user_id and first_name for that email/password combination:
$q = "SELECT user_id, user_email FROM users WHERE user_name='$u' AND user_pass=SHA1('$p')";
$r = @mysqli_query ($dbc, $q); // Run the query.
// Check the result:
if (mysqli_num_rows($r) == 1) {
// Fetch the record:
$row = mysqli_fetch_array ($r, MYSQLI_ASSOC);
// Return true and the record:
return array(true, $row);
} else { // Not a match!
$errors[] = 'The username and password entered do not match those on file.';
}
} // End of empty($errors) IF.
// Return false and the errors:
return array(false, $errors);
} // End of check_login() function.
?>
here is the login script:
<?php #login.php
if (isset($_POST['submitted'])) {
require_once ('includes/login_functions.inc.php');
require_once ('mysqli_connect.php');
list ($check, $data) = check_login($dbc, $_POST['user_name'], $_POST['user_pass']);
if ($check) { // OK!
// Set the session data:.
session_start();
$_SESSION['user_id'] = $data['user_id'];
$_SESSION['user_name'] = $data['user_name'];
// Store the HTTP_USER_AGENT:
$_SESSION['agent'] = md5($_SERVER['HTTP_USER_AGENT']);
// Redirect:
$url = absolute_url ('loggedin.php');
header("Location: $url");
exit();
} else { // Unsuccessful!
$errors = $data;
}
mysqli_close($dbc);
} // End of the main submit conditional.
include ('includes/login_page.inc.php');
?>
And if you guys have any ideas to what kind of sample website i can build to land me a job . A simple one.
thanks for all your help in advance.