2013-06-02 4 views
0

У меня есть переменные URL, которые были отправлены из формы с предыдущей страницы. Поэтому мой url выглядит примерно как site.com/submitted.php?first_name=hello & last_name = bye.Как сохранить данные url при переходе на другую страницу

Теперь я использую ссылку, чтобы мои представленные переменные в то время как я иду на моей второй странице <a href="secondPage.php?first_name=hello&last_name=bye>pageLink</a>

На второй странице, это в основном раскрывающийся с помощью выбора тега с кнопки отправки, который генерирует таблицу с сервера mysql, которая затем ссылается обратно на ту же страницу. Это выглядит следующим образом:

<FORM ACTION="secondPage.php?first_name=hello&last_name=bye" METHOD="GET"> 
    <select name='selectedOption' > 
     <option value="op1">option1</option> 
     <option value="op2">option2</option> 
     <option value="op3">option3</option> 
    </select> 
    <INPUT TYPE="SUBMIT" VALUE = "Search"> 
</FORM> 

Но позволяет сказать, что я выбираю ОПЦИЯ1 и представить, мой адрес не хранит переменные first_name и last_name, но он просто заменяет его:

secondPage.php?selectedOption=op1 

вместо:

secondPage.php?first_name=hello&last_name=bye&selectedOption=op1 

Любая помощь приветствуется.

+0

Используйте скрытые поля, чтобы помнить о них .. '<тип =«скрытый»имя входного =» first_name "value =" ' –

+1

Если вы используете метод Тима, пожалуйста, HTML кодирует ваши значения' $ _GET'.В противном случае у вас могут быть сломанные или, что еще хуже, скомпрометированные страницы. –

ответ

1

НА ВТОРОЙ СТРАНИЦЕ. В форме сделать два скрытых поля <input type="hidden" value="<?php echo $_REQUEST['first_name'] ?>" name="first_name"/> и

<input type="hidden" value=""<?php echo $_REQUEST['last_name'] ?>"" name="last_name"/> 

мое использование предложение post метод

+0

Ehhm ... XSS ftw. '" "/>

2

Я не знаю, как вы хотите передать данные вокруг, но здесь это предложение, чтобы получить нужные значения с PHP.

Изменить это:

<FORM ACTION="secondPage.php?first_name=hello&last_name=bye" METHOD="GET>

к этому:

<form action="secondPage.php" METHOD="post">

Ваш код secondPage.php coud выглядеть примерно так:

// the 'if' statements aren't necessary. just an idea for simple server-side 
// validation 

if(isset($_REQUEST['selectedOption']) && $_REQUEST['selectedOption'] != ''){ 
    $option = $_REQUEST['selectedOption']; 
} 

if(isset($_REQUEST['first_name']) && $_REQUEST['first_name'] != ''){ 
    $fname = $_REQUEST['first_name']; 
} 

if(isset($_REQUEST['last_name']) && $_REQUEST['last_name'] != ''){ 
    $lname = $_REQUEST['last_name']; 
} 

Все значения йо и нужно делать все, с которыми в настоящее время в $option, $fname и $lname

Вы говорите, что ваш новый РНР, добро пожаловать :), и не когда-либо трастовый ввод данных пользователем. Вы должны потратить некоторое время и прочитать о SQL Injection.

Надеюсь, что это помогает и удачи.

0

В принципе, я работал с чем-то подобным, но я нашел отличное решение и отличный подход по своему мнению. Позвольте мне привести вам немного и фрагмент кода в качестве примера, если вы не против^_^..

быть организованы и ясно, что вы сделали это: -

##**FIRST PAGE** : - 
the url: - secondPage.php?first_name=hello&last_name=bye <--- this was the result.. 

Then you travelled to the 2nd page: - <-- result was still associated 

##**SECOND PAGE** : - 

$firstname = $_GET['first_name']; 
$lastname= $_GET['last_name']; 
<FORM ACTION="secondPage.php?first_name=<?php echo $firstname; ?>&last_name=<?php echo $lastname ?>" METHOD="POST"> 
    <select name='selectedOption' > 
     <option value="op1">option1</option> 
     <option value="op2">option2</option> 
     <option value="op3">option3</option> 
    </select> 
    <INPUT TYPE="SUBMIT" name ="submit" VALUE = "Search"> 
</FORM> 

##**THIRD PAGE** The page that the form is going to go to: - 


$option = $_GET ['selectedOption']; 
// you can also get the other data on this page through same method i've done on page two.. 
Смежные вопросы