我这样做是为了学习,从这里和那里的例子中得到它,并遵循在线教程。到目前为止我无法做到的是阻止它进入confirmation.php页面,如果其中一个条目为空,有号码(姓名和姓氏)或电子邮件地址无效。
如果我使用<?php
// define variables and set to empty values
$nameErr = $lastNameErr = $emailErr = "";
$name = $lastName = $email = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])||(ctype_space($_POST["name"]))) {
$nameErr = "Prénom Requis";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Lettre seulement";
}
}
if (empty($_POST["lastName"])||(ctype_space($_POST["lastName"]))) {
$lastNameErr = "Nom Requis";
} else {
$lastName = test_input($_POST["lastName"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$lastName)) {
$lastNameErr = "Lettre seulement";
}
}
if (empty($_POST["email"])||(ctype_space($_POST["email"]))) {
$emailErr = "Adresse courriel requise";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Adresse courriel non valide";
}
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>Inscription du participant</h2>
<p><span class="error">* Champ requis.</span></p>
<form method="post" "confirmation.php">
Prénom: <input type="text" name="name" value="<?php echo $name;?>">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
Nom: <input type="text" name="lastName" value="<?php echo $lastName;?>">
<span class="error">* <?php echo $lastNameErr;?></span>
<br><br>
Courriel: <input type="text" name="email" value="<?php echo $email;?>">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
,我会在字段中看到thre是错误,但是当action设置为confirmation.php时,即使出现错误,它也会与输入的数据一起使用。
只是为了我的下一步的信息,confirm.php将是一个页面,显示用提交按钮(到数据库)输入的信息或更新按钮,如果用户犯了错误,所以他可以在发送到db之前修复它
就是你知道,我刚刚开始用PHP支付,所以,如果你的答案不是通用的,我会很感激:-)
谢谢
options = new OpenIdConnectAuthenticationOptions
{
Notifications = new OpenIdConnectAuthenticationNotifications()
{
AuthenticationFailed = context =>
{
context.HandleResponse();
if (context.ProtocolMessage.Error == "access_denied" && context.ProtocolMessage.ErrorDescription.StartsWith("AADB2C90118"))
{
context.Response.Redirect("/Account/ResetPassword");
}
答案 0 :(得分:1)
只需在输入字段html元素中添加“required”属性,即可轻松实现所需目标。
看看这里:https://www.w3schools.com/tags/att_input_required.asp
通过添加“required”,浏览器本身将阻止发送表单。
此外,对于“电子邮件”输入,请尝试将其类型更改为电子邮件(type="email"
,这也将为电子邮件地址添加默认浏览器验证。
在这里查看表单输入字段中的更多默认验证:https://www.w3schools.com/htmL/html_form_input_types.asp
答案 1 :(得分:0)
function sumDigits(num) {
if (num == 0) {
return 0;
} else {
var last = num % 10;
var rest = Math.floor(num / 10);
return last + sumDigits(rest);
}
}
console.log(sumDigits(1234));
内缺少action=
。它只是说<form>