用户在文本框中输入一个数字,并根据使用 PHP 输入的数字重定向到另一个网页

User enters a number in a textbox and is redirected to another webpage based on the number entered using PHP

本文关键字:输入 数字 PHP 网页 另一个 重定向 用户 一个 文本      更新时间:2023-09-26

我正在尝试创建一个文本框,用户可以在其中输入数字,单击按钮并根据用户输入的数字使用PHP重定向到另一个网页。我不确定为什么这不起作用。您可以将以下代码保存在 PHP 文件中。如果您有任何想法,请告诉我。如果您有另一种使用javascript,jQuery或其他语言进行此类重定向的方法,请告诉我。多谢。有好的一天。五.

<?php
$textboxdata = $_POST['textboxdata'];
if (isset($_POST['$textboxdata'])) {
    switch ($textboxdata)
    {
    case 1:
      header("Location: one.php");
      break;
    case 2:
      header("Location: two.php");
      break;
    case 5:
      header("Location: five.php");
      break;
    default:
      echo "Enter a number please.";
    }
}
?>
</head>
<body>
<FORM NAME ="form" METHOD ="post" ACTION = "">
<INPUT TYPE = "TEXT" VALUE ="username" METHOD ="post" name="textboxdata" >
<INPUT TYPE = "Submit" Name = "submit" VALUE = "Login">
</FORM>
</body>
</html>

这里面有一个美元符号,不会计算为 true:

if (isset($_POST['$textboxdata'])) {

它应该是:

if (isset($_POST['textboxdata'])) {

您可能还需要$_POST数据的整数值,因此请更改以下内容:

$textboxdata = $_POST['textboxdata'];

对此:

$textboxdata = intval( $_POST['textboxdata']);

因为请记住,用户可以在该框中键入任何内容,而不仅仅是数字。您可能希望在未来研究更多的投入卫生。

最后,您希望在所有这些header()调用之后exit()Location值应该是完整的 URL,而不是相对 URL)。您要exit()的原因是您希望脚本停止处理。

header("Location: one.php");
exit();

我怀疑这是问题所在:

if (isset($_POST['$textboxdata'])) {

应该是:

if (isset($_POST['textboxdata'])) {

好吧,看到您将$_POST['textboxdata'];分配给$textboxdata我会做到

$textboxdata = $_POST['textboxdata']; 
if (isset($textboxdata)) { 
    switch ($textboxdata) 

如果未通过初始赋值设置$textboxdata则不会命中 switch 语句。

如果你有另一种使用javascript,jQuery进行这种重定向的方法, 或其他语言,请告诉我。

j查询解决方案:

<input type="text" value="username" id="inpt" />
<input type="button" value="login" id="btn" />
<script type="text/javascript">
    $(function() {
        $("#btn").on('click', function() {
            var value = $("#inpt").val();
            if (value.length) {
                switch (parseInt(value, 10)) {
                    case 1:
                      document.location.href = "one.php";
                      break;
                    case 2:
                      document.location.href = "two.php";
                      break;
                    case 5:
                      document.location.href = "five.php";
                      break;
                    default:
                      alert("Enter a number please.");
                }
            }
        });
    });
</script>