私のサイトのメッセージングシステムを構築しています。私は、このPHP
リンク外部PHPファイルはPHPリンクから変数を取得できません
<a href='user_msg.php?hash=$hash'>$name</a>
リンクをクリックすると、それはあなたが(この接続は$hash
によってバインドされます)に接続したユーザーにメッセージを送ることができるページが表示されますがあります
メッセージを送信するため、私は中$hash
を隠し、隠されたinput value="$hash"
、それは次のようscripts
(彼らは何の問題や仕事の罰金を持っていない)
$hash
でデータベースに
row
にメッセージを送信
var msg_area = $('.msg_area');
msg_area.scrollTop(msg_area.prop("scrollHeight"));
$('#send_rep').submit(function (e) {
e.preventDefault();
var $form = $(this), url = $form.attr('action');
var posting = $.post(url, {rep_msg: $('#rep_msg').val(), hash: $('#hash').val()});
posting.done(function (data) {
alert('success');
});
});
PHPスクリプトは、データベースにメッセージをsednする
require_once ("db.php");
$db = new MyDB();
session_start();
if (isset($_POST['rep_msg']) && !empty($_POST['rep_msg']) || isset($_POST['hash']) && !empty($_POST['hash']))
{
$hash = (int)$_GET['hash'];
$my_id = $_SESSION['log_id'];
$rep_msg = $_POST['rep_msg'];
$hash = $_POST['hash'];
$rsql = <<<EOF
INSERT INTO messager (message, group_hash, from_id) VALUES('$rep_msg', '$hash', '$my_id');
EOF;
$rret = $db->exec($rsql);
$ursql = <<<EOF
SELECT * FROM User WHERE ID = '$my_id';
EOF;
$urret = $db->query($ursql);
while ($urrow = $urret->fetchArray(SQLITE3_ASSOC)) {
$from_fname = $urrow['fname'];
$from_img = $urrow['image'];
header('Location: user_msg.php?hash=' . $hash);
}
}
上記Ajax Request
とphp
スクリプト作業FONEを送信します。
問題は、これは私が現在のメッセージ
require_once ("db.php");
$db = new MyDB();
session_start();
if (isset($_GET['hash']) && !empty($_GET['hash']))
{
$hash = (int)$_GET['hash'];
$us_id = $_SESSION['log_id'];
$mesql =<<<EOF
SELECT from_id, message FROM messager WHERE group_hash = '$hash';
EOF;
$meret = $db->query($mesql);
while ($merow = $meret->fetchArray(SQLITE3_ASSOC))
{
$from_id = $merow['from_id'];
$messages = $merow['message'];
$usql =<<<EOF
SELECT * FROM User WHERE ID = '$from_id';
EOF;
$uret = $db->query($usql);
while ($urow = $uret->fetchArray(SQLITE3_ASSOC)) {
$from_fname = $urow['fname'];
$from_img = $urow['image'];
if ($from_id != $_SESSION['log_id']) {
echo "
<div class='from_bubble'><div class='from_img'><img src='$from_img'></div><div class='from_txt'><p>$messages</p></div></div>";
} else {
echo "
<div class='rep_bubble'><div class='rep_img'><img src='$from_img'></div><div class='rep_txt'><p>$messages</p></div></div>";
}
}
echo "<input style='display: none' type='text' class='hash' name='hash' value='$hash' id='hash'>";
}
}
Ajaxリクエストを取得するために
(動作しない)PHPスクリプトを使用していますscript
あるデータベース
からメッセージを取得していない
setInterval(function() {
$('.msg_area').load("get_msg.php");
}, 2000);
しかし、ゲットは動作していません。私は何か理由を考えて、それは$hash
を取得していないと思う。どうかこの解決法があるのか、私は何か不可能にしようとしています。
ご協力いただければ幸いです。さらに詳しい情報が必要な場合はお尋ねください。おかげで事前
動作しませんでした。それは何も得られません。 divはただ空です。 –