У меня проблема с прохождением переменных. Это код, который, я думаю, должен передать переменную $ user в new_page.html:
if (mysqli_query($con,$newUser))
{
$user = $_GET[username];
header('Location: new_page.html?currentUser=$user');
}
else
{
header('Location: sign up.html');
}
И внутри html-страницы я пытаюсь создать ссылку на новую страницу с переменной пользователя (которая была передана) в качестве свойства text:
<a href = "user_page.php"> <?php echo $currentUser ?><a/>
Может ли кто-нибудь увидеть, что я делаю неправильно?
благодаря
Вы не можете обрабатывать PHP в html файле. Вы можете обрабатывать HTML в PHP файле, поэтому всегда используйте расширение.php.
Я думаю, что имя пользователя предназначено для публикации? Так:
$username = $_POST['username'];
header('Location: page.php?user='.$username);
то в файле page.php вы можете использовать следующую команду для сбора этой переменной из URL-адреса:
$username = $_GET['user'];
Важное примечание. Обратите внимание на использование конкатенации для добавления переменной в функцию заголовка PHP:
Вместо:
header('Location: new_page.html?currentUser=$user');
использование конкатенации:
header('Location: new_page.html?currentUser='.$user);
если вам нужно больше переменных:
header('Location: new_page.html?currentUser='.$user.'&anothervar='.$anotherVar);
Там проблема, когда вы назначаете $ user, тоже отсутствуют кавычки:
$user = $_GET['username'];
Измените новую страницу. html на новую страницу. php и затем:
Заменить эту строку:
<a href = "user_page.php"> <?php echo $currentUser ?><a/>
От:
<a href = "user_page.php"> <?php echo $_GET['currentUser'] ?><a/>
Другое дело, когда вы обращаетесь к этой переменной, это значение будет $ user как строка, чтобы получить его реальное значение, смените кавычки на двойные кавычки:
header("Location: new_page.html?currentUser=$user");
Видеть:
new_page.html
должен быть файлом PHP, иначе вам придется использовать JavaScript вnew_page.html
для динамической установки атрибутаhref=""
.