表格不发送邮件

时间:2018-02-13 10:31:30

标签: php forms post

这是我的表单,它将POST发送到 loginuser.php 它有从数据库中读取用户的下拉列表。

<form action="loginuser.php" method="POST">
<div class="form-group">
    <select name="userList">
        <option> - - - </option>

        <?php
        include 'db.php';

        $sql = "SELECT username FROM dbusers";
        $result = $conn->query($sql);

        if ($result->num_rows > 0) {

            while($row = $result->fetch_assoc()) {
                echo "<option>" . $row["username"]. "</option>";
            }
            }
        ?>
    </select>
</div>
<div class="form-group">
    <input name "password" type="password" class="form-control" id="inputPassword">
</div>  
<div class="form-group">
    <button type="submit" class="btn btn-info btn-sm btn-block">Login</button>
</div>  
</form>

这是我的 loginuser.php - 当我按下Login按钮时,它会将我发送到localhost / loginuser.php,但它会显示&#34; TEST-FALSE&#34;

<?php
session_start();
require('db.php');

if (isset($_POST['username']) and isset($_POST['password'])){
  echo "TEST - GOOD";

  $username = $_POST['username'];
  $password = $_POST['password'];

  $query = "SELECT * FROM `dbusers` WHERE username='$username' and password='$password'";

  $result = mysqli_query($conn, $query) or die(mysqli_error($conn));
  $count = mysqli_num_rows($result);

  if ($count == 1){
    $_SESSION['username'] = $username;
  }else{
    $fmsg = "Invalid Login Credentials.";
  }
}

if (isset($_SESSION['username'])){
  $username = $_SESSION['username'];
  echo "Succes";
}else{
  echo "TEST - FALSE";
}
?>

另外,我在db.php中的连接有效,因为表单上的脚本会正确显示用户。

2 个答案:

答案 0 :(得分:0)

我在前端的选择下拉菜单中更改了一些传递值,我不知道name=password是否是拼写错误:

<form action="loginuser.php" method="POST">
<div class="form-group">
    <select name="userList">
        <option> - - - </option>

        <?php
        include 'db.php';

        $sql = "SELECT username FROM dbusers";
        $result = $conn->query($sql);

        if ($result->num_rows > 0) {

            while($row = $result->fetch_assoc()) {
                echo "<option value='".$row["username"]."'>" . $row["username"]. "</option>";
            }
            }
        ?>
    </select>
</div>
<div class="form-group">
    <input name="password" type="password" class="form-control" id="inputPassword">
</div>  
<div class="form-group">
    <button type="submit" class="btn btn-info btn-sm btn-block">Login</button>
</div>  

你的php代码就像:

<?php
session_start();
require('db.php');

if (isset($_POST['userList']) && isset($_POST['password'])){
  echo "TEST - GOOD";

  $username = $_POST['userList'];
  $password = $_POST['password'];

  $query = "SELECT * FROM `dbusers` WHERE username='$username' and password='$password'";

  $result = mysqli_query($conn, $query) or die(mysqli_error($conn));
  $count = mysqli_num_rows($result);

  if ($count == 1){
    $_SESSION['username'] = $username;
  }else{
    $fmsg = "Invalid Login Credentials.";
  }
}

if (isset($_SESSION['username'])){
  $username = $_SESSION['username'];
  echo "Succes";
}else{
  echo "TEST - FALSE";
}
?>

注意:请避免sql注入尝试使用PDO。,

答案 1 :(得分:-1)

你写了这个

<div class="form-group"> <input name "password" type="password" class="form-control" id="inputPassword"> </div> 

纠正此

<div class="form-group"> <input name="password" type="password" class="form-control" id="inputPassword"> </div> 

name =“password”(=)缺少