Итак, когда я выполняю начальную функцию, она работает нормально, имя пользователя сохраняется в базе данных, однако, когда я запускаю вторую функцию, которая добавляет имя пользователя к тексту, пользователь выбирает ввести Оператор IF возвращает «no user» - когда пользователь определен ...
Если кто знает, как исправить это, было бы здорово - я в настоящее время изучаю 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>
Получите вывод: 'good'? – Rizier123
yes - http://gyazo.com/1933a147f866a4e057b3d48d06353abd @ Rizier123 – cookies
Попробуйте изменить эти '$ user = $ _SESSION ['user'];' как вы сделали для другого. '$ _SESSION ['user'] = $ user;' –