PHP发送邮件

时间:2016-02-03 10:08:13

标签: php html

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

的login.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> 

login_process.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.';
    }

2 个答案:

答案 0 :(得分:1)

我认为这就是你所需要的 -

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.';
}

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

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

答案 1 :(得分:0)

好的!很多混乱完全来自我的身边。我的root中有一个.htaccess文件,显然阻止了所有的POST数据。我删除了.htaccess文件进行测试,并将POST数据整齐地提供给login_process.php。

有关详情,请参阅此帖子: Seems like POST values are lost when .htaccess RewriteRule used. GET values are OK. How to fix?