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

PHP: How to store values to an array using GET in php

本文关键字:PHP 存储 数组 GET      更新时间:2023-09-26

我想在同一页面上刷新。我有允许用户在文本字段中添加值的脚本,然后在同一页面底部显示列表。我想在同一页面上添加值。当我单击时,阵列没有更新,并且 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>';
?>

这是你这样做的方式:

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

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

您应该仔细查看 $_GET,它们是像这样添加到 url 中的:

www.example.com?key=value

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

删除

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

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