HTML表单文本区域。使用PHP将数据发送到MySQL。注意:未定义索引

HTML表单文本区域。使用PHP将数据发送到MySQL。注意:未定义索引,php,jquery,html,mysql,textarea,Php,Jquery,Html,Mysql,Textarea,我试图将表单中的数据发送到数据库,但在Textarea部分,我一直出现相同的错误 我不确定我是否必须处理MYSQL中的数据类型,但我也尝试过将其设置为text、medium、text、long text等 连接成功。除了textarea thingy之外,所有其他信息都输入成功 使用XAMPP 我之所以将表单操作作为链接,是因为我希望它能找到我的文件 下面是我的代码 HTML代码 <!DOCTYPE html> <html lang="en"> <head

我试图将表单中的数据发送到数据库,但在Textarea部分,我一直出现相同的错误

我不确定我是否必须处理MYSQL中的数据类型,但我也尝试过将其设置为text、medium、text、long text等

连接成功。除了textarea thingy之外,所有其他信息都输入成功

使用XAMPP

我之所以将表单操作作为链接,是因为我希望它能找到我的文件

下面是我的代码

HTML代码

<!DOCTYPE html>
<html lang="en">

    <head>
        <meta charset="utf-8"/>
        <title> Competition Organizer </title>
        <link rel="stylesheet" href="main.css">
    </head>

    <body>
        <ul> 
            <li><a href="">Log Out</a></li>
            <li><a>Notification</a></li>
            <li><a href="Report.html">Generate Report</a></li>
            <li><a href="Admin.html">Home</a></li>
            <li style="float:left;color:white;">Competition Management</li>
        </ul>
        <form action="http://localhost/GCSweb/add.php" method="POST">
            <div>
                <br>
                <br>
                <br>

                <label><b>Competition Name</b></label>
                <input type="text" placeholder="Enter Competiton Name" name="compname" required>

                <label><b>Competition Mentor</b></label>
                <input type="text" placeholder="Enter Competiton Mentor Name" name="compmenname" required>

                <label><b>Competiton Description</b></label>
                <textarea rows="20" cols="50" name="compdescription" form="CompForm" placeholder="Enter Description Here..." required></textarea>

                <br>

                <input type="submit" value="Submit" name="submit">
            </div>
        </form>

    </body>

</html>
PHP代码

与SQL的连接

<?php

$DB_host = "localhost";
$DB_user = "root";
$DB_password = "";
$DB_name = "competition_system";

try{
    $connection=new PDO("mysql:host=$DB_host;dbname=$DB_name",$DB_user.$DB_password);
    $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>
发送数据

<?php

include "connection.php";

$compname = $_POST['compname'];
$compmenname = $_POST['compmenname'];
$compdescription = $_POST['compdescription']; //THis doesnt work


if(isset($_POST["submit"])){

    try{
    $sql = "INSERT INTO competition(Name,Host,Description) VALUES ('".$compname."','".$compmenname."','".$compdescription."')";

    if ($connection->query($sql)){
        echo"<script type= 'text/javascript'>alert('New Record Inserted Successfully');</script>";
    }else{
        echo "<script type= 'text/javascript'>alert('Data not successfully Inserted.');</script>";
    }

    $connection = null;
    }

    catch(PDOException $e){
        echo $sql . "<br>" . $e->getMessage();
    }
}
?>

谢谢

您正在定义一个不存在的表单,以便在-form=CompForm中包含textarea

删除该选项,您的文本区域将在提交该表单时包含在内

要添加,仅当textarea位于表单标记之外时,才为textarea添加表单属性

例如:

<form id="my_form">
  <!-- other form elements here -->
</form>

<textarea name="my_txt" form="my_form"></textarea>
可能重复的