【问题标题】:trouble with a php formphp表单的问题
【发布时间】:2012-09-11 19:00:09
【问题描述】:

我遇到了表格问题。

事实上,我有一个 php dynbamic 页面,它有 1 个参数(和 id),我正在尝试获取另一个参数,所以我有这个 fom:

<form action="index.php?p=employee-monitoring&id=<?php echo $_GET['id'] ; ?>" method="get">
<fieldset>
<legend>CHOISIR UNE DATE</legend>
<label>Date:</label>

<input type="date" name="date" onblur="form.submit()" />

</fieldset>
</form>

但是当我选择一个日期时,它会将我重定向到 index.php 并且日期上没有参数,例如它将我重定向到此页面 /index.php?date=

我不明白我做错了什么。

接受我最大的尊重。

亲切的问候。

SP

【问题讨论】:

    标签: php forms methods get action


    【解决方案1】:

    添加一个隐藏字段并从操作属性中删除&amp;id=&lt;?php echo $_GET['id'] ; ?&gt;

    <form action="index.php?p=employee-monitoring" method="get">
    <fieldset>
    <legend>CHOISIR UNE DATE</legend>
    <label>Date:</label>
    
    <input type="date" name="date" onblur="form.submit()" />
    <input type="hidden" name="id" value="<?php echo $_GET['id'] ; ?>" />
    
    </fieldset>
    </form>
    

    其实你应该用同样的方式传递p=employee-monitoring

    <form action="index.php" method="get">
    <fieldset>
    <legend>CHOISIR UNE DATE</legend>
    <label>Date:</label>
    
    <input type="date" name="date" onblur="form.submit()" />
    <input type="hidden" name="id" value="<?php echo $_GET['id'] ; ?>" />
    <input type="hidden" name="p" value="employee-monitoring" />
    
    
    </fieldset>
    </form>
    

    【讨论】:

    • 感谢您的快速回复。但有时直接将 var 传递给 url 的方式对我有用,为什么它不从 url 参数中获取它,为什么我们要将它们提交给类型的隐藏输入?
    • 我在网上找不到任何参考资料,但这是因为您不能同时使用 $_GET 变量和发送到服务器的表单数据。请注意,您现在可以改用method="post",这样更安全。
    • 是的,我知道,但它仅适用于 Intranet,并且此表单只会显示所选日期的日志文件信息,因此无法对数据库进行任何注入。此外,我在读取的 var 上使用了 mysql_real_escape_string
    • 那我猜 $_GET 没问题 :) 记住不要混淆 action 和表单值
    • 对不起,我的英语水平不是很好,无法理解混淆词的含义,请您解释一下。亲切的问候 SP
    猜你喜欢
    • 2010-10-27
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多