好。在寻求帮助之前,我一直努力想要解决这个问题,但是4个小时之后,谷歌的前4页点击了,我很怜悯。 我想要一个简单的一行表单,用户可以输入他们的邮政编码,它会自动将它们重定向到合作伙伴网站。 IE浏览器。用户输入80013并将其转发到www.domain1.com 用户输入80303并将其转发至www.domain2.com
我知道我错过了一些非常小的东西,但无论我尝试在PHP中使用什么变体,无论我打电话给哪个zip数组,它都只会转到domain1.com。
HTML:
<form method='get' action='3.php'>
<div class="zipcode">
<label for="zip">Zip Code: </label>
<input name="zip" type="text" maxlength="5" id="zip" />
</div>
<div class="button">
<input type='submit' name="did_submit" value="Get Started!">
</div>
</form>
3.php
<?php
$zip = $_POST['zip']; //your form method is post
$loc1 = array (80013,80015,80016,80017,80018,80019,80104,80107,80108,80109,80112,80116,80118,80120,80121,80122,80123,80124,80125,80126,80127,80128,80129,80130,80134,80135,80138,80160,80161,80162,80163,80165,80166,80433,80453,80465,80470);
$loc2 = array (80601,80602,80603,80614,80640,80022,80037,80241,80233,80229,80239,80240,80249,80238,80216,80202,80205,80206,80207,80209,80203,80218,80220,80222,80226,80231,80224,80246,80210,80230,80204,80237,80010,80012,80014,80040,80041,80042,80044,80045,80046,80047,80247,80110,80111,80150,80151,80113,80155,80102,80427,80621,80444,80137);
$loc3 = array (80303,80305,80302,80304,80301,80310,80466,80516,80026,80027,80020,80021,80023,80002,80003,80004,80005,80007,80030,80031,80401,80403,80427,80439,80452,80457,80422,80033,80234,80260,80221,80212,80211,80215,80214,80226,80228,80223,80204,80232,80227,80235,80236);
if(in_array($zip == $loc1)) {
header("Location: http://www.domain.com");
}
elseif(in_array($zip == $loc2)) {
header("Location: http://www.domain2.com");
}
else {
header('Location: http://www.domain3.com');
}
exit();
?>
请帮忙!
答案 0 :(得分:1)
您在表单中使用method='get'
,但在PHP中,您使用的是$_POST
。你需要选择其中一个。
答案 1 :(得分:1)
你几乎拥有它。试试这个:if(in_array($zip, $loc1))
当您键入$zip == $loc1
时,它会尝试将字符串与数组进行比较,该数组将始终返回FALSE。此外,您需要将表单的方法设置为GET
,或者在脚本顶部指定$zip = $_GET['zip'];
,以保持请求方法的一致性。
最后,这不会影响脚本的结果,但exit();
和结束标记(?>
)都是多余的,并且在此处没有效果,假设这是整个脚本。
答案 2 :(得分:0)
您正在使用html form
method="GET"
,而您正在使用php file
访问$_POST
。有问题。
你写的in_array()
错了
应该是例如:
<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Got Irix";
}
if (in_array("mac", $os)) {
echo "Got mac";
}
?>