2010-01-27 8 views
1

У меня есть следующий код PHP ниже ...Передача PHP переменной

if ($username == 'fredk') 
{ $fname = 'Fred'; } 
else if ($username == 'arbonk') 
{ $fname = 'Arbon'; } 
else if ($username == 'arsalana') 
{ $fname = 'Arsalan'; } 
else if ($username == 'minhn') 
{ $fname = 'Minh'; } 
else if ($username == 'nathanielg') 
{ $fname = 'Nathaniel'; } 

$msg = "Hi $fname, your login was successfull. <p></p>"; 

Все, что я хочу сделать, это передать переменную $ Fname на следующую страницу PHP. На той же странице у меня также есть форма, и когда нажата кнопка отправки, она переходит на следующую страницу.

У кого-нибудь есть идеи?

+0

Вопросы задаются вопросом, когда вы упоминаете форму. Вы хотите использовать форму для передачи значения с помощью скрытого ввода? –

+0

Я не понимаю, почему люди отказываются от ответов на сеанс. Это единственный способ сделать это. Это или куки. –

+1

Получил ваш обман прямо здесь: http://stackoverflow.com/questions/871858/php-pass-variable-to-next-page – random

ответ

2

Посмотрите на сеансы. Они используются по определенной причине в вашем примере (постоянные данные учетных данных для входа + больше).

session_start(); // Do this at the very start of your script (on both pages). 
$_SESSION['your_key_here'] = 'blah'; // value may be an object as well. 

на следующей странице вы можете получить доступ к нему:

print_r($_SESSION['your_key_here']); 
+0

Вам не нужно использовать print_r(), если вы знаете ключ, вы можете просто откликнуться на $ _SESSION ['your_key_here']; –

+0

Суть заключается в том, чтобы продемонстрировать, что вы можете хранить там различные объекты, а не просто примитивы. Конечно, есть нюансы, поскольку некоторые объекты нельзя сериализовать/мариновать тривиально. – Koobz

+0

Мне нужно будет посмотреть, как работают сеансы, спасибо за помощь и указывая на меня в правильном направлении. – freddy6

1

Поместите его в сеанс.

+0

Да, я собираюсь попробовать что-то сделать с сеансом – freddy6

0

Похоже, вам нужно использовать $ _POST

, например, если это ваш код формы:

<form action="page.php" method="post"> 
    <input name="fname" type="hidden" value="$fname" /> 
</form> 

На странице.php вы должны получить переменную fname следующим образом:

$fname = $_POST['fname']; 
+0

Название уже известно; нет необходимости вводить его снова. –

+0

Изменил тип в скрытом поле и использовал имя в качестве значения. – kylex

+0

Поскольку у меня уже есть другая форма на странице, я думаю, что имеет смысл (по крайней мере для меня) попробовать и использовать сеансы, как советовал Koobz. – freddy6

1

Session является способ сделать это ...

+0

да, я собираюсь попытаться что-то сделать с сеансом – freddy6

1

Или вы можете поместить переменную в форме скрытой переменной

<input type='hidden' name='who' value='$fname> 

, но это только для полноты изложения,

Я бы, наверное, сам использовал сеанс.

+0

да, я собираюсь попробовать что-то с сеансами, спасибо дону – freddy6

0

Откуда: $username? Не могли бы вы написать функцию, которая принимает $username в качестве параметра и возвращает $fname, и назовите ее на обеих страницах?

1

использовать переменную сеанса и поместить fname в сеанс.

+0

да, я собираюсь попробовать что-то с сеансами, спасибо praveen – freddy6

Смежные вопросы