php 从文本区域获取值时出错

php error getting value from text area

嘿伙计们,我无法以这种形式从我的 textarea 中获取值,我可以读取名称和电子邮件的第一个值,但是当 php 代码尝试读取 textarea 的消息时 returns一个错误。有人可以帮我弄清楚我的代码有什么问题吗?顺便说一下,我仍然在这里写,因为我需要填写这个 space 但这句话与问题并不相关。谢谢!

HTML:

<form action="form_process.php" method="post">
      <div class="row">
        <div class="col-lg-6 text-center col-md-8 ml-auto mr-auto">
          <div class="input-group input-lg">
            <span class="input-group-addon">
              <i class="now-ui-icons users_circle-08"></i>
            </span>
            <input type="text" class="form-control" placeholder="First Name..." name="Name">
          </div>
          <div class="input-group input-lg">
            <span class="input-group-addon">
              <i class="now-ui-icons ui-1_email-85"></i>
            </span>
            <input type="text" class="form-control" placeholder="Email..." name="Email">
          </div>
          <form class="" action="form_process.php" method="post">
            <div class="textarea-container">
              <p>
                <textarea class="form-control" name="name" rows="4" cols="80" placeholder="Type a message..." name="MessageForMe"></textarea>
              </p>
            </div>
          </form>

          <div class="send-button">
            <input class="btn btn-primary btn-round btn-block btn-lg" type="submit" value="Submit" />
          </div>
        </div>
      </div>
    </form>

PHP:

<!DOCTYPE html>
<html>
<body>

<?php

$con = mysqli_connect("localhost","benji3pr","Benji3pr","Contact Form");

//if we dont connect
if(mysqli_connect_errno())
{
    echo "Failed to connect" . mysqli_connect_error();
}

//if we connect
if(mysqli_ping($con))
{
    echo "Connection Ok!!!";
}
else
{
    echo "Error: " . mysqli_error($con);
}

$name = $_POST['Name'];

$email = $_POST['Email'];

$message = $_POST['MessageForMe'];

echo (' ' . $name . ' ' . $email . ' ' . $message);

$sql = "INSERT INTO Contact Form (Name, Email, Message) VALUES ('$name', 
'$email', '$message')";

if (!mysqli_query($sql)){
  die('Error: ' . mysqli_error());
}



mysqli_close($con);

?>

</body>
</html>

从文本区域中删除 name="name" 属性:

<textarea class="form-control" name="name" rows="4" cols="80" placeholder="Type a message..." name="MessageForMe"></textarea>

至:

<textarea class="form-control" rows="4" cols="80" placeholder="Type a message..." name="MessageForMe"></textarea>

<form action="form_process.php" method="post">
    <div class="row">
        <div class="col-lg-6 text-center col-md-8 ml-auto mr-auto">
            <div class="input-group input-lg">
                <span class="input-group-addon">
                    <i class="now-ui-icons users_circle-08"></i>
                </span>
                <input type="text" class="form-control" placeholder="First Name..." name="Name">
            </div>
            <div class="input-group input-lg">
                <span class="input-group-addon">
                    <i class="now-ui-icons ui-1_email-85"></i>
                </span>
                <input type="text" class="form-control" placeholder="Email..." name="Email">
            </div>
            <div class="textarea-container">
                <p>
                    <textarea class="form-control" rows="4" cols="80" placeholder="Type a message..." name="MessageForMe"></textarea>
                </p>
            </div>
            <div class="send-button">
                <input class="btn btn-primary btn-round btn-block btn-lg" type="submit" value="Submit" />
            </div>
        </div>
    </div>
</form>

您在 .您在同一个 textarea 标签中有 name="name"name="MessageForMe"。这可能就是您的代码无法正常工作的原因。另外,我注意到你用相同的操作和方法将你的包裹在一个嵌套的 <form> 中,我认为这是没有必要的。

您正在 textArea 字段中使用 name 属性 twice。删除 name="name" 并将其更改为以下内容。它现在应该工作了。

<textarea class="form-control" rows="4" cols="80" placeholder="Type a message..." name="MessageForMe"></textarea>