2017-02-16 76 views
-6

我正在创建一个表单,我希望如果有人回答是像2或7这样的特定数字,它将被导向到不同的页面。if else if preg_match windows 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()'是一个破解螺母的锤子,尝试'if $ name == 3){' – RiggsFolly

+0

''$ name'从哪里来的 – RiggsFolly

回答

1

个人而言,我会用switch语句和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说。