isset 值总是 returns 1
isset value always returns 1
PHP我是新手。我正在尝试制作登录和注销网页。现在,我已经创建了一个可以添加记录的页面。我的代码总是 returns 1 来自我构建的表单,无论表单中的值如何。
我的代码-
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$alpha = isset($_GET["username"]);
$beta = isset($_GET["password"]);
$gama = isset($_GET["hobby"]);
// Create connection
$conn = mysqli_connect("localhost","root" ,"","member");
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO data (username,password,hobby)
VALUES ($alpha, $beta, $gama)";
if ($conn->query($sql)=== TRUE) {
echo $alpha."Your record is added into our database ";
} else {
echo $sql.$conn->error;
}
?>
这是我的表格:
<form action="add.php">
<table>
<tr>
<td>Username :</td> <td><input type="text" name="username"></td>
</tr>
<tr>
<td>Password :</td> <td><input type="text" name="username"></td>
</tr>
<tr>
<td>Hobbies:</td> <td><textarea name="hobby" id="hobby" cols="22" rows="7"></textarea></td>
</tr>
<tr>
<td> </td><td><input type="submit" name="submit"></td>
</tr>
</table>
</form>
这是因为 isset() 函数检查数组中的键是否已设置,它不检查值是否已设置。在你的情况下;当您 post 您的表单执行操作时, POST 数组包含所有键,因此 isset 像往常一样返回 1 。我认为您需要查看 php empty() 函数。或者您可能想混合使用 isset() 和 empty()。
这是因为 isset()
returns 一个布尔值。
如果您想直接打印 username
字段,您可以:
if(isset($_GET["username"])) {
echo $_GET["username"];
}
所以你应该明白变量 $alpha
、$beta
、$gamma
不是你期望的实际字符串,而是一个布尔值
PHP我是新手。我正在尝试制作登录和注销网页。现在,我已经创建了一个可以添加记录的页面。我的代码总是 returns 1 来自我构建的表单,无论表单中的值如何。 我的代码-
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$alpha = isset($_GET["username"]);
$beta = isset($_GET["password"]);
$gama = isset($_GET["hobby"]);
// Create connection
$conn = mysqli_connect("localhost","root" ,"","member");
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO data (username,password,hobby)
VALUES ($alpha, $beta, $gama)";
if ($conn->query($sql)=== TRUE) {
echo $alpha."Your record is added into our database ";
} else {
echo $sql.$conn->error;
}
?>
这是我的表格:
<form action="add.php">
<table>
<tr>
<td>Username :</td> <td><input type="text" name="username"></td>
</tr>
<tr>
<td>Password :</td> <td><input type="text" name="username"></td>
</tr>
<tr>
<td>Hobbies:</td> <td><textarea name="hobby" id="hobby" cols="22" rows="7"></textarea></td>
</tr>
<tr>
<td> </td><td><input type="submit" name="submit"></td>
</tr>
</table>
</form>
这是因为 isset() 函数检查数组中的键是否已设置,它不检查值是否已设置。在你的情况下;当您 post 您的表单执行操作时, POST 数组包含所有键,因此 isset 像往常一样返回 1 。我认为您需要查看 php empty() 函数。或者您可能想混合使用 isset() 和 empty()。
这是因为 isset()
returns 一个布尔值。
如果您想直接打印 username
字段,您可以:
if(isset($_GET["username"])) {
echo $_GET["username"];
}
所以你应该明白变量 $alpha
、$beta
、$gamma
不是你期望的实际字符串,而是一个布尔值