Могу ли я получить значение этой переменной в этом случае?(php)
Вопрос
Я передаю переменную в domain.com/index.php?user=username
На моей странице (index.php) содержатся другие страницы, такие как about.php, profile.php, contact.php и т.д..
Мой вопрос в том, возможно ли, что я передаю переменную в index.php, затем about.php, profile.php также могу получить переменную, используя $_GET['user'];метод??(на самом деле я пробовал, это не удалось, дайте мне "неопределенный индекс: ..."
Если этот метод не удался, есть ли какой-нибудь другой способ?
Редактировать:да, я могу использовать СЕАНС.Как насчет того, что я хочу отобразить профиль других пользователей?означает другое имя пользователя?
Решение
Вы можете сохранить переменную в сеансе.
В твоем файле index.php.
session_start();
$_SESSION["user"] = $_GET["user"];
И затем в ваших следующих файлах вы можете запустить сеанс и вызвать $_SESSION["user"]
Редактировать:Если вам нужно отобразить другой контент, который может принимать одни и те же аргументы, то вам необходимо указать эти аргументы в этом URL.
ПРАВКА 2:Кстати, это своего рода предположение, поскольку я не знаю вашего кода или уровня квалификации.
Давайте предположим, что у вас есть эта страница index.php.К которому вы получаете доступ с помощью index.php?user=john
И на этой странице вы перечисляете друзей Джона.И вы также можете получить доступ к их профилю, выполнив команды index.php?user=alex и index.php?user=tim
Затем вы можете ссылаться на URL-адреса их друзей с помощью.(предполагая, что у вас есть массивы друзей стандартным способом mysql_fetch_ *)
<?php
echo "<a href='index.php?user=".$friend["name"]."'>".$friend["name"]."</a>
?>
И извлеките вашу ссылку, используя переменную $_GET
<?php
echo "<a href='index.php?user=".$_GET["user"]."'>".$_GET["user"]."</a>
?>
Другие советы
я предполагаю, что вы хотите передать "имя пользователя" как разные идентификаторы пользователя на вашем веб-сайте, чтобы пользователи могли просматривать свой профиль, например:
profile.php?пользователь=Питер
profile.php?пользователь=олафур
правильно ли это?один из способов - это сеансы, но если хотите, вы также можете просто передать их как переменные GET для всех ссылок внутри страниц.
например.если пользователь начал с index.php?user=peter вы просто сохраняете это как $this_user = $_GET["пользователь"];и внутри index.php при отображении ссылок вы просто присваиваете переменной $this_user что-то вроде:
< a href="профиль.php?пользователя=< ?=$this_user?>" >Профиль< /a >
я надеюсь, что это поможет.
Я предлагаю избегать использования сеанса для передачи параметров с одной страницы на другую.В этом случае лучшим решением было бы передать имя пользователя (или, что еще лучше, идентификатор пользователя) каждой странице в качестве аргумента.
Если вы находите это слишком сложным, попробуйте поискать какой-нибудь фреймворк PHP MVC (есть Лоты где-то там).Это лучше, чем пытаться сделать что-то свое.