У меня есть форма PHP / HTML, которая при нажатии кнопки отправки формы должна вносить изменения в базу данных и перенаправлять страницу на другой URL, чтобы просмотреть детали формы. Следующая страница требует получения двух переменных через GET, чтобы загрузить информацию из базы данных.
Я использую следующую строку кода для перенаправления страницы после отправки формы:
echo '<META HTTP-EQUIV="refresh" Content="0;URL=http://grserviceswap.isys489.com/dev/Abraham/providerViewsAPost.php?SPPostingID=' . $PostingID . '&UserID=' . $UserID . '"/>';
Проблема в том, что когда он перенаправляет, он добавляет две точки с запятой, как это:
http://grserviceswap.isys489.com/dev/Abraham/providerViewsAPost.php?SPPostingID=7;%20&UserID=33;
Точка с запятой добавляет конец, чтобы страница не загружалась должным образом. Я могу удалить его вручную, и он будет работать, но обычные пользователи не будут этого делать.
Как я могу получить мета-обновление, чтобы не добавлять точки с запятой?
Заранее большое спасибо!
Вы должны очищать переменные GET для защиты от атак XSS (межсайтовый скриптинг). Если оба являются целыми числами, вы можете применить это.
echo '<META HTTP-EQUIV="refresh" Content="0;URL=http://grserviceswap.isys489.com/dev/Abraham/providerViewsAPost.php?SPPostingID=' . intval($PostingID) . '&UserID=' . intval($UserID) . '"/>';
Обратите внимание, я также изменил & в &
которая является правильной кодировкой HTML.
Других решений пока нет …