PHP:如何使用PHP中的GET将值存储到数组中

时间:2013-10-24 10:31:41

标签: javascript php session

我想在同一页面刷新。我有脚本允许用户在文本字段中添加值,然后onclick显示同一页面底部的列表。我想在同一页面上添加值。我点击时数组没有更新,而且我的身边已经阻止了php.net。

<?php 
session_start();
$_SESSION['mylist'] ;
$mylist = array();
?>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<form id="form1" name="form1" method="GET" action="">
  <tr>
    <td width="30%">
      <label for="ref_num">Custom Number</label>
      <input type="text" name="ref_num" id="ref_num" />
  </td>
    <td width="70%"><input name="Add" type="submit" value="Add" /></td>
  </tr>
    </form>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
<?php


if(isset($_GET['Add']))
{

    $ref_num=$_GET['ref_num'];  
    $_SESSION['store'] = $ref_num;



}

array_push($_SESSION['mylist'],$_SESSION['store']);

echo '<pre>';
echo print_r($_SESSION['mylist']);
echo '</pre>';

?>

3 个答案:

答案 0 :(得分:1)

您就是这样做的:

<?php

// Start PHP Session
session_start();

// Init List Array In Session
if (!isset($_SESSION['mylist'])) {
    $_SESSION['mylist'] = array();
}

// Handle Set Data Via GET
if (isset($_GET['ref_num']))
{
    // Append Data
    $ref_num = trim($_GET['ref_num']);
    if (!in_array($ref_num, $_SESSION['mylist'])) {
        $_SESSION['mylist'][] = $ref_num;
    }
}

?>
<form id="form1" name="form1" method="GET" action="">
    <input type="text" name="ref_num" id="ref_num" /> 
    <input name="Add" type="submit" value="Add" />
</form>
<?php

// Display Current Data (if Any)
if (isset($_SESSION['mylist'])) {
    echo 'Data In Session So Far:<br /><br /><pre>';
    print_r($_SESSION['mylist']);
    echo '</pre>';
}

?>

答案 1 :(得分:0)

不知道你在那里尝试什么。您尝试将数组保存在“$ _SESSION”中,然后您想使用$ _GET来获取值?

你应该仔细看看$ _GET,它们会被添加到这样的网址中:

www.example.com?key=value

如果你现在使用$ var = $ _GET ['key'],它将返回“value”。

答案 2 :(得分:-1)

删除

             echo '<pre>';
             echo print_r($_SESSION['mylist']);
            echo '</pre>';

来自中间行的内容,因为print_r也打印了数组的记录