Я написал NotesApp, где пользователь может войти в систему после того, как он зарегистрировался.
Я делаю перенаправления после каждого шага.
Я использую UserID в таблице заметок, чтобы иметь возможность передавать только заметки от конкретного пользователя. Идентификатор пользователя сохраняется в переменной $ _SESSION в PHP.
Метод в моем DBHandler-классе, который должен получать данные из базы данных, выглядит следующим образом:
function getNotes($userID){
assert($this->connection);
$db = $this->connection;
$queryCreate = "select `title`,`content` from `notesnew` where `userid` = ?;";
$statement = $db->prepare($queryCreate);
$statement->bind_param('s',$userID);
$statement->execute();
$result = $statement->get_result();
$returnVar = array();
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$returnVar[] = $row;
}
echo json_encode($returnVar);
}
Я вызываю метод после того, как пользователь нажал «Add-Note» (он может установить заголовок, текст, затем «Add-Note-Button» -> Note вставляется в базу данных.
Теперь я хочу сделать Ajax-запрос на добавление заметок в div.
Я сделал несколько попыток, я знаю, что это не совсем правильно, но я не знаю, как передать $ _SESSION [«UserID»] (который на самом деле только на стороне сервера) в метод ajax.
Вот мои первые попытки AJAX, так что не злись XD
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>MyNotes</title>
<link rel="stylesheet" href="notesStyle.css"/>
<script src="http://code.jquery.com/jquery-latest.min.js"type="text/javascript"></script>
</head>
<body>
<form action="notes.php" method="post">
<label>Add Note</label><br><br>
<input type="text" name="Title" value="title"/><br>
<input type="text" name="Text" value="text"/><br>
<input type="submit" id="Submitter" name="Submit" value="Add Note"/>
</form>
<div id="notesDiv">
<label>YourNotes</label>
</div>
<script>
$.('#Submitter').click(function(){
$.ajax({
url:'DBHandler.php',
data:'POST',
dataType:'json',
success:function(rows){
for (var i in rows){
var row = rows[i];
$('#notesDiv').append(row);
}
}
});
});
</script>
</body>
</html>
Это вообще хороший способ использовать Ajax для моей конкретной проблемы?
Можете ли вы сказать мне, что я должен добавить, чтобы это работало? Это также перенаправляет меня, после того, как я нажал на кнопку добавления заметки (что я не хочу)
Я думал о том, чтобы поместить html в php-файл и отобразить $ _SESSION [«UserID»] в переменную Jscript. Имеет ли это смысл?
Спасибо за вашу помощь! Я очень рад, что зарегистрировался здесь 🙂
Задача ещё не решена.
Других решений пока нет …