根据第一个数字输入进行重定向


Redirect based on first number input

如何根据第一个数字输入重定向到 php 中的特定 url?

如果在表单中输入的第一个数字是1,则重定向到www.mysite.com/page1,如果在同一表单中输入的第一个数字是2,则重定向到www.mysite.com/page2

输入字段可以有多个数字,但我想仅根据第一个数字进行重定向。

我已经试过了,但不起作用:

if ($number != '2') {
    header("Location: http://example.com");
}

试试这个:

<?php
$pages = [
    1 => 'http://example.com/some_page.html',
    2 => 'http://example.com/some_page_other.html',
    //...
    9 => 'http://example.com/differentpage.html',
];
if (!empty($_GET['number']))
{
    $firstNumber = (int) $_GET['number'][0]
}
if (isset($firstNumber, $pages[$number]))
{
    header('Location: ' . $pages[$number]);
}
else
{
    // We don't have a page for this number, or we don't have a number input.
}

这允许您为每个数字使用完全不同的 URL。如果它始终是相同的 URL,末尾有不同的数字,您可以改为这样做:

<?php
$baseUrl = 'www.example.com/page';
if (!empty($_GET['number']))
{
    $firstNumber = (int) $_GET['number'][0]
}
if (isset($firstNumber))
{
    header('Location: ' . $baseUrl . $number);
}
else
{
    // We don't have a number from the input.
}
不要忘记

exit()否则它将继续执行当前脚本

if ($number != '2') {
    header("Location: http://example.com");
    exit();
}