【问题标题】:php form validation using session variable使用会话变量的php表单验证
【发布时间】:2011-11-05 08:10:14
【问题描述】:

我在php中有一个注册表单,它将数据发送到另一个php表单以插入到mysql中

如果缺少任何字段,则会使用会话变量(value="<?php echo $_SESSION['error']; ?>") 将错误消息连同用户已经填写的所有字段发送回注册表单(这样他们就不必再次填写) ) 也使用会话变量..

对于使用value="<?php echo $_SESSION['fname']; ?>" 的文本框,效果很好..但这似乎不适用于下拉框或单选按钮..

有什么建议吗?

【问题讨论】:

  • 嗯......试图想象什么是源代码,嗯......我失败了。那么请在此处发布。

标签: php forms validation session


【解决方案1】:

下拉框和单选按钮使用选定或点击索引。您需要检查每一个是否被选中或单击,并为其赋予适当的属性。

 <?php if($_SESSION['dropBox1'] == "value") echo ' selected="selected"'; ?>

【讨论】:

    【解决方案2】:

    首先,您不应该将表单提交到另一个页面进行验证。在当前页面执行。下拉列表和单选按钮value 属性是与选择相关的值。不是显示的内容或以任何方式告诉它它是选定的项目。 @James 击败了我关于如何显示被选中的代码。

    <select>
      <option value="0"  <?php echo $_SESSION['dropBox1'] == "0" ? ' selected="selected"' : '' ?>>option1</option>
      <option value="1"  <?php echo $_SESSION['dropBox1'] == "1" ? ' selected="selected"' : '' ?>>option2</option>
      <option>etc..</option>
    </select>
    

    【讨论】:

    • 碎纸机,原始表单是 html .. 这就是为什么我将它发布到单独的 php 提交的原因,我只是将表单更改为 php 以获得会话功能..(有将其发布给自己有什么好处?)谢谢
    • @ABI 即使是在 html 中,您也可以使用 javascript 在提交之前 进行表单验证。这对用户来说很方便,因此他们不必等待 1 个(或在另一个页面中验证的情况下为 2 个)http 请求周期。它是即时的,在客户端上完成。如果数据好,那么你可以将它发布到你的其他页面进行mysql插入
    • 使用你不需要的三元运算符来指定echo
    • @Marcx 是的,你需要echo
    猜你喜欢
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多