我如何让PHP登录?

时间:2015-08-23 06:00:03

标签: php login

我的登录部分有以下代码:

<form method="post" action="loginprocess.php">
    <div class="row">
        <div class="6u 12u$(mobile)"><input type="text" name="username" placeholder="Usuario" /></div>
        <div class="6u$ 12u$(mobile)"><input type="password" name="pass" placeholder="Contraseña" /></div>
        <div class="12u$">
            <input type="submit" value="Iniciar sesion" />
        </div>
    </div>
</form>

这里有我的注册码:

<?php
    include"config.php";
    $username = $_POST['username'];
    $email    = $_POST['email'];
    $pass     = md5($_POST['pass']);
    $rpass    = md5($_POST['rpass']);
    $reqlen   = strlen($username) * strlen($email) *strlen($pass) * strlen($rpass);
    $insert   = 'INSERT INTO registro (username, email, pass) VALUES ("'.$username.'", "'.$email.'", "'.$pass.'")';
    $query    = mysql_query("SELECT * FROM registro WHERE username='$username'");
    $query2   = mysql_query("SELECT * FROM registro WHERE email='$email'");

    if(mysql_num_rows($query) > 0)
    {
        header("Location: registrate.php?error1");
        exit;
    }
    else
    {
        if(mysql_num_rows($query2) > 0)
        {
        header("Location: registrate.php?error2");
        exit;
        }
    }
    if ($reqlen > 0)
    {
        if ($pass === $rpass)
        {
            mysql_query($insert);
            header("Location: index.php");
            exit;
        }
        else
        {
            header("Location: registrate.php?error3");
        }
    }
    else
    {
        header("Location: registrate.php?error4");
    }
?>

这是我与服务器的连接:

<?php
    $localhost  = "localhost";
    $dbuser     = "root";
    $dbpass     = "admin";
    $dbname     = "vivejugando";

    $connect    = mysql_connect($localhost, $dbuser, $dbpass) or die("No se pudo conectar a la base de datos");
    mysql_select_db("$dbname", $connect);
?>

我需要登录代码。我做了一些这样但不起作用:

<?php
    include"config.php"
    $username   = $_POST ['username'];
    $pass       = md5($_POST['pass']);
    $query      = mysql_query("SELECT * FROM registro WHERE username='$username' AND pass='$pass'");
    $data       = mysql_fetch_assoc($query);

    if(mysql_num_rows($query))
    {
        session_start();
        $_SESSION['username'] = $data['username'];
        header("Location: members.php");
        exit;
    }
    header(""Location: regprocess.php"")
?>

如果某人改进了我的登录代码或使其优化为我的代码,我非常感激。

1 个答案:

答案 0 :(得分:1)

试试吧

include"config.php";
$username = $_POST['username'];
$email    = $_POST['email'];
$pass     = md5($_POST['pass']);
$rpass    = md5($_POST['rpass']);

if(isset($rpass) && $pass == $rpass)
{
    $insert   = 'INSERT INTO registro (username, email, pass) VALUES ("'.$username.'", "'.$email.'", "'.$pass.'")';
    mysql_query($insert);
    session_start();
    $_SESSION['username'] = $username;
    header("Location: index.php");
    exit;
}

$check_login = mysql_query("SELECT * FROM registro WHERE username='$username' and email='$email'");    
if(mysql_num_rows($check_login) > 0)
{
    header("Location: index.php");
    exit;
}
else
{
    header("Location: registrate.php?error1");
    exit;
}
相关问题