无法在php mysql中显示警报

时间:2017-11-03 16:21:36

标签: javascript php mysql

$sql = "INSERT INTO stock VALUES 
('$pid','$name','$hsn','$qty','$unit','$sid')";

if(mysqli_query($conn, $sql)){


$message = "Records added successfully.";
echo "<script type='javascript'>alert('$message');</script>";

} 
else{

$message= "ERROR: Could not able to execute $sql. " . mysqli_error($link);
echo "<script type='text/javascript'>alert('$message');</script>";

}

mysqli_close($conn);
header("Location: addp.php"); /* Redirect browser */
exit();

即使在数据库中成功执行警报,也不会显示警告。

编辑:使用@Randall回答:

echo '<script language="Javascript" type="text/javascript">';
echo     'alert('. json_encode($message) .');';
echo '</script>';

仅在

时显示警报
header("Location: addp.php");

已删除。 我需要显示警告和重定向。

2 个答案:

答案 0 :(得分:0)

我在你的粘贴中发现了一些东西:

if (mysqli_query($conn, $sql)) {
    $message = "Records added successfully.";
    echo "<script type='javascript'>alert('$message');</script>";
} else {
    $message= "ERROR: Could not able to execute $sql. " . mysqli_error($link);
    echo "<script type='text/javascript'>alert('$message');</script>";
}

在第一种情况下,您只使用<script type='javascript'>,这可能会导致一些问题,因为这不是有效类型(请检查您的浏览器开发控制台是否有错误)。

在第二种情况下,您没有逃离$sql的{​​{1}}部分。这肯定会导致您在浏览器开发控制台中看到的javascript错误。

因此,请尝试这样做:

$message

我在if / else之后放置了脚本的回显,因为你总是会有一条$ message来提醒,因此这会整合代码。

- 编辑 -

根据你有标题()的消息;重定向你的PHP的底部...这会杀死任何javascript的概念,因为网页浏览器永远不会获取该信息...这是一种可能的方法来处理它:

if (mysqli_query($conn, $sql)) {
    $message = "Records added successfully.";
} else {
    $message = "ERROR: Could not execute $sql. " . mysqli_error($link);
}
echo '<script language="Javascript" type="text/javascript">';
echo     'alert('. json_encode($message) .');';
echo '</script>';

告诉浏览器在喷出javascript警告(凌乱,丑陋)后刷新到最终目的地。

另一个例子是使用:

echo '<meta http-equiv="refresh" content="1; url=addp.php">';

将刷新计时器放入标题,而不是html正文。具有相同的效果,并且是丑陋和混乱的。

最后一个例子是真正重构你的执行路径以及你正在做什么......我不会为其提供代码。太多的工作。

答案 1 :(得分:0)

<script>的类型属性错误。删除类型属性或将其指定为text/javascript

$sql = "INSERT INTO stock VALUES 
('$pid','$name','$hsn','$qty','$unit','$sid')";

if(mysqli_query($conn, $sql)){


$message = "Records added successfully.";
echo "<script type='text/javascript'>alert('$message');</script>";

} 
else{

$message= "ERROR: Could not able to execute $sql. " . mysqli_error($link);
echo "<script type='text/javascript'>alert('$message');</script>";

}

PS:你的php脚本容易受到sql注入攻击。使用准备好的陈述