PHP中的Javascript警告框在网页上显示为实际文本:alert <x>在“


javascript alert box inside php displaying as actual text on webpage : alert <x> >"

我正在尝试在一些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 &nbsp;&nbsp;&nbsp;&nbsp; <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 ">
&nbsp;&nbsp;
<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();
}
?>