gpt4 book ai didi

javascript - 在 php 上抛出 ctype_digit 错误后,有没有办法阻止表单提交

转载 作者:行者123 更新时间:2023-11-28 00:57:42 26 4
gpt4 key购买 nike

我是 php 新手,仍在学习中。我需要的是一旦用户在 Age 字段中输入整数以外的内容并且不提交给 mysql 时停止表单。这是我的基本形式和代码:

add.html->

    <form action="add.php" method="post" name="form1">
<table width="25%" border="0">
<tr>
<td>Name</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>Age</td>
<td><input type="text" name="age"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email"></td>
</tr>

<tr>
<td></td>
<td><input type="submit" name="Submit" value="Add"></td>
</tr>
</table>
</form>

这是流程文件添加.php->

    <?php



error_reporting(E_ALL);
ini_set('display_errors', 1);
//including the database connection file
include_once("config.php");

if(isset($_POST['Submit'])) {
$name = mysqli_real_escape_string($mysqli, $_POST['name']);
$age = mysqli_real_escape_string($mysqli, $_POST['age']);
$email = mysqli_real_escape_string($mysqli, $_POST['email']);



// checking integer fields
if (!ctype_digit($age)){
echo "<font color='red'>ERREUR! age n'est PAS entier</font><br/>";
}
// checking empty fields
if(empty($name) || empty($age) || empty($email)) {

if(empty($name)) {
echo "<font color='red'>Name field is empty.</font><br/>";
}

if(empty($age)) {
echo "<font color='red'>Age field is empty.</font><br/>";
}


if(empty($email)) {
echo "<font color='red'>Email field is empty.</font><br/>";
}

//link to the previous page
echo "<br/><a href='javascript:self.history.back();'>Go Back</a>";
} else {
// if all the fields are filled (not empty)

//insert data to database
$result = mysqli_query($mysqli, "INSERT INTO users(name,age,email) VALUES('$name','$age','$email')") or die(mysql_error());

//display success message
echo "<font color='green'>Data added successfully.";
echo "<br/><a href='index.php'>View Result</a>";
}
}
?>

请我阅读了很多帖子,但作为初学者,现在深入研究 javascript 似乎太难了。如果这是唯一的解决方案,您能否教我 -lol- 如何实现几行脚本。谢谢

最佳答案

您可以使用退出函数 ( http://php.net/manual/en/function.exit.php )

if (!ctype_digit($age)){
echo "<font color='red'>ERREUR! age n'est PAS entier</font><br/>";
exit();
...

此时脚本执行将停止。

关于javascript - 在 php 上抛出 ctype_digit 错误后,有没有办法阻止表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52863108/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com