所以我有这个 php 操作文件:
<?php
session_start();
require 'config.php';
if (isset($_POST['action']) && $_POST['action'] == 'signup') {
$stmt1 = "SELECT * FROM users where username='" . $_POST['username'] . "'";
$ret1 = mysqli_query($conn, $stmt1);
$rowcount1 = mysqli_fetch_assoc($ret1);
if (empty($rowcount1)) {
$query = "INSERT INTO users (username, password, email, cpf)VALUES( '" . $_POST['username'] . "', '" . $_POST['password'] . "', '" . $_POST['email'] . "', '" . $_POST['cpf'] . "')";
//echo $query;exit;
echo mysqli_query($conn, $query);
} else {
header("Location:signup.php");
echo '<script language="javascript">';
echo 'alert("User is already registered.")';
echo '</script>';
}
}
这个 else 语句变为 true,因为我可以在控制台中看到它,但是,我试图在另一个名为“signup.php”的文件中显示此警报消息。
我想在这个小 div 内显示警报消息:
<div class="cont">
</div>
我尝试用“header(”Location:signup.php”);”来做到这一点正如您所看到的,但不知道如何使其工作。
关于如何做到这一点有什么想法吗?
最佳答案
Header('Location:') 将重定向用户的浏览器。由于浏览器正在重定向,网页上不会显示任何其他内容。您需要将标签添加到页面signup.php。
<?php
session_start();
require 'config.php';
if (isset($_POST['action']) && $_POST['action'] == 'signup') {
$stmt1 = "SELECT * FROM users where username='" . $_POST['username'] . "'";
$ret1 = mysqli_query($conn, $stmt1);
$rowcount1 = mysqli_fetch_assoc($ret1);
if (empty($rowcount1)) {
$query = "INSERT INTO users (username, password, email, cpf)VALUES( '" . $_POST['username'] . "', '" . $_POST['password'] . "', '" . $_POST['email'] . "', '" . $_POST['cpf'] . "')";
//echo $query;exit;
echo mysqli_query($conn, $query);
} else {
// THE BROWSER IS HAS BEEN REDIRECTED TO signup.php
header("Location:signup.php");
// THIS ISN'T DISPLAY IN THE BROWSER BECAUSE THE BROWSER IS BEING REDIRECTED
echo '<script language="javascript">';
echo 'alert("User is already registered.")';
echo '</script>';
}
}
关于javascript - 显示另一个文件中操作文件内的警报消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60030718/