0

我看过这篇文章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'];

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

4

2 回答 2

4
<?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
于 2013-10-22T13:08:54.387 回答
2

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

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

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

于 2013-10-22T13:13:14.410 回答