使用PHP进行表单验证不起作用

使用PHP进行表单验证不起作用,php,html,forms,validation,Php,Html,Forms,Validation,我对PHP非常陌生,我正在尝试验证一个包含三个输入字段的简单表单。由于某些原因,当字段为空时单击submit按钮时,没有返回任何内容。我已经为这个问题绞尽脑汁好几个小时了 我试图实现的是在字段为空/无效时在字段旁边获取错误文本 这是我的HTML和PHP代码 HTML: 尼米 香港邮政 帕劳特 PHP 我不知道下一步该怎么办 提前谢谢你的帮助 对不起,我不明白。如果我假设框中的字段是空的,那么当你提交表单时,你不会看到其中的任何内容。你先粘贴php,然后粘贴html表,此外,您还忘记了表单

我对PHP非常陌生,我正在尝试验证一个包含三个输入字段的简单表单。由于某些原因,当字段为空时单击submit按钮时,没有返回任何内容。我已经为这个问题绞尽脑汁好几个小时了

我试图实现的是在字段为空/无效时在字段旁边获取错误文本

这是我的HTML和PHP代码

HTML:


尼米
香港邮政
帕劳特
PHP


我不知道下一步该怎么办


提前谢谢你的帮助

对不起,我不明白。如果我假设框中的字段是空的,那么当你提交表单时,你不会看到其中的任何内容。你先粘贴php,然后粘贴html表,此外,您还忘记了表单中的操作。我的意思是,如果字段为空,我试图在字段旁边显示一条错误消息。由于您的“操作”属性为空,这意味着表单将发布到自身。你的PHP代码在页面的顶部吗?我已经测试过了,可以用了,把PHP代码放在顶部
<form method="post" action="">
    <table width="450px">
        <tr>
        <td valign="top">
            <label for="nimi">Nimi</label>
        </td>
        <td valign="top"> 

            <td><input type="text" name="nimi"><span class="error"><?php echo $nimiVirhe;?></span></td>
        </td>
        </tr>

        <tr>
        <td valign="top">
            <label for="sposti">Sähköposti</label>

        </td>
        <td valign="top">
            <td><input type="text" name="sposti"><span class="error"><?php echo $spostiVirhe;?></span></td>
        </td>
        </tr>

        <tr>
        <td valign="top">
            <label for="palaute">Palaute</label>
        </td>
        <td valign="top">
            <textarea  name="palaute" maxlength="1000" cols="30" rows="6"></textarea><span class="error"><?php echo $palauteVirhe;?> </span>
        </td>
        </tr>

        <tr>
        <td colspan="2" style="text-align:center">
        <input type="submit" value="Lähetä" name="submit">
        </td>
        </tr>


    </table>

</form>
<?php

$nimiVirhe = $spostiVirhe = $palauteVirhe = "";
$nimi = $sposti = $palaute = "";


if ($_SERVER["REQUEST_METHOD"] == "POST") {

    if (empty($_POST["nimi"])) {
        $nimiVirhe = "Name is required";
    } else {
        $nimi = test_input($_POST["nimi"]);
        if (!preg_match("/^[a-zA-Z ]*$/",$nimi)) {
            $nimiVirhe = "Only letters and white space allowed";
        }
    }

    if (empty($_POST["sposti"])) {
        $spostiVirhe = "Contact is required";
    } else {
        $sposti = test_input($_POST["sposti"]);
        if (!filter_var($sposti, FILTER_VALIDATE_EMAIL)) {
            $spostiVirhe = "Invalid email format";
        }
    }

    if (trim($_POST["palaute"]) == "") {
        $palauteVirhe = "City is required";
    } else {
        $palaute = test_input($_POST["palaute"]);
    }
}


function test_input($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}

?>