Так что у меня есть эта проблема, которую я не могу понять. но проблема в том, что когда я нажимаю стрелку вправо на странице, значение должно увеличиваться на 1, а не на 2. и при нажатии на левую кнопку, оно должно идти -1, и это работает нормально.
я пытаюсь получить все идентификаторы из базы данных и поместить его в массив. функции проверяют массив на наличие конечных и первых значений и помещают данные на страницу ввода.
Вот код, с которым я борюсь:
// checks if the variable has not been set, otherwise errors and problems will occur
if (empty($_SESSION["huidigeklant"])) {setHuidigeKlant();}
// common variables set to use
$id[] = $_SESSION["id"];
// makes a pre connection to check if a value can be set up or down to prevent errors in the input page.
$result = mysqli_query($conn, "SELECT * from klanten"); // run the query and assign the result to $result
while ($row=mysqli_fetch_assoc($result)) {
array_push($id, $row["id"]);
}
// checks first and last array value of the session id
function checkfirstklant(){ $firstID = reset($id); return $firstID; }
function checklastklant(){ $lastID = end($id); return $lastID; }
// checks first if the right or left button has been pressed and checks after that if the value is already at the first or end array
if (isset($_POST['leftbutton'])){
if (($firstID = checkfirstklant()) != $_SESSION["huidigeklant"]) {
$_SESSION['huidigeklant']--;
echo "huidige klant = " . $_SESSION["huidigeklant"];
}
}
if (isset($_POST['rightbutton'])){
if (($lastID = checklastklant()) != $_SESSION["huidigeklant"]) {
$_SESSION['huidigeklant']++;
echo "huidige klant = " . $_SESSION["huidigeklant"];
}
}
одна вещь, чтобы упомянуть, и уже понял это. «setHuidigeKlant () устанавливает $ _SESSION [» huidigeklant «] в 1».
поэтому мой вопрос: как я могу запретить программе устанавливать значение 1, но при этом установить значение 1, если оно не было задано изначально?
Я не могу найти конкретный ответ для этого, но если вы это сделаете. отправьте ссылку на него, пожалуйста
заранее спасибо 😉
Попробуй это:
if (!isset($_SESSION["huidigeklant"])) { $_SESSION["huidigeklant"] = 1;}
Так что я уже нашел свою проблему xD
то, что Difster уже сказал в посте выше, мне нужно isset мой $ _SESSSION [«huidigeklant»] вместо проверки, если он пуст.
и я должен проверить, не нахожусь ли я уже в конце переменной в операторе if, вместо того, чтобы делать это с помощью функции.
так что теперь все работает как надо;)
еще раз спасибо