我正在构建一个简单的表单,用户可以在其中输入数据,但是当出现例如无效电子邮件等错误时。该错误指示无效电子邮件出现在页面顶部,我希望它显示在页面的侧面。输入字段,我尝试了各种方法,但是失败了,我是编程新手,请多多帮助。
谢谢。
这是我的HTML代码:
int __stdcall Calc(int num_lab, int num_rec, bool isFailStep2,
bool isHandleStep2, char *errorText, const int errorTextLen)
这是我的php代码:
<!DOCTYPE html>
<html>
<head>
<title>login form</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="container">
<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<label>Name :</label>
<input type="text" name="name" id="name" placeholder="Name">
<span class="error"><?php echo $nameErr;?></span>
<br><br>
<label>Adress :</label>
<input type="text" name="adress" id="adress" placeholder="Adress"><br><br>
<label>E-mail :</label>
<input type="text" name="email" id="email" placeholder="E-mail">
<span class="error"><?php echo $emailErr;?></span>
<br><br>
<label>Password :</label>
<input type="Password" name="password" id="password" placeholder="Password"><br><br>
<label>Gender :</label>
<input type="radio" name="gender" value="male" class="radio1">male
<input type="radio" name="gender" value="female" class="radio1">female
<input type="radio" name="gender" value="other" class="radio1">other
<br><br>
<button type="sumbit" value="sumbit" name="sumbit">sumbit</button>
</form>
</div>
</body>
</html>
答案 0 :(得分:0)
鉴于您的PHP和HTML代码位于同一.php
文件中,我猜是因为您正在向PHP_SELF
提交表单,
在HTML代码中,您可以添加一个PHP循环以在PHP代码$error[]
变量中显示错误。
例如:
要在其中显示错误的html文件中:
...
<?php
foreach($error as $err){
echo "<div class='error'>".$err."</div>"; // changed to div to seperate lines
}
?>
...
您当前的HTML使用的PHP变量$emailErr
和$nameErr
在您的PHP文件中未设置,这就是为什么在您提交表单后它们可能不会出现的原因。
if(empty($_POST["email"]))
$emailErr = "Please enter an email.";
if(empty($_POST["name"]))
$nameErr = "Name is required.";
答案 1 :(得分:0)
应用它:
<form method="POST">
<label>Name :</label>
<input type="text" name="name" id="name" placeholder="Name">
<span class="error"><?php echo $nameErr;?></span>
<br><br>
<label>E-mail :</label>
<input type="text" name="email" id="email" placeholder="E-mail">
<span class="error"><?php echo $emailErr;?></span>
<br><br>
<button type="sumbit" value="sumbit" name="sumbit">sumbit</button>
</form>
PHP代码:
<?php
if(isset($_POST['sumbit'])){
if(empty($_POST["name"])){
$nameErr = "Name is required";
}else{
$name = $_POST["name"];
$nameErr="";
}
if(empty($_POST["email"])){
$emailErr = "Email is required";
}else{
$email = $_POST["email"];
$emailErr = "";
}
}
?>
看起来会更好,如果您可以应用jQuery表单验证,请尝试- jQuery validation – Name, Email, Password and Phone no validation
答案 2 :(得分:-1)
您可以为此使用jquery验证引擎。它将自动完成您的工作。
如何使用它?
从here.下载jquery验证引擎插件并解压缩。
在文件夹中,您可以找到这两个文件。
jquery.validationEngine-en.js
jquery.validationEngine.js
复制并粘贴到您的工作项目的资产->脚本->中。
然后按如下所示更改src
路径。
<script src="assets/scripts/jquery.validationEngine-en.js" type="text/javascript" charset="utf-8"></script>
<script src="assets/scripts/jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script>
有关更多详细信息,您可以访问here