function удалитьПрограмму(имяПрограммы) {
if (confirm("Вы уверены?")) {
location.href = "удалить.php?программа=" + имяПрограммы;
}
}
В PHP-файле я пытаюсь получить переданное значение:
$имяПрограммы = $_GET['программа'];
// Далее код для удаления
Но почему-то переменная не передается, и я получаю ошибку. Что я делаю не так? Как правильно передать значение из PHP в JavaScript, а затем обратно в другой PHP-файл? Буду благодарен за любую помощь!
Проблема в кавычках. В PHP используй двойные кавычки для строки с переменной: onclick="удалитьПрограмму(‘$имяПрограммы’)". Так переменная будет правильно подставлена. А в JavaScript функции используй одинарные кавычки для значения параметра. Еще советую использовать urlencode() для имени программы, чтобы избежать проблем с пробелами и спецсимволами.
Чтобы правильно передать переменную, используй encodeURIComponent() в JavaScript. Вот как можно исправить функцию:
function удалитьПрограмму(имяПрограммы) {
if (confirm(“Вы уверены?”)) {
location.href = “удалить.php?программа=” + encodeURIComponent(имяПрограммы);
}
}
Это закодирует спецсимволы и пробелы, чтобы они корректно передались в URL. В PHP-файле потом можно использовать urldecode() для расшифровки значения, если нужно.