У меня проблема. Я (возможно) знаю, в чем проблема, но я не знаю, как это исправить.Переменные изменения после перезагрузки страницы
У меня есть форум с вопросами и комментариями. Теперь имя пользователя, отправившего вопрос/комментарий, является ссылкой на его/ее профиль. Когда я доберусь до этой ссылки, я проверю, чтобы имя пользователя было моим именем пользователя. Если это, я могу редактировать профиль с помощью кнопки. Теперь, когда я нажимаю кнопку, я получаю ошибки, и я объясню, почему я так думаю. Сначала я покажу вам свой код. Это на верхней части моей страницы профиля:
if(!empty($_GET['thread_username'])){
//If thread username link was clicked
$profileusername = $_GET['thread_username'];
}
else if(!empty($_GET['comment_username'])){
//If comment username was clicked
$profileusername = $_GET['comment_username'];
}
else{
}
$profileusername=$mysqli2->real_escape_string($profileusername);
Кнопка на profilepage перезагружает страницу (и более), так что он снова проходит через этот код, НО$_GET['thread_username']
и $_GET['comment_username']
находятся на предыдущей странице , Поэтому, когда я перезагружаю его, они не существуют (поэтому они пусты), а страница проходит через другое. Я тестировал, если он проходит через else, просто присваивая переменной $ profileusername переменную. Поэтому, когда он проходит через else, $profileusername
не объявляется, поэтому я получаю всевозможные ошибки. Моя проблема в том, что при перезагрузке страницы она не должна проходить через другую. Он должен просто проверить $ _GET, но на странице сказано, что он не существует, который я понимаю, но как я могу это исправить?
Моя форма в настоящее время:
echo
<<<EOT
<form action="profile.php" method="post">
<input name="edit" type="submit" value="edit"></td>
<input type="hidden" name="thread_username" value="{$_REQUEST["thread_username"]}"/>
<input type="hidden" name="comment_username" value="{$_REQUEST["comment_username"]}" />
</form>
EOT;
Вы перезагружаете тот же URI? Если да, $ _GET все равно должны быть заполнены теми же значениями. Или вы отправляете форму через POST? $ _GET, скорее всего, не установлен, и вам нужно будет перейти на $ _POST – Reeno
Вместо использования '! Empty ($ variable)', используйте 'isset ($ variable)' – Luke
@Reeno i submit via POST. Что вы имеете в виду: «$ _GET, скорее всего, не установлен, и вам нужно перейти на $ _POST». Как я могу просто переключиться на $ _POST внезапно? – Loko