PHP перенаправление на основе выбора формы - PullRequest
0 голосов
/ 01 марта 2012

Я установил форму, которая позволяет пользователю делать выбор из выпадающих списков, и, нажав кнопку «Отправить», он перенаправит их на соответствующую страницу на основе их выбора.Вот PHP:

<?PHP
function redirect($where){ 
header("Location: $where");
}
if ($_REQUEST['os1'] == 'xp' && $_REQUEST['browser'] == 'ffx'){
redirect('http://mysite.com/index.php/prodemo/prodemo-categories/73-prodemo-xp-        firefox');
}elseif($_REQUEST['os1'] == 'xp' && $_REQUEST['browser'] == 'ie8'){
redirect('http://mysite.com/index.php/prodemo/prodemo-categories/72-prodemo-xp-ie');
}elseif($_REQUEST['os1'] == 'win7' && $_REQUEST['browser'] == 'ie8'){
redirect('http://mysite.com/index.php/prodemo/prodemo-categories/74-prodemo-win7-ie');
}elseif($_REQUEST['os1'] == 'win7' && $_REQUEST['browser'] == 'ffx'){
redirect('http://mysite.com/index.php/prodemo/prodemo-categories/75-prodemo-win7-  firefox');

}
?>

Я вручную сообщаю запрос, куда взять пользователя.

Моя дилемма в том, что мне нужна простая строка, которая говорит: «Привет, _ . Чем я могу вам помочь? "

Пробел заполняется именем, которое вводится в форму в качестве имени звонящего.Вот пример формы:

<form action="" method="post" name="form1">
Caller's Name: <input type="text" name="callersname" /><br />
<select name="os1">     <option selected="selected" value="xp">XP</option> 
<option value="win7">Win7</option>    </select> <br />
<select name="browser"> <option selected="selected"    value="ie8">IE8</option> 
<option value="ffx">Firefox</option></select> <br />
<input   type="submit" value="Next" />

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

Спасибо за любыеadvixce

Ответы [ 3 ]

2 голосов
/ 01 марта 2012

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

Сначала инициализируйте сеанс на каждой странице, откуда вам нужно получить эту информацию:

session_start();

Затем создайте переменную сеанса (уникальную для каждого пользователя / браузера) следующим образом:

$_SESSION['user_name'] = $_REQUEST['callersname'];

Теперь на странице, где вы хотите получить их имя (IE Hi), просто сделайте так:

echo "Hi {$_SESSION['callersname']} welcome to mcdonalds how may I help you?";
0 голосов
/ 01 марта 2012

Попробуйте использовать $_POST вместо $_REQUEST ... Это может быть проблемой, и тоже, добавьте action="yourpage.php", чтобы сообщить код для отправки формы на текущую страницу или другую страницу ...

0 голосов
/ 01 марта 2012

В HTML форма будет отправляться по URL, указанному в значении атрибута действия тега формы. В приведенном выше примере у вас есть:

action=""

Это говорит браузеру отправить форму на текущую страницу.

Звучит так, будто вы пытаетесь сделать две не связанные между собой вещи за один шаг. Вы пытаетесь узнать имя звонящего или он выбирает, на какой URL идти? Если вы хотите сделать и то, и другое, вам может быть лучше, просто приняв значения os1 и браузера в качестве переменных POST и динамически изменяя страницу на основе значений этих переменных, а не перенаправляя пользователя на совершенно отдельные страницы.

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