在单个变量中存储多个值?

时间:2011-03-27 12:56:14

标签: php

<form action="" method="post">
<input type="submit" name="foo" value="A" />
<input type="submit" name="foo" value="B" />
<input type="submit" name="foo" value="C" />
<input type="submit" name="foo" value="D" />
</form>

<?php
  $letters = $_POST['foo'];
?>

每次表单提交$ letters都会填写相应的值。所以$ letters可以是“A”,“B”或“C”等。

是否可以一次存储所有提交的值?当我回复$ letters时,它应该给出“ABCD”或“BCDBA”或者提交的任何订单。

我认为这可以通过$ _SESSION完成但不知道如何...任何想法?

3 个答案:

答案 0 :(得分:2)

HY 尝试在每个提交按钮中创建属性名称:name =“foo []” 然后,在php中,$ _POST ['foo']包含一个数组,其值为每个“foo []”

echo implode('', $_POST['foo']);

答案 1 :(得分:0)

您可以使用会话,首先:$_SESSION['letters']=array();然后您可以执行$_SESSION['letters'][] = $_POST['foo'];每个帖子,然后您将拥有一个有序数组。

这就是页面顶部的外观:

session_start(); //important that this is first thing in the document
if ( !$_SESSION['letters'] ) {
    $_SESSION['letters'] = array(); //create the session variable if it doesn't exist
}
if ( $_POST['foo'] ) { //if foo has been posted back
    $_SESSION['letters'][] = $_POST['foo'];  // the [] after the session variable means add to the array
}

您可以使用print_r $_SESSION['letters'];将数组作为字符串输出,或者您可以使用许多php数组函数中的任何一个来操作数据。

答案 2 :(得分:0)

试试这个

$email_to = "";
$get= mysql_query("SELECT * FROM `newsletter`");

while ($row = mysql_fetch_array($get)) {
    $email_to = $email_to.",".$row['mail'];
}

echo $email_to;