Могу ли я получить это значение переменной в этом случае? (РНР) - PullRequest
0 голосов
/ 04 мая 2009

Я передаю переменную в domain.com/index.php?user=username

На моей странице (index.php) содержатся другие страницы, такие как about.php, profile.php, contact.php и т. Д.

Мой вопрос: возможно ли передать переменную в index.php, затем about.php, profile.php также может извлечь переменную, используя $ _GET ['user']; метод ?? (на самом деле я пытался, его не удалось, дать мне "неопределенный индекс: ..."

Если этот метод не удался, есть ли другой способ?

EDIT: да, я могу использовать сессию. Как насчет того, чтобы показать другой профиль? означает другое имя пользователя?

Ответы [ 3 ]

1 голос
/ 04 мая 2009

Я предполагаю, что вы хотите передать "имя пользователя" в качестве разных идентификаторов пользователя на вашем сайте, чтобы пользователи могли просматривать их профиль, например:

profile.php? Пользователь = питер

profile.php? Пользователь = Олафур

это правильно? Одним из способов являются сеансы, но, если хотите, вы можете просто передать их в виде переменных GET всем ссылкам внутри страниц.

например. если пользователь начал с index.php? user = peter вы просто сохраняете это как $ this_user = $ _GET ["user"]; и внутри index.php, когда вы отображаете ссылки, вы просто присваиваете переменную $ this_user, что-то вроде:

"> Профиль

Надеюсь, это поможет.

1 голос
/ 04 мая 2009

Вы можете сохранить переменную в сеансе.

В вашем файле index.php.

session_start();
$_SESSION["user"] = $_GET["user"];

И тогда в ваших следующих файлах вы можете начать сеанс и вызвать $_SESSION["user"]

EDIT: Если вам нужно отобразить другой контент, который может принимать одни и те же аргументы, тогда вам нужно, чтобы эти аргументы были в этом 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>
?>
0 голосов
/ 04 мая 2009

Я предлагаю избегать использования сессии для передачи параметров с одной страницы на другую. В этом случае лучшим решением будет передать имя пользователя (или, что еще лучше, идентификатор пользователя) каждой странице в качестве аргумента.

Если вам это сложно, попробуйте поискать PHP MVC Framework (есть лотов ). Это лучше, чем пытаться накатить свое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...