$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");
已删除。 我需要显示警告和重定向。
答案 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注入攻击。使用准备好的陈述