带有javascript表单验证的PHP表单请求

带有javascript表单验证的PHP表单请求,javascript,php,html,forms,Javascript,Php,Html,Forms,所以我有一个javascript,它可以对 <form method="get" name="formPG" onsubmit="return (validateForm());" action="filter.php"> <p>Noun <input id="iNoun" name="fNoun" type="text" /></p> <p><br /> Pronoun <input id="iPronoun" n

所以我有一个javascript,它可以对

<form method="get" name="formPG" onsubmit="return (validateForm());" action="filter.php">
<p>Noun <input id="iNoun" name="fNoun" type="text" /></p>

<p><br />
Pronoun <input id="iPronoun" name="fPronoun" type="text" /></p>

<p><br />
Verb <input id="iVerb" name="fVerb" type="text" /></p>

<p><br />
Adverb <input id="iAdverb" name="fAdverb" type="text" /></p>

<p><br />
Adjective <input id="iAdjective" name="fAdjective" type="text" /></p>

<p><br />
Silly Word <input id="iSillyWord" name="fSillyWord" type="text" /></p>

<p><br />
Magic Spell <input id="iMagic" name="fMagic" type="text" /></p>

<p><br />
<input type="submit" value="submit" /></p>
</form>

名词


代词


动词


副词


形容词


傻话


魔咒


javascript会说“嘿,这是填写的”或“嘿,这不是填写的,请填写”

现在,我有一个PHP文件,它从HTML标记收集信息

<?php
    require "start.php"
?>

<div class="work"><</div>
<?php
if(!empty($_GET['fNoun']) && !empty($_GET['fPronoun']) && !empty($_GET['fVerb']) && !empty($_GET['fAdverb']) && !empty($_GET['fAdjective']) && !empty($_GET['fSillyWord']) && !empty($_GET['fMagic']))
{
    $noun = filter_input(INPUT_GET, 'fNoun', FILTER_SANITIZE_STRING);
    $pronoun = filter_input(INPUT_GET, 'fPronoun', FILTER_SANITIZE_STRING);
    $verb = filter_input(INPUT_GET, 'fVerb', FILTER_SANITIZE_STRING);
    $adverb = filter_input(INPUT_GET, 'fAdverb', FILTER_SANITIZE_STRING);
    $adjective = filter_input(INPUT_GET, 'fAdjective', FILTER_SANITIZE_STRING);
    $sillyword = filter_input(INPUT_GET, 'fSillyWord', FILTER_SANITIZE_STRING);
    $magic = filter_input(INPUT_GET, 'fMagic', FILTER_SANITIZE_STRING);
        echo "There was once a $adjective magician who roamed the wild terrains of $adverb <br>The magician $noun cast the mighty spell $magic around the $sillyword <br>$pronoun knew there was only one way to win the war - $verb";
}
else
{
    echo "parameters not provided."
}
?>

<?php
    require "end.php"
?>

我遇到的问题是,它收集信息(你可以在URL中看到),但是,它不会将信息回显到屏幕上


这可能是与PHP和JavaScript的奇怪交互吗?

这里有一个选项,您需要首先检查filter\u输入返回的内容,然后您可以将其分配给变量并显示它,下面是一个简单的示例,源于w3schools在此提供的内容:。下面的示例验证来自表单的电子邮件,如果筛选输入未返回false,它将打印一条消息,说明“此电子邮件:是有效电子邮件”

例如:

<!DOCTYPE html>
<html>
<body>

<form method="get" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
E-mail: <input type="text" name="email">
<input type="submit" name="submit" value="Submit">
</form>

<?php
if (isset($_GET["email"])) {
    if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL) === false) {
        $email = filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL);
        echo("This email: ".$email." is a valid Email");
    } else {
        echo("Email is not valid");
    }
}
?>

</body>
</html>


你好您可能应该尝试在不启动函数的情况下运行它,看看是否打印了数据。此外,根据您的设置,您可能必须声明值a string$b=(string)filter_input(input_GET,'b');好吧,让我试试这个。。。我将把这个注释编辑成结果:空白页面仍然
filter.php?fNoun=q&fPronoun=q&fVerb=q&fAdverb=q&fadverve=q&fSillyWord=q&fMagic=q
这就是要传递的内容参见前面的注释,我认为您可能需要使用filter\u var,因为我相信filter\u输入是标量的。请参考这个答案,我正在查看调试器,我收到一个500内部服务器错误
[Sun Apr 23 14:51:50.552397 2017][:error][pid 26426][client 199.249.223.60:62465]文件不存在:/home/gyqynpkr/public_html/index.php
是否发送到filter.php?检查所有东西的拼写。这是一个你想要的例子,我想。。。祝你好运