【问题标题】:Cannot run PHP function when submit form. PHP/HTML提交表单时无法运行 PHP 函数。 PHP/HTML
【发布时间】:2013-05-03 04:21:26
【问题描述】:

您好,我有以下“编辑”图标,当我点击它时,它会在同一页面内打开(类似于灯箱)新窗口(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;
    }

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

【问题讨论】:

  • 是的,问题出在哪里?
  • 我已经用我尝试过的内容更新了我的帖子。
  • @user215584 it didn't work != this is the result it gave which is incorrect
  • 显然你不在,愿意帮忙。

标签: php html function


【解决方案1】:

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

引用PHP manual

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-29
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多