【发布时间】:2018-06-05 20:33:38
【问题描述】:
我正在尝试使用 php 将变量中的一些值保存到我的会话数组中。
这是我的代码:
<?php
session_start();
if (session_status() == PHP_SESSION_NONE) {
$_SESSION['messages'] = array();
}
$request_params = array();
if (isset($_POST['send'])){
$pm = $_POST['message'];
array_push($_SESSION['messages'], $pm);
$request_params = [
'chat_id' => $id,
'text' => implode(" ", $_SESSION['messages'])
];
echo $_SESSION['messages'];
print_r($request_params);
}
?>
<div class="box-footer">
<form action="" method="post">
<div class="input-group">
<input type="text" name="message" placeholder="Write your direct message" class="form-control">
<span class="input-group-btn">
<input name="send" type="submit" class="btn btn-danger btn-flat"/>
</span>
</div>
</form>
</div>
这些是我尝试提交表单时出现的错误:
警告:array_push() 期望参数 1 为数组,在第 9 行的 new.php 中给出 null
警告:implode():在第 12 行的 new.php 中传递的参数无效
第 9 行:
array_push($_SESSION['messages'], $pm);
第 12 行:
'text' => implode(" ", $_SESSION['messages'])
那么如何解决这些问题呢?
【问题讨论】:
-
这意味着
$_SESSION['messages']没有定义 -
但是我已经定义了,你可以在我的代码顶部看到。
-
我想你没有。
-
@u_mulder 我猜你不知道是什么意思?!我在这里粘贴了我的代码,它就是这样。解释一下你在说什么男人
-
如果您考虑一下您的代码,您可以理解 也许
session_status() == PHP_SESSION_NONE是 false 并且您在if中的代码不会被执行。不是吗?