【问题标题】:php form passing extra variablephp表单传递额外变量
【发布时间】:2012-01-02 21:39:17
【问题描述】:

我的脚本显示我可以拒绝或批准的报价列表。我遇到的问题是有时我点击拒绝并且报价被正确拒绝,但有时我点击拒绝并且被错误地批准。

使用实时 HTTP 标头我检查了当报价被错误批准时发送的帖子数据,我看到了

denymes=Not+In+Downline&status=4&status=1

所以问题是状态被发送了两次。

我不明白出了什么问题。有时它可以正常工作。

有问题的代码:

$list.="
    <div class=\"borderBox\" id=\"approve_ad_main".$temp[id]."\">
        <form name=\"deny".$temp[id]."\" action=\"index.php?view=account&ac=myads&adtype=ptsu&id=$temp[id]&action=approve&".$url_variables."\" method=\"post\">
        <div style=\"border:0px solid #000;padding:5px;\" valign=\"top\" colspan=\"2\">Add Denied Message : <input type=\"text\" name=\"denymes\" value=\"\" size=\"50\"><br/>
        <small>This is for displaying a message as to why the ad was denied<br/>
        Leave blank if approving the ads.</small><br/>
        <input type=\"hidden\" name=\"status\" value=\"4\">
        <input type=\"submit\" value=\"Deny\" style=\"width:150px;float:left;\">
        </form>
        <form name=\"approve".$temp[id]."\" action=\"index.php?view=account&ac=myads&adtype=ptsu&id=$temp[id]&action=approve&".$url_variables."\" method=\"post\">
        <input type=\"hidden\" name=\"status\" value=\"1\">
        <input type=\"submit\" value=\"Approve\" style=\"width:150px;float:left;margin-left:5px;\">
        </form>
        <br/><br/>

        <a href=\"$temp[target]\" target=\"_blank\">$temp[title]</a>
        <div id=\"approve_ad".$temp[id]."\">
            Username: $temp[username]<br />
            <div style=\"height: 150px; overflow: auto; border: 1px solid #c8c8c8; background-color: white; text-align: left; padding: 5 5 5 5px; color: black\">
                <b>Userid Used: </b> $temp[userid]<br />
                ".nl2br($temp[welcome_email])."
            </div>
        </div>
    </div>


这是来自查看源代码的代码。还是不知道怎么回事。

<div class="borderBox" id="approve_ad_main1000">
    <form name="deny1000" action="index.php?view=account&ac=myads&adtype=ptsu&id=1000&action=approve&sid=27TWk0MU39VX4YhlU0Tn&sid2=28TYk&siduid=28&" method="post">
    <div style="border:0px solid #000;padding:5px;" valign="top" colspan="2">Add Denied Message : <input type="text" name="denymes" value="" size="50" /><br/>
    <small>This is for displaying a message as to why the ad was denied<br/>
    Leave blank if approving the ads.</small><br/>

    <input type="hidden" name="status" value="4" />
    <input type="submit" value="Deny" style="width:150px;float:left;" />
    </form>

    <form name="approve1000" action="index.php?view=account&ac=myads&adtype=ptsu&id=1000&action=approve&sid=27TWk0MU39VX4YhlU0Tn&sid2=28TYk&siduid=28&" method="post">
    <input type="hidden" name="status" value="1" />
    <input type="submit" value="Approve" style="width:150px;float:left;margin-left:5px;" />
    </form>
    <br/><br/>


    <a href="http://cw.nu/click?aid=9758&linkid=B18917&subid=&subid2=&subid3=&subid4=&subid5=" target="_blank">Beauty Discount Club - (submit Page &amp; Confirm Email)</a>
    <div id="approve_ad1000">
        Username: dan1190<br />
        <div style="height: 150px; overflow: auto; border: 1px solid #c8c8c8; background-color: white; text-align: left; padding: 5 5 5 5px; color: black">
            <b>Userid Used: </b> dan<br />

            dan
        </div>
    </div>
</div>

【问题讨论】:

  • 你能把整个表单显示为从视图源中显示的样子吗?
  • 将状态变量的名称更改为其他名称时会发生什么?尝试让它更独特,也许是 offStatus

标签: php forms variables


【解决方案1】:

您的输入标签没有被关闭,这可能会导致表单关闭标签被忽略。

您当前的代码:

<input type=\"hidden\" name=\"status\" value=\"1\">

正确代码:

<input type=\"hidden\" name=\"status\" value=\"1\" />

由于表单没有被关闭,它被算作一个表单,因此是双重状态。

【讨论】:

  • hmmm.. 我按照建议完成并关闭了所有输入标签,但仍然遇到同样的问题。
  • $url_variables 中有什么?上一个表单提交的状态是否有可能进入下一个?
  • $url_variables 是会话 ID。以前的提交是不可能的。这真的很烦人。我不明白为什么它只在某些时候发生。
猜你喜欢
  • 2011-07-03
  • 2015-09-15
  • 2012-02-15
  • 2019-04-03
  • 1970-01-01
  • 1970-01-01
  • 2012-03-23
  • 2011-11-03
  • 1970-01-01
相关资源
最近更新 更多