PHP 邮寄

标签 php html

我有一个简单的 post 表单,将数据从一个页面发送到另一个页面,但是当我按下提交时,process.php 说没有输入用户名和密码。我觉得我错过了一些非常明显的东西。我在这里做错了什么?

登录.php

 <form action="login_process.php" method="POST"> 
        <h1>Login page</h1>
        <input name="username" type="text"><br>  
        <input name="password" type="password"><br>  
        <input type="submit" value="Log in">  
 </form> 

登录进程.php

    var_dump($_POST['username']);
    echo '<br>';
    if (!isset($_POST['username']) || !isset($_POST['password'])) {  
       echo 'U heeft geen gebruikersnaam of wachtwoord ingevoerd!'.'<br>';  
       echo 'username', $_POST['username']; 
       echo '<br>password', $_POST['password'];
       exit;  
    } else {
       $sql = "SELECT `username`,`password` FROM `users` WHERE `username` = '"  . $_POST['username'] . "' AND `password` = '" . $_POST['password'] . "'";
       echo 'Gebruikersnaam en wachtwoord goed ingevoerd.';
    }

最佳答案

我想这就是你需要的 -

if ($_POST['username']=="" || $_POST['password']==""){
   echo 'U heeft geen gebruikersnaam of wachtwoord ingevoerd!'.'<br>';  
   echo 'username', $_POST['username']; 
   echo '<br>password', $_POST['password'];
   exit;  
} else {
   $sql = "SELECT `username`,`password` FROM `users` WHERE `username` = '"  . $_POST['username'] . "' AND `password` = '" . $_POST['password'] . "'";
   echo 'Gebruikersnaam en wachtwoord goed ingevoerd.';
}

但是您的代码会有很多安全问题,因为有人可以通过在用户名和密码中插入编程逻辑来尝试破解您的应用程序。

最好的方法是—— 1. 使用 strip_tags($input) - 这将从输入中删除标签,因为用户名或密码不应该有标签; 2. 不要像上面那样在你的数据库中存储用户名密码,使用加密的文本形式。

关于PHP 邮寄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35173956/

相关文章:

php - 根据时间戳的一部分从 MySQL 数据库中进行选择

php - MySQL 连接并排除 count=0 的行

php使用id删除记录

css - 全屏视频背景 - <video> vs YouTube/Vimeo-&lt;iframe&gt;?

php - 编写 PHP Web 服务的框架

javascript - PHP、Javascript、Ajax 和获取结果方面

php - Insert into MySQL db 在循环中发生两次

html - IE 的 Firebug 替代品

html - 网格属性不适用于网格容器内的元素

javascript - 使用 Base64 图像时 Canvas.ToDataUrl 存在安全违规