首页 > 解决方案 > PHP创建表单不会识别索引

问题描述

我正在创建一个使用 HTML/PHP 和 mySQL 应用 CRUD 函数的表单。我可以删除、读取和更新,但无法创建新记录。下面是我的数据库结构、索引页面和创建页面。任何指导表示赞赏。我没有包含配置文件,因为我觉得没有必要。数据库名称 谢谢!

准确错误

注意:未定义的索引:在第 30 行的 C:\xampp\htdocs\Update\create.php 中排名

数据库结构

创建.php

// Include config file
require_once "config.php";

// Define variables and initialize with empty values
$nickname = $lastsubmission = $rank = "";
$nickname_err = $lastsubmission_err = $rank_err = "";

// Processing form data when form is submitted
if($_SERVER["REQUEST_METHOD"] == "POST"){
    // Validate name
    $input_nickname = trim($_POST["nickname"]);
    if(empty($input_nickname)){
        $nickname_err = "Please enter a name.";
    } elseif(!filter_var($input_nickname, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>"/^[a-zA-Z\s]+$/")))){
        $nickname_err = "Please enter a valid name.";
    } else{
        $nickname = $input_nickname;
    }

    // Validate address
    $input_lastsubmission = trim($_POST["lastsubmission"]);
    if(empty($input_lastsubmission)){
        $lsstsubmission_err = "Please enter an address.";     
    } else{
        $lastsubmission = $input_lastsubmission;
    }

    // Validate salary
    $input_rank = trim($_POST["rank"]);
    if(empty($input_rank)){
        $rank_err = "Please enter the salary amount.";     
    } elseif(!ctype_digit($input_rank)){
        $rank_err = "Please enter a positive integer value.";
    } else{
        $rank = $input_rank;
    }

标签: phpmysql

解决方案


HTML 表单中的昵称元素需要name属性。可能是复制/粘贴错误?

这同样适用于所有其他 HTML 输入元素。

更改nickname="nickname"name="nickname"

<input type="text" name="nickname" class="form-control" value="<?php echo $nickname; ?>">

推荐阅读