【问题标题】:How to save a textbox in php as an array?如何将php中的文本框保存为数组?
【发布时间】:2015-04-12 19:53:02
【问题描述】:

是否可以将文本框保存为数组,类似于如何将多个复选框保存为数组?当您将多个复选框保存到一个数组时,该值仅在复选框选中时出现在数组中。这与文本框相同吗?它们只有在不为空时才有价值吗?

我正在尝试将这些文本框保存为一个数组(我只取了你们都需要查看的表单部分)

<form action="formemail.php" method="POST" name="rcr">
<td><input type="text" name="desc[]" id="desc"></td>
<td><input type="text" name="desc[]" id="desc"></td>
<td><input type="text" name="desc[]" id="desc"></td>
<td><input type="text" name="desc[]" id="desc"></td>
<td><input type="submit" name="sendwork" id="sendwork" value="Send Work Order"></td>

</form>

在下一页中,我将尝试获取这些值并以简单的方式输出它们(如果可以的话,稍后我将使用 foreach 将它们添加到电子邮件中)..... 下面是formemail .php

<?php
$description = $_POST["desc"];
echo $description[0];
echo $description[1];
?>

我这辈子都找不到任何东西来回响。而且我不确定我做错了什么。

【问题讨论】:

  • 我刚刚运行了您的代码,我可以让 PHP 回显文本字段的内容。尝试添加print_r($_POST) 并检查 F12->Network 并查看是否提交了正确的字段。可能是某些 JavaScript 或其他东西干扰了您的表单提交。
  • 如果它们为空(无文本),那么它们将作为空字符串回显。

标签: php arrays post textbox


【解决方案1】:

试过了吗?

   if(  isset( $_POST["desc[]"] )  ) echo "is set ; )";

顺便说一句。如果您使用 JS/JQuery,相同的多个 id 可能会给您带来问题。

【讨论】:

  • $_POST["desc[]"] 不正确。这应该是$_POST["desc"]
【解决方案2】:

尝试使用foreach 并测试提交的值:

foreach($_POST['desc'] as $post)
{
    echo !empty($post) ? $post.'<br />' : 'An empty value.<br />';
}

【讨论】:

    猜你喜欢
    • 2010-11-26
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 2018-06-08
    • 1970-01-01
    • 2020-08-19
    相关资源
    最近更新 更多