Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过用户输入的代码将用户重定向到网站_Php_Mysql - Fatal编程技术网

Php 通过用户输入的代码将用户重定向到网站

Php 通过用户输入的代码将用户重定向到网站,php,mysql,Php,Mysql,我想用一个输入创建一个表单 <form method="post"> <div align="center"> <div class="error"></div> <div class="iii"> <div class="label">TUT number</

我想用一个输入创建一个表单

    <form method="post">
        <div align="center">
                            <div class="error"></div>
                            <div class="iii">
            <div class="label">TUT number</div>
            <input type="number" onkeypress='return event.charCode >= 48 && event.charCode <= 57'  pattern="\d*" class="iin" name="number"/>
            <div class="clear"></div>
                            </div>
                    </div>

        <div align="center">
            <input class="go" type="submit" value=" go" name="Submit" >
        </div>
    </form>

图坦卡蒙数
因此,如果用户输入是例如“
4584
”将把他重定向到苹果网站,如果输入是“
5488
”将重定向到谷歌

当然,我不能只使用if语句,因为我想添加/编辑/删除链接和代码

我努力地寻找,但没有找到方法


问候。

为每个用户使用cookie,并在每次向列表中添加新网站时添加cookie值。像

$\u COOKIE[“苹果”]=“4584”

$\u COOKIE[“谷歌”]=“5488”

$\u COOKIE[“Ibm”]=“1234”//这可以是您想要的任何新wesite和代码


假设您在数据库中保存了链接,您只需使用给定的代码获取行,并使用任何类型的重定向将用户重定向到目标URL。代码如下所示:

$stmt = $dbh->prepare('SELECT url FROM links WHERE code = ?');
$stmt->execute(array($_POST['number']));
if (!$row = $stmt->fetch()) {
    /* not found */
} else {
    $url = $row['url'];
    header('Location: '.$url);
    exit;
}
$stmt->close();

我打赌有一个很好的逻辑为什么4584意味着苹果,5488意味着谷歌,你能解释一下吗?@Andreas这只是一个例子,我想做一些应用程序教程,我想给每个图坦卡蒙一个代码,如果用户把代码放进输入中,就会将它们重定向到应用程序url。“我无法仅使用if station,因为我想添加/编辑/删除链接和代码,这并不阻止您使用if语句。你还可以提供你目前拥有的PHP吗?@SpencerWieczorek好的,但是每次我需要添加一个新的链接和代码时都很难编辑代码:)@JoseLuis,这取决于你是如何做到的。例如,如果(isset($\u POST['number']){..}尝试获取它的值,那么执行
是有意义的。另外,add/edit/delete应该位于不同的代码位置,不应该有任何依赖项。这不起作用,因为我的问题是每次我想添加新的webiste时,我都不会编辑php代码,我用一个数据库来做这个,你们为什么不把数据库网站列表复制到cookie上呢array@GaneshCookie与这个问题有什么关系?谢谢,但是如何使它与上面的表单一起工作?@JoseLuis这是一个伪代码,它将根据输入
$\u POST['number']
从数据库中读取一行。找到条目时,将使用
位置:
标题创建重定向。如果找不到任何行,您可以显示一条信息消息并再次显示HTML表单。i gor此错误消息注意:未定义变量:第4行test.php中的dbh致命错误:调用第4行test.php中null的成员函数prepare()!!,我刚刚创建了一个连接文件和这个文件。我不工作,我也一样error@JoseLuis当您收到相同的错误消息时,您没有将
PDO
对象保存在变量
$dbh
中。您可以随意重命名变量,但必须在此create
PDO
对象上调用
prepare()
方法。