首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >登录表单未登录

登录表单未登录
EN

Stack Overflow用户
提问于 2016-06-03 15:36:52
回答 2查看 49关注 0票数 0

我的代码出了什么问题?它不能登录,我哪里做错了?例如,echo "1;"等用于检查我的连接是否正常。

代码语言:javascript
复制
<?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>
EN

回答 2

Stack Overflow用户

发布于 2016-06-03 15:46:10

来自php.net:

请记住,必须在发送任何实际输出之前调用header(),无论是通过普通的HTML标记、文件中的空行,还是从PHP.

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

票数 0
EN

Stack Overflow用户

发布于 2016-06-03 15:48:19

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

第二个好的做法是,只有在实际提交表单时才执行查询。您可以使用以下命令执行此操作:

代码语言:javascript
复制
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Validate login here
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37608618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档