php中的javascript警告框显示为网页上的实际文本:alert <x>&gt;“</x>

时间:2014-07-22 13:42:54

标签: javascript php html alert

我正在尝试在某些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>"; 
        }
    }
}
?>

我有两个例子。两者都不起作用。其余代码正在执行OK(通过表单上的提交按钮)。提交后打印到网页的内容实际上是文本

alert("Invalid please try again.")">

任何帮助表示赞赏,它必须是愚蠢的,基本的我做错了。

编辑:在试图保持问题简短时,我没有打印所有代码。那显然是错的。已经更新了以上包含php代码上面的html表单数据。这是完整的代码。

这就是我的页面在运行时打印的内容(声誉太低而无法添加图像)

http://imgur.com/hvmzAJ3

1 个答案:

答案 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();
}
?>