저는 PHP로 기본 대화 상자를 만들고 있습니다. 기본적으로 사용자에게 메시지를 보내기 위해 데이터베이스 연결을 사용하고 싶지 않습니다. 그 대신에, 나는 사용자가 세션 배열에 보내는 다른 값들을 저장하는 것을 좋아한다. 그것은 것입니다 간단한 푸시 문자열 값 'text' => implode(" ", $_SESSION['messages'])
: 당신이 기본적으로 사용자가 $pm
라는 변수에이 문장으로 입력 한 message
를 저장할 볼 수 있듯이세션 배열에 다른 변수를 저장하는 방법
<?php
if (session_status() == PHP_SESSION_NONE) {
session_start();
$_SESSION['messages'] = array();
}
if (isset($_POST['send'])){
$pm = $_POST['message'];
array_push($_SESSION['messages'], $pm);
$request_params = [
'chat_id' => $id,
'text' => implode(" ", $_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>
이에서 AA를 살펴 예를 들어
$pm
에
$_SESSION['messages']
.
그런 다음 나는 $id
값을 저장하지하려고 chat_id
및 text
로 $_SESSION['messages']
로 (여기 ID의 코드를 포함 할 필요, 그것은 사용자의 단지 ID입니다).
print_r($request_params);
을 시도했지만 그것은 단지 보여줍니다에만이 : 당신이
$_SESSION['messages'])
있는 세션 변수를 반환하지 않습니다 볼 수 있듯이
Array ([chat_id] => 108132368 [text] =>)
.
그렇다면 왜 작동하지 않습니까? 세션 배열에 다른 변수를 저장하려면 어떻게해야합니까?
UPDATE 1 :
<?php
session_start();
if (session_status() == PHP_SESSION_NONE) {
$_SESSION['messages'] = 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>
그 잘 작동 및 출력'배열을 제공 ([chat_id] => 1 [텍스트] => SS)' – Artier