登录表单无法登录

时间:2016-06-03 07:36:52

标签: php html login

我的代码出了什么问题?它没有登录,我做错了什么? echo "1;"等用于检查我的连接是否良好。

<?php
session_start();

if(!isset($_POST['username']))
$_POST['username'] = '';
if(!isset($_POST['password']))
$_POST['password'] = '';

if (isset($_SESSION['ingelogd'])) header("location: index.php");


$dbhost = "localhost";
$dbuser = "pc4u0fi_username";
$dbpass = "pc4upc4u1";
$dbname = "pc4u0fi_pc4u";
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);

if ($conn->connect_error) die("Connection failed");
echo "1;";
if (isset($_POST['submit'])) {
echo "2;";

$uname = $_POST['username'];
$wwoord = $_POST['password'];
echo "3;";


$query = 'SELECT * FROM Klanten WHERE klant_username = "' . $uname . '" && klant_password = "' . $wwoord . '"';
echo "4;";

$result = $conn->query($query);

if ($result->num_rows == 1) {
    $result = $result->fetch_row();
    $_SESSION['ingelogd'] = true;
    echo "5;";

    header("location: index.php");
} else {
    $msg = "Inloggegevens incorrect.";
}
//$conn->close();
}
?>
<script>
function myFunction() {
    alert("U bericht is verzonden. Er word zo spoedig mogelijk contact met u opgenomen.");
}
</script>
<link href="contact.css" rel="stylesheet">

<style type="text/css">
input, td, tr {
    padding-right: 20px;
}
</style>
<form class="form-horizontal" role="form" method="post">
<div class="form-group">
    <label class="control-label col-sm-2" style="text-align: left; width: 120px; margin-left: 10px; margin-top: 10px;" for="username">Username:</label>
    <div class="col-sm-10">
        <input type="text" class="form-control" id="username" name="username" style="width: 250px; margin-top: 10px;" required placeholder="">
    </div>
</div>
<div class="form-group">
    <label class="control-label col-sm-2" for="password" style="text-align: left; width: 120px; margin-left: 10px; margin-top: 10px;">Password:</label>
    <div class="col-sm-10">
        <input type="password" class="form-control" id="password" name="password" style="width: 250px; margin-top: 10px;" required placeholder="">
    </div>
</div>
<div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
        <button type="submit" style="margin-left: 120px; margin-bottom: 10px;" class="btn btn-default" name="submit">Inloggen</button>
    </div>
</div>
</form>

2 个答案:

答案 0 :(得分:0)

来自php.net:

  

请记住,在发送任何实际输出之前,必须通过普通HTML标记,文件中的空行或PHP来调用header()。

通过回显数字,您可能会将重定向中断到index.php。

答案 1 :(得分:0)

您必须采取的第一步是在每个exit;函数后添加header()。如果不这样做,header()函数之后的代码仍将继续执行。

第二个好的做法是仅在实际提交表单时执行查询。您可以使用以下方式执行此操作:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Validate login here
}
相关问题