У меня проблема с моим кодом
но после отправки с именем пользователя и паролем, я получаю пустую белую страницу,
Я попытался сделать систему входа в систему, но есть проблема, когда форма отправлена, которая появилась просто пустая белая страница
ниже моего сценария с именем login.php
<?php session_start();?>
<!DOCTYPE html>
<html lang="en">
<title>Login</title>
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
<style>
body {
background-color:#eee;
}
.row {
margin:100px auto;
width:300px;
text-align:center;
}
.login {
border-radius: 5px;
background-color:#fff;
padding:20px;
margin-top:20px;
}
</style>
<body>
<div class="container">
<div class="row">
<?php
if(isset($_POST['submit'])){
include 'db.php';
$user=addslashes($_POST['user']);
$pass=md5($_POST['pass']);
$cari= "select user from guru where user='$user' and pass='$pass'";
$query= mysql_query($cari);
$num=mysql_num_rows($query);
if($num>0){
session_register('user');
$row= mysql_fetch_array($query);
$_SESSION['user']=$row['user'];
header("location:index.php");
exit;
} else {
echo '
<div class="alert alert-danger" role="alert">User atau password salah.</div>';
};
}
?>
<div class="login">
<div class="panel panel-info" >
<div class="panel-heading">
<div class="panel-title">Masuk</div>
</div>
<div style="padding-top:30px" class="panel-body" >
<div style="display:none" id="login-alert" class="alert alert-danger col-sm-12"></div>
<form id="loginform" class="form-horizontal" role="form" action="" method="post">
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
<input id="login-username" type="text" class="form-control" name="user" value="" placeholder="username">
</div>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
<input id="login-password" type="password" class="form-control" name="pass" placeholder="password">
</div>
<div style="margin-top:10px" class="form-group">
<!-- Button -->
<div class="col-sm-12 controls">
<input type="submit" name="submit" class="btn btn-primary btn-block" value="Masuk" /></div>
</div></form></div>
</div></div></body>
</html>
Вы должны добавить ob_start () после start_session ();
Поскольку вы пишете HTML-код перед перенаправлением страницы после успешного входа, заголовок не будет перенаправлять страницу, так как ваш заголовок уже отправлен.
ob_start будет работать как буфер для хранения html-кода и будет отображать html code / send header, если вы явно отправите его или конец файла
Рекомендуется использовать расширения mysqli или PDO_MySQL. Не рекомендуется использовать старое расширение mysql для новых разработок, поскольку оно устарело в PHP 5.5.0 и удалено в PHP 7. Подробная матрица сравнения функций представлена ниже. Общая производительность всех трех расширений считается примерно одинаковой. Хотя производительность расширения составляет лишь часть общего времени выполнения веб-запроса PHP. Часто воздействие составляет всего 0,1%
Ваш код должен быть:
<?php session_start();?>
<!DOCTYPE html>
<html lang="en">
<title>Login</title>
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
<style>
body {
background-color:#eee;
}
.row {
margin:100px auto;
width:300px;
text-align:center;
}
.login {
border-radius: 5px;
background-color:#fff;
padding:20px;
margin-top:20px;
}
</style>
<body>
<div class="container">
<div class="row">
<?php
if(isset($_POST['submit'])){
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
//to get all error
//include 'db.php' file is unreachable;
$user=addslashes($_POST['user']);
$pass=md5($_POST['pass']);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
if ($result = mysqli_query($link, "select user from guru where user='$user' and pass='$pass'")) {
$num=mysqli_num_rows($result);
if($num>0){
session_register('user');
$_SESSION['user']=$result[0]['user'];
/* free result set */
mysqli_free_result($result);
header("location:index.php");
exit;
} else {
echo '
<div class="alert alert-danger" role="alert">User atau password salah.</div>';
};
}
}
?>
<div class="login">
<div class="panel panel-info" >
<div class="panel-heading">
<div class="panel-title">Masuk</div>
</div>
<div style="padding-top:30px" class="panel-body" >
<div style="display:none" id="login-alert" class="alert alert-danger col-sm-12"></div>
<form id="loginform" class="form-horizontal" role="form" action="" method="post">
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
<input id="login-username" type="text" class="form-control" name="user" value="" placeholder="username">
</div>
<div style="margin-bottom: 25px" class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
<input id="login-password" type="password" class="form-control" name="pass" placeholder="password">
</div>
<div style="margin-top:10px" class="form-group">
<!-- Button -->
<div class="col-sm-12 controls">
<input type="submit" name="submit" class="btn btn-primary btn-block" value="Masuk" /></div>
</div></form></div>
</div></div></body>
</html>