【发布时间】:2016-06-01 20:36:41
【问题描述】:
我正在为我的促销网站制作时事通讯,但它对我不起作用,它是一个非常简单的表单,只需一个 register.php 和 connect.php 即可将数据库与 php 连接起来。代码如下所示:
connect.php
<?php
$servername = "localhost";
$username = "root";
$password = "laidinis69";
$database = "promo";
$con = mysqli_connect($servername, $username, $password, $database);
?>
register.php
<?php
include('connect.php');
$form_name = $_POST['name'];
$form_email = $_POST['email'];
$query = 'SELECT * FROM subscribers WHERE name="' .$form_name. '";';
if($result = mysqli_query($con, $query)) {
if(mysqli_num_rows($result) == 0) {
$query = 'INSERT INTO subscribers (name, email) VALUES("'.$form_name.'","'.$form_email.'")';
if(mysqli_query($con, $query)) {
echo "registered";
}
} else {
echo "already exists";
}
}
header('Location: register.php');
?>
我的 index.html 文件中的表单:
<form action="register.php" method="post">
Name: <input type="text" name="name"><br>
Email: <input type="text" name="email"><br>
<input type="submit" name="register" value="Subscribe">
</form>
当我按下订阅按钮时,它会将我重定向到 register.php 并且不会将数据放入数据库中。
【问题讨论】:
-
我相信您在第一个
if-statement中需要==而不是=。 -
或者您真的想将
$result放在 if 语句中吗? -
所以if语句中不能有$result?
-
我认为您不能在 if 语句中赋值,只需将它们与
==进行比较即可。 -
PHP 错误日志是否指示任何警告/错误?