PHP 当我按下登录按钮时,没有任何反应


PHP When i press the login button nothing happen

我试图创建一个登录页面,但它似乎不起作用。当我输入详细信息并单击登录时。什么也没发生。我尝试再次登录,但仍然没有任何反应。我想发生的是当我登录时会出现一个弹出窗口,我将被定向到主页

<?php 

$con = mysqli_connect("localhost","root","","onlineshop");
if (!$con) {
    die("Connection failed: " . mysqli_connect_error());
}
?>
<div class = "boxlog1"
    <form method="post" action="" enctype="multipart/form-data">
        <input type="text" name="uname" placeholder="Username"class="username" required />
        <input type="text" name="lpass" placeholder="Password" class="passwordl" required />
        <input type="submit" value="Log In" class="log" name="log"/>
    </form>
<a href="forget.php"><p class="forget">Forget password</p></a>
</div>
<?php

if (isset($_POST['log'])){
        $c_email = $_POST['uname'];
        $c_pass = $_POST['lpass'];
        $sel_c = "select * from customers where customer_pass='$c_pass' AND customer_email='$c_email'";
        $run_c = mysqli_query($con, $sel_c);
        $check_customer = mysqli_num_rows($run_c);
        if($check_customer == 0){
        echo "<script>alert('Password or Email is incorrect!')</script>";
        exit();
        }
else{
                $_SESSION['customer_email']=$c_email;
                echo "<script>alert('login!')</script>";
                echo "<script>window.open('paymnet.php','_self')</script>";
        }
    }
?>

将页面添加到表单操作

例如:

<form action"login.php">

或使用

<form action"<?php echo $_SERVER['PHP_SELF']; ?>">

并用" > "关闭您的div 标签,因此

<div class="boxlog1">

工作示例

<?php 
if (!isset($_SESSION)) { session_start(); }
$con = mysqli_connect("localhost","root","","onlineshop");
if (!$con) {
    die("Connection failed: " . mysqli_connect_error());
}
?>
<div class="boxlog1">
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
        <input type="text" name="uname" placeholder="Username"class="username" required />
        <input type="text" name="lpass" placeholder="Password" class="passwordl" required />
        <input type="submit" value="Log In" class="log" name="log"/>
    </form>
<a href="forget.php"><p class="forget">Forget password</p></a>
</div>
<?php
if (isset($_POST['log'])){
        $c_email = $_POST['uname'];
        $c_pass = $_POST['lpass'];
        $sel_c = "select * from customers where customer_pass='$c_pass' AND customer_email='$c_email'";
        $run_c = mysqli_query($con, $sel_c);
        $check_customer = mysqli_num_rows($run_c);
        if($check_customer == 0){
        echo "<script>alert('Password or Email is incorrect!')</script>";
        exit();
        } else {
                $_SESSION['customer_email']=$c_email;
                echo "<script>alert('login!')</script>";
                echo "<script>window.open('paymnet.php','_self')</script>";
        }
    }
?>

这里更新了针对SQL注入的安全性。不要忘记加密您的密码,以免被盗

<?php 
if (!isset($_SESSION)) { session_start(); }
$con = mysqli_connect("localhost","root","","onlineshop");
if (!$con) {
    die("Connection failed: " . mysqli_connect_error());
}
?>
<div class="boxlog1">
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
        <input type="text" name="uname" placeholder="Username"class="username" required />
        <input type="text" name="lpass" placeholder="Password" class="passwordl" required />
        <input type="submit" value="Log In" class="log" name="log"/>
    </form>
<a href="forget.php"><p class="forget">Forget password</p></a>
</div>
<?php
if (isset($_POST['log']) && isset($_POST['uname']) && isset($_POST['lpass'])){
        $c_email = bin2hex(htmlspecialchars($_POST['uname']));
        $c_pass = bin2hex(htmlspecialchars($_POST['lpass']));
        $sel_c = "SELECT * FROM customers WHERE customer_pass=UNHEX('$c_pass') AND customer_email=UNHEX('$c_email')";
        $run_c = mysqli_query($con, $sel_c);
        $check_customer = mysqli_num_rows($run_c);
        if($check_customer === 0){
        echo "<script>alert('Password or Email is incorrect!')</script>";
        exit();
        } else {
                $_SESSION['customer_email']=$c_email;
                echo "<script>alert('login!')</script>";
                echo "<script>window.open('paymnet.php','_self')</script>";
        }
    }
?>

我并没有太大的改变。只需正确关闭您的div 标签并添加操作即可。但是,它确实可以在没有填写操作的情况下工作。

相关文章: