首页 > 解决方案 > 未捕获的错误函数名称必须是字符串,登录表单

问题描述

正如标题所说,我的登录表单有问题,我试图为家庭作业制作一个简单的表单,但是在填写表单并将它们与数据库进行比较后出现了该错误,这是表单:

<html>
<head>
    <title>Log-in</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="header">
    <h1>Log-in</h1>
</div>

<form method="post" action="connect.php">
    <table>
        <tr>
            <td>Nombre de Usuario:</td>
            <td><input type="text" name="username" class="textInput"></td>
        </tr>
        <tr>
            <td>Contraseña:</td>
            <td><input type="password" name="password" class="textInput"></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" name="register_btn" class="Register"></td>
        </tr>
    </table>
</form>
</body>
</html> 

这是与数据库的连接:


    session_start();

    $dbhost = "localhost";
    $dbuser = "root";
    $dbpass = "";
    $dbname = "registro";

    $conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
    if(!$conn){
        die("No hay conexion: ".mysqli_connect_error());
    }

    $username = $_POST('username');
    $password = $_POST('password');

    $query = mysqli_query($conn, "SELECT * FROM users where 
    username = '$username' and password = '$password'");
    $nr = mysqli_num_rows($query);

    if($nr == 1){
        echo "Bienvenido: ".$nombre;
    }else if($nr == 0){
        echo "No Ingreso";
    }
?> 

老实说,我是 php 和 html 的新手,但我知道“$username”必须是一个字符串才能工作,我尝试使用“strval”进行转换,但没有结果。

编辑:忘了把错误信息:

致命错误:未捕获错误:函数名称必须是 connect.php:15 中的字符串堆栈跟踪:#0 {main} 在第 15 行的 connect.php 中抛出

标签: phphtmlauthentication

解决方案


解决方案在这里!!!

//替换和工作

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

推荐阅读