Javascript 显示警告消息,提示';在一个动作文件中,在另一个文件中
我有一个php操作文件:Javascript 显示警告消息,提示';在一个动作文件中,在另一个文件中,javascript,php,jquery,mysql,Javascript,Php,Jquery,Mysql,我有一个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, $stmt
<?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>';
}
}
标题('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>';
}
}
在signup.php
中包含警报代码。对不起,正确的方法是什么?编辑signup.php
页面并在该文件中包含警报(“用户已注册”)
。当你将用户重定向到另一个页面后,你不能在你的“action”PHP文件中回显JS代码(并执行它)。为什么要重复下一票?位置标题将重定向浏览器。这是一个浏览器重定向<代码>位置响应标头指示页面重定向到的URL代码>如果要在浏览器重定向后显示某些内容,则该内容必须位于新网页上。此问题已经有了答案。请避免回答已经回答和/或应该结束的问题。相反,你可以链接到重复的问题,或者在评论中解释为什么该问题应该关闭。当你有足够的声誉时,你就可以在一个问题应该结束的时候投下一票。对不起,我不知道它已经在别处得到了回答。我会先搜索再回答。(在有人注意到其他地方有人回答之前,我已经回答了10分钟)。我提供的指示比你的评论更清楚。我会把它放在评论中(我最初是这样做的——但是,我想op不会从他们的回答中理解)。你为什么没有将其作为已回答的问题关闭?我已经将其作为离题进行了关闭投票,因为它缺少能够提供好答案的信息,这就是为什么我随后使用评论部分提到重复的问题(不能对同一问题投多个关闭投票)。我承认在这种情况下,重复投票可能更准确。
<?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>';
}
}