将2个文件php loginform和checklogin合并到一个文件php中
我有2个php文件,我用它来获得用户登录访问权限 index.php将2个文件php loginform和checklogin合并到一个文件php中,php,forms,session,Php,Forms,Session,我有2个php文件,我用它来获得用户登录访问权限 index.php <body> <section class="container"> <div class="login"> <h1>Login to Web App</h1> <form method="post" action="log.php?login=cek"> <p><input type=
<body>
<section class="container">
<div class="login">
<h1>Login to Web App</h1>
<form method="post" action="log.php?login=cek">
<p><input type="text" name="nik" value="" placeholder="username / nik"></p>
<p><input type="password" name="password" value="" placeholder="Password"></p>
<p class="submit"><input type="submit" value="Login"></p>
</form>
</div>
登录到Web应用程序
以及log.php
<?php
session_start();
include('config.php');
mysql_connect($server,$login,$pass) or die("Nggak bisa koneksi");
mysql_select_db($db);
$nik = $_POST['nik'];
$password = $_POST['password'];
$login = $_GET['login'];
if($login=="cek"){ $cek = mysql_query("SELECT * FROM karyawan WHERE nik='$nik' AND password='$password'");
if(mysql_num_rows($cek)==1) {
$c = mysql_fetch_array($cek);
$_SESSION['nik'] = $c['nik'];
$_SESSION['level'] = $c['level'];
if($c['level']=="admin") {
header("location:main.php");
}
else if($c['level']=="user") {
header("location:main.php");
}
}
else{ die("password salah <a href=\"javascript:history.back()\">kembali</a>");
}
}
else if($login=="selesai"){ unset($_SESSION['nik']); unset($_SESSION['level']); header("location:index.php");
}
?>
您只需将php代码复制到index.php中即可。像这样:
<?php
session_start();
include('config.php');
mysql_connect($server,$login,$pass) or die("Nggak bisa koneksi");
mysql_select_db($db);
$fail = ""; // <--------
if(isset($_POST["password"]))
{
$nik = $_POST['nik'];
$password = $_POST['password'];
$cek = mysql_query("SELECT * FROM karyawan WHERE nik='$nik' AND password='$password'");
if(mysql_num_rows($cek)==1) {
$c = mysql_fetch_array($cek);
$_SESSION['nik'] = $c['nik'];
$_SESSION['level'] = $c['level'];
if($c['level']=="admin") {
header("location:main.php");
}
else if($c['level']=="user") {
header("location:main.php");
}
}
else{ $fail = "<p style='color:red;'>invalid logindata</p>"; //<-------
}
}
else if($login=="selesai"){ unset($_SESSION['nik']); unset($_SESSION['level']); header("location:index.php");
}
?>
<body>
<section class="container">
<div class="login">
<h1>Login to Web App</h1>
<form method="post" action="log.php">
<p><input type="text" name="nik" value="" placeholder="username / nik"></p>
<p><input type="password" name="password" value="" placeholder="Password"></p>
<?php echo $fail; ?> <----------
<p class="submit"><input type="submit" value="Login"></p>
</form>
</div>
登录到Web应用程序
您只需在HTML代码之前将login.php代码复制并粘贴到index.php文件中。
//这里是HTML代码
<html>
<head></head>
<body>
<section class="container">
<div class="login">
<h1>Login to Web App</h1>
<form method="post" action="log.php?login=cek">
<p><input type="text" name="nik" value="" placeholder="username / nik"></p>
<p><input type="password" name="password" value="" placeholder="Password"></p>
<p class="submit"><input type="submit" value="Login"></p>
</form>
</div>
</body>
</html>
登录到Web应用程序
//PHP代码在这里
<?php
session_start();
include('config.php');
mysql_connect($server,$login,$pass) or die("Nggak bisa koneksi");
mysql_select_db($db);
if(isset($_POST)){
$nik = $_POST['nik'];
$password = $_POST['password'];
$login = $_GET['login'];
if($login=="cek"){ $cek = mysql_query("SELECT * FROM karyawan WHERE nik='$nik' AND password='$password'");
if(mysql_num_rows($cek)==1) {
$c = mysql_fetch_array($cek);
$_SESSION['nik'] = $c['nik'];
$_SESSION['level'] = $c['level'];
if($c['level']=="admin") {
header("location:main.php");
}
else if($c['level']=="user") {
header("location:main.php");
}
}
else{ die("password salah <a href=\"javascript:history.back()\">kembali</a>");
}
}
else if($login=="selesai"){ unset($_SESSION['nik']); unset($_SESSION['level']); header("location:index.php");
}
}
?>
我会将index.php上的表单发布到同一页面
<form method="POST" action="<?= $_SERVER['PHP_SELF']; ?>">
<!-- Rest of the form -->
</form>
错误:注意:未定义索引:登录第8行的D:\xampp\htdocs\myproject\webapp\log.php$nik=$_POST['nik'];|我不知道如何修复它,因为我之前已经将这两个变量组合在一起,结果相同。您必须删除带有get变量的行,就像我在上一句中解释的那样。不管怎样,它没有任何作用。它是工作:D也许我复制粘贴错了。顺便问一下,如何将“红色”文本作为登录失败通知?建议在失败的登录上填写如下变量:$fail=“登录数据不正确”
;并在您希望它出现的位置回显它。记住在默认情况下将其保留为emty($fail=“”),这样它只会出现在失败的登录上。您能帮我完成完整的脚本吗?因为现在index.php附带了die(“password salah”作为密码和/或登录错误的结果,我将在另一天测试您的建议…因为我仍在学习此编程
session_start();
if (isset($_POST['submit'])) {
// Contents of log.php
}