我正在尝试在一些PHP代码中弹出一个javascript警告框。
<html>
<body>
<a href=http://localhost/myPage/Index.html><button type=“button” />HOME</button></a>
<br><br>
<form name="SaveNewMember" method="post" >
Add New Member <br><br>
Member ID <input type="text" name="ID" value="">
<br>
Member Name <input type="text" name="name" value="">
<br><br>
<input type="reset" style="height:50px; width:80px" value="CLEAR ">
<input type="submit" value="ADD" style="height:50px; width:80px" action="<?php storeMemberData();?>">
</form>
<?php
function storeMemberData()
{
if((isset($_POST["ID"]))&(isset($_POST["name"])))
{
$newID = $_POST["ID"];
$newName = $_POST["name"];
if((strlen($newID)==5)&(strlen($newName)>=6))
{
$con=mysqli_connect("localhost","root","","membersdb");
mysqli_query($con,"INSERT INTO members
(ID,Name)
VALUES ('$newID','$newName')");
// Echo result
echo '<script type="text/javascript"> alert("Successful log"); </script>';
}
else
{
echo "<script type='"text/javascript'">";
echo "alert('"Invalid please try again.'")";
echo "</script>";
}
}
}
?>
这里有两个例子。两个都不行。其余代码执行正常(通过表单上的提交按钮)。提交后打印到网页上的是文本
alert("Invalid please try again.")">
感谢任何帮助,它一定是愚蠢的和基本的我做错了。
编辑:为了使问题简短,我没有打印所有的代码。这显然是错误的。已经更新了上面的内容,以包括php代码上面的html表单数据。这是完整的代码。这是打印在我的页面时,它运行(信誉太低,不能添加图像)
https://i.stack.imgur.com/ucG4z.jpg它作为文本打印的原因是因为您将storeMemberData();
的输出放在按钮"action"属性中。首先,PHP代码将在任何HTML输出到达浏览器之前在服务器上运行,因此您的HTML将看起来像
<input type="submit" value="ADD" style="height:50px; width:80px"
action="<script type="text/javascript">alert("Invalid please try again.")</script>">
会产生您所看到的错误。
首先,您需要从按钮中移除操作部分。为提交按钮添加一个名称,以便检查表单是否已提交。
之后,在PHP代码中,检查提交按钮是否已发布并调用storeMemberData();
。
<input type="submit" name="my_submit_button" />
<?PHP
if (isset($_POST['my_submit_button'])){
storeMemberData();
}
?>