使用表单和会话 (PHP) 发送数组


sending an array using a form and sessions (PHP)

我看过这篇文章 PHP,通过 POST 传递数组但不能完全让它工作。

我有一个表格如下:

<applications><h2>Applications</h2><br><input type="checkbox" name="apps[]" value="gg">gg<br><br>
<input type="checkbox" name="apps[]" value="aa">aa<br><br>
<input type="checkbox" name="apps[]" value="bb">bb<br><br>
<input type="checkbox" name="apps[]" value="cc">cc<br><br>
<input type="checkbox" name="apps[]" value="dd">dd<br><br>
    </applications>
<servers>
<h2>Servers</h2><br><input type="checkbox" name="serv[]" value="servera">servera<br><br>
<input type="checkbox" name="serv[]" value="serverb">serverb<br><br>
</servers>
<countries1><h2>Countries</h2><br><input type="checkbox" name="country" value="uk">UK<br><br>
<input type="checkbox" name="country[]" value="germany">Germany<br><br>
<input type="checkbox" name="country[]" value="france">France<br><br>
</countries1>
<countries2>
<input type="checkbox" name="country[]" value="spain">Spain<br><br>
<input type="checkbox" name="country[]" value="sweeden">Sweeden<br><br>
</countries2>
<submitb>
<?
session_start();
$_SESSION['country']=$country;
$_SESSION['serv']=$serv;
$_SESSION['apps']=$apps;?>
<input type="submit" value="Update">
</submitb>
</form>

然后在我的检索端:

 $apps=$_SESSION['apps'];
     $countries=$_SESSION['country'];
     $servers= $_SESSION['serv'];

编辑:请有人告诉我我在这里做错了什么?我正在接收:未定义的索引:C:''wamp''www'otifcation system''done.php 第 41 行中的应用程序

<?php
  $apps=$_SESSION['apps']; /* fix missing semicolon */
  $countries=$_SESSION['country'];
  $servers= $_SESSION['serv'];
?>

对于您的其他问题:

Undefined index: apps in ...

简单地说,$apps没有定义。这不是错误,而是通知。

试试这个

if(!isset($_SESSION['apps'])){
   $apps=$_SESSION['apps'];
} // etc

请注意,session_start();应始终位于页面的第一行,然后稍后将开始添加内容。

此外,session_start();应该在您需要访问会话的每个页面上。

正如上面提到的@subzero,永远不要忘记所有重要的;分号,就像在PHP中一样,这些东西可能会破坏你的代码。