2017-02-16 5 views
-6

Я создаю форму, где я хочу, чтобы, если кто-то ответил, это определенное число, например, 2 или 7, будет направлено на разные страницы.if elseif else preg_match window location

Я искал в Интернете и придумал это.

<?php 
// define variables 
$name ""; 

if ($_SERVER["REQUEST_METHOD"] == "POST") { 
if (!preg_match("/^3/",$name)) { 
     echo "<meta http-equiv="refresh" content="0; URL=http://google.nl/">"; 
} elseif (!preg_match("/^9/",$name)) { 
     echo "<meta http-equiv="refresh" content="0; URL=http://osm.nl/">"; 
} 
    else { 
     echo "<meta http-equiv="refresh" content="0; URL=http://facebook.nl/">"; 
} 

} 
?> 

Сначала я протестировал его, создав форму проверки, которая отлично работает. В рамках исследования я редактировал код. Но теперь, когда я попытался открыть страницу, она проста.

Как я это исправить, что я могу перенаправить входы

+0

'echo ' KDOT

+0

'preg_match()' - молоток, чтобы взломать гайку. Try 'if ($ name == 3) {' – RiggsFolly

+0

И где же' $ name' приходят из любой точки – RiggsFolly

ответ

1

Лично я хотел бы использовать переключатель заявление и функции заголовка PHP для перенаправления

В файле вашей разместившей формы:

$page = $_POST['name']; 
switch($page) 
{ 
    case 2: 
     header("Location: http://www.google.com"); 
     break; 
    case 7: 
     header("Location: http://www.facebook.com"); 
     break; 
} 

Должен сделать трюк.

+0

Возможно, включение 2 и 7 сделает лучший ответ, поскольку ** ** в вопросе – RiggsFolly

+0

Я пробовал этот код, но он перенаправлял прямо на заголовок 0, не видя страницы со входом –

+0

Дело в том, что я хочу протестировать ввод. Первый символ имеет определенное число, а затем перенаправляет –

0

Итак, вот все ваши ошибки:
Строка 3: $name "": Где находится «=»?
Строка 7, 9, 12: echo "<meta http-equiv="refresh": Если вы этого не поняли, подумайте об использовании заголовка, как сказал @NathanLeadill.

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