将2个文件php loginform和checklogin合并到一个文件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=

我有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="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        
}