0

我想在同一页面上刷新。我有脚本允许用户在文本字段中添加值,然后 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>';

?>
4

3 回答 3

0

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

您应该仔细查看 $_GET,它们被添加到 url 中,如下所示:

www.example.com?key=value

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

于 2013-10-24T10:38:34.720 回答
0

这就是你的做法:

<?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>';
}

?>
于 2013-10-24T11:34:13.720 回答
-1

去除

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

从内容的中间行回显,因为 print_r 还打印数组的记录

于 2013-10-24T12:10:29.683 回答