php – Login doesn't work

Question:

First time here, I got a ready code I adapted for my college work, but the login doesn't check, it accepts anything you put.

Create login

<div id="nav">
    <div id="sup_direito">
        <div id="login">
            <input type="text" name="usuario" id="txUsuario" placeholder="login" required>
        </div>
        <div id="senha">
            <input type="password" name="senha" id="txSenha" placeholder="senha" required>
        </div>    
        <input type="submit" value="Entrar" />
    </div>
</div>

validation code

<?php

// Verifica se houve POST e se o usuário ou a senha é(são) vazio(s)
if (!empty($_POST) AND ( empty($_POST['usuario']) OR empty($_POST['senha']))) {
    header("Location: index.php");
    exit;
}

// Tenta se conectar ao servidor MySQL
mysql_connect('localhost', 'root', 'usbw') OR trigger_error(mysql_error());
// Tenta se conectar a um banco de dados MySQL
mysql_select_db('sistemas para internet') OR trigger_error(mysql_error());

$usuario = mysql_real_escape_string($_POST['usuario']);
$senha = mysql_real_escape_string($_POST['senha']);

// Validação do usuário/senha digitados
$sql = "SELECT `cod_login`, `usuario` FROM `login` WHERE (`usuario` = '" . $usuario . "') AND (`senha` = '" . sha1($senha) . "') LIMIT 1";
$query = mysql_query($sql);
if (mysql_num_rows($query) != 1) {
    // Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
    echo "Login inválido!";
    exit;
} else {
// Salva os dados encontados na variável $resultado
    $resultado = mysql_fetch_assoc($query);

// Se a sessão não existir, inicia uma
    if (!isset($_SESSION))
        session_start();

// Salva os dados encontrados na sessão
    $_SESSION['UsuarioID'] = $resultado['cod_login'];
    $_SESSION['UsuarioNome'] = $resultado['usuario'];


// Redireciona o visitante
    header("Location: restrito.php");
    exit;
}

Restricted code

<?php
// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)){
    session_start();
}

// Verifica se não há a variável da sessão que identifica o usuário
if (!isset($_SESSION['UsuarioID'])) {
    // Destrói a sessão por segurança
    session_destroy();
    // Redireciona o visitante de volta pro login
    header("Location: index.php");
    exit;
}
?>
<h1>Página restrita</h1>
<p>Olá, <?php echo $_SESSION['UsuarioNome']; ?>!</p>

Answer:

Unfortunately my score doesn't allow comments but why is your database name with spaces instead of underscores? Use double quotes otherwise it doesn't detect the database properly.

Scroll to Top