0

我在获取 PHP 中文本区域的值时遇到问题(未定义)。

我的代码很简单。我的 HTML 是:

<form name="contactform" method="POST" action="submit_form.php">    
<input type="text" class="formInput" placeholder="Your Name" id="first_name" maxlength="50" size="20" />
<input type="text" class="formInput" placeholder="Email Address" id="email" maxlength="80" size="20" /> 
<textarea class="formInput" placeholder="Your Message" name="comments" id="comments" maxlength="1400" cols="20" rows="6"></textarea>
<input type="submit" id="SubmitContactForm" class="myButton" value="Submit" />
</form>

我的PHP:

echo $_POST['comments'];

undefined无论我在 textarea 中写什么,这都会导致. 我在这里搜索了一些解决方案,发现了一些东西,比如添加“name”和“id”并使它们都不同,添加htmlspecialchars($_POST['comments'])等等,所有这些解决方案都不起作用。我会记下并说我可以毫无问题地获取其他字段值,只是这个 textarea。

任何想法可能是什么问题?

4

8 回答 8

1

您需要在 textarea name="comments" 中有一个 name 属性

<textarea class="formInput" placeholder="Your Message" id="comments" name="comments" maxlength="1400" cols="20" rows="6"></textarea>
于 2013-02-25T14:47:02.673 回答
1

您还没有为您的文本区域定义名称属性。添加:name="comments"到它:

<textarea class="formInput" name="comments" placeholder="Your Message" id="comments" maxlength="1400" cols="20" rows="6"></textarea>

如果它仍然没有出现,请确保您使用method="post"

于 2013-02-25T14:46:15.933 回答
0

首先定义它$comment=$_POST['comments'];,然后你可以做你想做的事, 注意:不要直接使用它,$_POST['comments'];因为在某些情况下它会抛出一些错误/通知等。

于 2014-10-26T19:21:54.333 回答
0

您忘记添加名称属性。你的 html 应该是这样的

<textarea name="comments" class="formInput" placeholder="Your Message" id="comments" maxlength="1400" cols="20" rows="6"></textarea>
于 2013-02-25T14:46:45.177 回答
0
<textarea class="formInput" placeholder="Your Message" id="comments" maxlength="1400" cols="20" rows="6" name="yourtextarea"></textarea>
于 2013-02-25T14:46:59.210 回答
0

尝试将此添加到接收表单帖子的脚本中:

print "POST: " . print_r($_POST, true) . "\n"
   . "GET: " . print_r($_GET, true) . "\n";

如果“评论”出现在“GET”下,那么你还没有设置表单的 method=post

于 2013-02-25T14:47:30.667 回答
0

您可以尝试指定 textarea 的 form 属性。在此设置表单的 id。另一个好处是,这也允许您将 textarea 放在表单之外。来源:http ://www.w3schools.com/tags/tag_textarea.asp

于 2016-03-15T04:34:06.633 回答
-1

删除您的一些textarea课程,例如

<textarea name="Address" rows="3" class="input-text full-width" placeholder="Your Address" ></textarea>

<textarea name="Address" rows="3" class="full-width" placeholder="Your Address" ></textarea>

这取决于您的模板(购买的模板)。开发包括一些 JavaScript 以从 UI 上的正确对象获取价值,但对于像input-textfind这样的元素$('input[type=text]')

于 2014-10-26T14:11:28.860 回答