В настоящее время я работаю над таблицей с onclick()
<td>
элементами, которые отправляют информацию на страницу PHP.
Основная идея состоит в том, что если щелкнуть курс (например, французский, математический, английский, ...), страница PHP получает значение, а затем выполняет код SQL, чтобы дать мне всех преподавателей для этого конкретного курса.
<script>
function courseToTutor(id) {
var courseClicked = document.getElementById("course" + id).value;
$.post('loadDivs/loadTutors.php', {postname: courseClicked});
$('#divTutors').load('loadDivs/loadTutors.php');
}
</script>
Когда <td>
нажата, он посылает свой идентификатор (сгенерированный в PHP) в качестве параметра. Внутри функции я использую этот параметр, чтобы найти значения в пределах <td>
(хранится внутри input type="hidden"
).
У меня есть один PHP-страница, и получает посланное значение, как это:
if (isset($_POST['postname'])) {
$course = $_POST['postname'];
$_SESSION['clickedCourse'] = $course;
echo $course;
}
Другая частью страницы является
else {
//generate table with tutors for a specific course (with SQL)
}
Это работает около 85% времени. Да, я использую правильно session_start();
s, у меня есть правильное подключение к базе данных и так далее.
Когда я нажимаю <td>
, у меня есть предупреждение о loadTutors.php
что всегда триггеров, он предупреждает мой $_SESSION['clickedCourse];
.
В 85% случаев это предупреждение показывает правильную информацию, остальные 15% времени, она пуста.
Это не мой другой код на странице, потому что я запускаю предупреждение перед тем, как выполнить этот код.
Заранее спасибо
EDIT Это PHP используется для создания ВСЕЙ таблицы курсов.
<?php
$counter = 1;
if (!$res = $link->query($sqlSelectCourses)) {
trigger_error('Error in query ' . $link->error);
} else {
while ($row = $res->fetch_assoc()) {
?>
<tr>
<td onclick="courseToTutor(this.id);" id="<?php echo $counter; ?>">
<?php echo $row["course"]; ?><input type="hidden" value="<?php echo $row["course"]; ?>" id="course<?php echo $counter; ?>">
</td>
</tr>
<?php
$counter+=1;
}
}
?>
Можете ли вы предоставить код тела ajax? – hamed
Можете ли вы разместить свой html? –
Является ли ваша сессия умирающей в точке, где она пытается установить переменную сеанса? Может ли 15% времени не быть там, где вы havent сделали значительный вызов более чем за 24 минуты? – JammyDodger231