我正在尝试在某些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>";
}
}
}
?>
我有两个例子。两者都不起作用。其余代码正在执行OK(通过表单上的提交按钮)。提交后打印到网页的内容实际上是文本
alert("Invalid please try again.")">
任何帮助表示赞赏,它必须是愚蠢的,基本的我做错了。
编辑:在试图保持问题简短时,我没有打印所有代码。那显然是错的。已经更新了以上包含php代码上面的html表单数据。这是完整的代码。
这就是我的页面在运行时打印的内容(声誉太低而无法添加图像)
答案 0 :(得分:0)
它作为文本打印的原因是因为您将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();
e.g。
<input type="submit" name="my_submit_button" />
<?PHP
if (isset($_POST['my_submit_button'])){
storeMemberData();
}
?>