-3

您好,我有以下“编辑”图标,当我点击它时,它会在同一页面内打开(类似于灯箱)新窗口(iframe)(不刷新等)。在新打开的 iframe 中,我有一个带有 1 个输入的表单。我想在单击提交时使用该函数(在同一个 .php 文件中)检查值(只能是数字)是否大于 299 以重定向到 google.com,否则重定向到 yahoo。 com。(这些站点只是示例。)这是我的“编辑”图标代码:

<div id="login-holder"><a href="#skinid"><img src="icons/edit.png" width="12px" height="12px" /></a></div>

这是脚本底部的#skinid div:

<div class="hidden">
<mark id="message"></mark>
  <div id="skinid">
  <section class="container">
    <div class="form2">
                        <form action="" method="POST">
                            <!--<fieldset class="textarea-field">
                                <textarea title="Message">Message</textarea>
                            </fieldset>-->
<br>
                            <fieldset>
                                <span class="ico user-ico"></span>
                                <input name="skinid" onkeypress="return isNumberKey(event)" type="text" class="field" value="Enter new Skin ID. (-200$)" title="Enter new Skin ID. (-200$)" />
                            </fieldset>
                            <center><input type="submit" class="submit btn blue-btn" value="Update" /></center>
                        </form>
                    </div></section>
  </div></div>

我试过添加:

    if (isset($_POST['skinid'])) {
        if($_POST['skinid'] > 299) {header("Location:http://google.com");}
else {header("Location:http://yahoo.com");}
        return;
    }

在表格上方,它不起作用。

4

1 回答 1

0

如果我理解正确,您将 PHP 代码放在 HTML 表单代码的正上方,即在发送了一些实际输出之后。正如 PHP 手册所述,header("Location:...")应该在发送任何输出之前调用。

引用PHP 手册

请记住,必须在发送任何实际输出之前调用 header(),无论是通过普通 HTML 标记、文件中的空白行还是从 PHP 发送。使用 include 或 require 函数或其他文件访问函数读取代码并在调用 header() 之前输出空格或空行是一个非常常见的错误。使用单个 PHP/HTML 文件时也存在同样的问题。

因此,在发送任何 HTML 输出之前放置 PHP 代码(例如,在文件顶部)应该可以工作。如果不是,则需要更详细的信息(正如其他评论者已经指出的那样)。

于 2013-05-02T20:21:26.540 回答