gpt4 book ai didi

PHP $_SESSION 返回错误值

转载 作者:行者123 更新时间:2023-11-29 12:24:23 25 4
gpt4 key购买 nike

好的,所以当我执行初始函数时它工作正常,用户名被存储在数据库中,但是当我运行第二个函数将用户名附加到用户选择输入 IF 语句的文本时返回“无用户” ' - 当定义用户时...

如果有人知道如何解决这个问题,那就太好了 - 我目前正在学习 PHP 和 mysql,所以如果其中有任何不正确的地方,我很抱歉

<?php

session_start()

// connect to the database
mysql_connect("localhost", "root", "");
mysql_select_db("ajaxchat");



// read the stage

$stage = $_POST['stage'];

// primary code
if($stage == 'initial') {

// check the username
$user = $_POST['user'];

$query = mysql_query("SELECT * FROM chat_active WHERE user='$user'");
if (mysql_num_rows($query) == 0) {

$time = time();

//
mysql_query("INSERT INTO chat_active VALUES ('$user', '$time')");

// set the session
$_SESSION['user'] = $user;

echo 'good';
}
else {
echo 'taken';
}
}

/////////////// PROBLEM FUNCTION ///////////////
================================================

else if($stage == 'send') {
// get the textdomain
$text = $_POST['text'];

// check for user_error
if (isset($_SESSION['user'])) {
$user = $_SESSION['user'];
echo $user.' - '.$text.'<br />';
}
else {
echo 'no user';
}
}
else {
echo 'error';
}
?>

这是 JavaScript:

<script type="text/javascript">
function chat_initialise() {
var user = document.getElementById("chat_user").value;

$.post("./chat.php", {stage:"initial", user:user}, function(data) {
if (data == "good") {
$('#initial').css('display', 'none');
$('#content').css('display', 'inline')
}
else {
alert("That username is taken! Please try another.");
}
});
}

function chat_send() {
var text = document.getElementById("chat_text").value;

$.post("./chat.php", {stage:"send", text:text}, function(data) {
document.getElementById("chat_text").value = '';
$('#window').text($('#window').text() + data);
// alert(data)
});
}
</script>

最佳答案

我修复了它 - 更改了 POST 函数以获取当前用户名,然后将其重新定义为第二个函数中的变量:

else if($stage == 'send') {
// get the textdomain
$text = $_POST['text'];
$user = $_POST['user'];

echo $user;

// check for user_error
if (isset($_SESSION['user'])) {
$_SESSION['user'] = $user;
echo $user.' - '.$text.'<br />';
}
else {
echo 'no user';
var_dump($_SESSION);
}
}

感谢大家的帮助!!

关于PHP $_SESSION 返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28564608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com