所以我对PHP有点陌生,否则我就不会在这里了。不管怎样,我一直在努力练习,目前我正在建造一个Shoutbox。然而,除了之前的呼喊之外,我似乎什么都救不了。在数组的第一个条目中,它们似乎一直在替换对方。我尝试了我能想到的一切,可能是我对HTML表单名称所做的,但我一无所知。所以,我希望有人在看它的时候有一个发光的时刻
这是PHP:
session_start();
$_SESSION['shout'] = array();
array_push($_SESSION['shout'], $_POST['shout'][0]);
$arrayPlace = count($_SESSION['shout']);
foreach($_SESSION['shout'] as $key => $value)
{
$arrayPlace+=1;
echo $arrayPlace;
}
?>
以及HTML:
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
<h2>Shoutbox Kevin</h2>
<label for="text">Vul hier uw Shout! in:</label></br>
<input type="text" name="shout[]"/></br>
<input type="submit" value="Verzenden" />
</form>
问题是:每次发布呐喊时,都会重新初始化呐喊数组:
$_SESSION['shout'] = array();
你应该只做一次(如果它不存在的话):
if (!isset($_SESSION['shout'])) {
$_SESSION['shout'] = array();
}
BTW:如果你让用户一次只喊一条消息,你可以把$_POST['shout'][0]
中的[0]
和name="shout[]"
中的[]
都留下。