php - 未捕获的错误函数名称必须是字符串,登录表单
问题描述
正如标题所说,我的登录表单有问题,我试图为家庭作业制作一个简单的表单,但是在填写表单并将它们与数据库进行比较后出现了该错误,这是表单:
<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 中抛出
解决方案
解决方案在这里!!!
//替换和工作
$username = $_POST['username'];
$password = $_POST['password'];
推荐阅读
- python - 在第一个空格之后排序列表项,然后是相同的单词
- node.js - 删除类的对象实例-NodeJS
- azure-logic-apps - Azure 事件中心日志使用查询对流进行排序
- c++ - c++中的`function() const &`中的`&`是什么?
- alfresco - Alfresco - Aikau 自定义动作
- flutter - 为颤振项目创建 DART 包时出错
- java - 在内部类中同步静态变量
- python - 为什么 repr(a) 会截断 a.__repr__(),而 f'{a!r}' 不会?
- python - 在美丽的汤中循环/没有错误
- c# - 为什么 await 不等到 httpclient postasync 完成?