我有一个接受数据数组的申请表。数据存储在DB上有效,但是当我尝试将整个数据存入我的电子邮件地址时。只需保存详细信息,如姓名,电话号码,地址等详细信息。存储在数组中的多个级别的数据不会显示在电子邮件中,而是显示为" array"。
if (isset($_POST["Submit"]))
{
$datetime = $_POST["datetime"];
$name = $_POST["name"];
$dept = $_POST["dept"];
$email = $_POST["email"];
$phone = $_POST["phone"];
$comments = $_POST["comments"];
$cnt = count($_POST['model']);
for($i=0;$i<$cnt;$i++){
$model = $_POST["model"][$i];
$tag = $_POST["tag"][$i];
$itemdesc = $_POST["itemdesc"][$i];
$Query = "INSERT INTO ssubmit (datetime, name, dept, email, phone, comments, model, outag, itemdesc) VALUES (NULL, '$name', '$dept', '$email', '$phone', '$comments', '$model', '$tag', '$itemdesc')";
$Result = mysql_query($Query, $Link) or die(mysql_error());
}
//用于检索值的PHP代码
foreach($_POST as $var => $value)
{
echo $var . ': <b>' . $value . "</b> \r\n";
}
答案 0 :(得分:1)
您可以循环遍历数组的值以输出数据,类似于您对数据库insert
所做的操作。
如果您的数组不是多维的,请尝试使用PHP的implode()
来连接数组中的字符串:
foreach($_POST as $var => $value) {
// if this value is an array, implode it to a string
if (is_array($value)) { $value = implode(", ",$value); }
// output this var/value pair
echo "<p>".$var.": <strong>".$value."</strong></p>";
}
答案 1 :(得分:0)
不要自己构建输出,而是使用var_export
或print_r
。这样,一切都会输出,你不必担心阵列最终会有多深。
输出到浏览器:
echo '<pre>';
print_r($_POST);
echo '</pre>';
存储在变量中:
$message = '<pre>';
$message .= print_r($_POST, true); // Notice that true is being passed as the second argument
$message .= '</pre>';