php - HTML FORM 如何只接受字母而不接受数字?

标签 php html web

在 5 月的 Addvalue.php 文件中,有 3 个字段 id、名称、颜色……在 id 中仅允许使用数字,在名称和颜色中仅允许使用字母。值成功插入到我的数据库中,但问题是当用户在 HTML FORM 字段中写入名称和颜色时,只有字母允许写入,如果写入任何数字消息,则会出现“仅允许字母”....但它同时需要数字和字母。这是我的两个文件代码:

Addvalue.php代码:

<form  method="post" action="addh.php">
<input type="number" name="id"  id="id" required /> <span class="error">* </span> 
<input type="text" name="name" id="name" required /> <span class="error">* </span>
<input type="text" name="color" id="color" />
<?php
include("config.php");
if (isset($_POST["submit"])) {
                 $id = $_POST["id"];
      $name = $_POST["name"];
      $color = $_POST["color"];     
     if (!preg_match("/^[a-zA-Z -]+$/",$name)) {
       echo "Only letters allowed"; 
     } 
 if(!preg_match("/^[a-zA-Z -]+$/",$color)) {
       echo "Only letters allowed"; 
     }
     }
?>

addh.php代码:

<?php
include("config.php");
    $sql="INSERT INTO honda (id, name, color)
VALUES ('$_POST[id]','$_POST[name]','$_POST[color]')";
    $result = mysqli_query($link,$sql) or die(mysqli_error($link));
    echo "Values Inserted";
?>

最佳答案

不要使用 PHP,而是尝试输入中的 HTML 模式属性,如下所示:

<form action="">
Country code: <input type="text" name="country_code" 
pattern="[A-Za-z]{3}" title="Three letter country code">
<input type="submit">
</form>

欲了解更多信息: W3School

关于php - HTML FORM 如何只接受字母而不接受数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30538895/

相关文章:

javascript - 如何在 Angular 2 中为 *ngFor 元素设置 anchor ?

iphone - 媒体查询 : avoid inheritance?

php - 通过php查询输出到xls不起作用

php - 圆形函数 - PHP

php - 在 MySQL 查询中使用 WHERE 子句作为变量不起作用

html - 我网站的一行 html 文本在移动浏览器中重叠

php从mysql解码二进制(16)ip

javascript - jQuery:加载图像子集后立即执行函数

java - Spring 安全。不同角色对同一页面的不同 View ,可能吗?

javascript - jQuery 添加/删除文本框