我尝试执行此代码,但做错了什么,因为它总是将我重定向到google:
<?php
$email = $_POST['email'];
$after_email = explode('@', $email);
$part = $part[1];
if($part == 'aol.com') {
header("Location: http://aol.com");
} else if($part == 'yahoo.com') {
header("Location: http://yahoo.com");
} else {
header("Location: http://google.com");
}
?>
这是我的html表单
<form action="snd.php">
email: <input type="text" id="email" name="email"><br>
<input type="submit" value="Submit">
</form>
答案 0 :(得分:-1)
您在explode()
上调用了$email
函数。这意味着$after_email
现在是一个数组。您的错误是您访问了错误的数组变量。
更改此行:
$part = $part[1];
收件人:
$part = $after_email[1];
编辑
也请在表单中更改此行:
<form action="snd.php">
收件人:
<form action="snd.php" method="post">
您还没有指定form方法。默认情况下,它设置为$_GET
。但是在您的php脚本中,您正在调用$_POST
超全局变量。将方法更改为post
,就可以了。