Estas funciones iniciarán la sesión de un usuario en función de un nombre de usuario y una contraseña que coincidan en una base de datos MySQL.
// function to escape data and strip tags
function safestrip($string){
$string = strip_tags($string);
$string = mysql_real_escape_string($string);
return $string;
}
//function to show any messages
function messages() {
$message="";
if($_SESSION['success'] != '') {
$message="<span class="success" id="message">".$_SESSION['success'].'</span>';
$_SESSION['success'] = '';
}
if($_SESSION['error'] != '') {
$message="<span class="error" id="message">".$_SESSION['error'].'</span>';
$_SESSION['error'] = '';
}
return $message;
}
// log user in function
function login($username, $password){
//call safestrip function
$user = safestrip($username);
$pass = safestrip($password);
//convert password to md5
$pass = md5($pass);
// check if the user id and password combination exist in database
$sql = mysql_query("SELECT * FROM table WHERE username="$user" AND password = '$pass'")or die(mysql_error());
//if match is equal to 1 there is a match
if (mysql_num_rows($sql) == 1) {
//set session
$_SESSION['authorized'] = true;
// reload the page
$_SESSION['success'] = 'Login Successful';
header('Location: ./index.php');
exit;
} else {
// login failed save error to a session
$_SESSION['error'] = 'Sorry, wrong username or password';
}
}
Uso
Los valores se capturarían de un formulario y luego se pasarían a la función principal:
login($username, $password);
Todas las páginas involucradas tendrían los mensajes funcionando en algún lugar, por lo que se proporciona una retroalimentación sobre el uso adecuado:
messages();