返回复选框的状态,如果未选中则返回0

时间:2014-09-29 18:33:54

标签: php html checkbox

我一直在寻找有趣的解决方案,不幸的是没有人清楚地告诉我。

我所拥有的是一系列存储用户首选项的复选框,因此当页面填充时我需要知道复选框的状态,以便它可以显示首选项。另外我注意到如果未选中复选框,HTML不会返回值,如果未选中则我需要存储0。那么实现这一目标的好方法是什么?我只使用HTML和PHP

我已经看到了一些解决方案并且有一些问题。首先是代码

<form action="TradingRules.php" method="post">
 <h2><legend>Entry Rules</legend></h2>
 <p><label> <input type="checkbox" name="30minRule" value="1" <?php if(isset($_POST["30minRule"]))        {     echo 'checked="checked" '; } ?>>30 Min Rule</label></p>  
  <p><label> <input type="checkbox" name="buyOnPocketPivot" value="1">Buy on Pocket Pivot</label></p> 
  <p><label> <input type="checkbox" name="buyEODonPPday" value="1">Buy EOD on PP Day</label></p>
  <p><label> <input type="checkbox" name="buyOn10WeekLineTest" value="1">Buy on 10 week line Test (within 3%)</label></p>
  <p><label> <input type="checkbox" name="okBelow400k" value="1">Ok below 400k Average</label></p>
  <p><label> <input type="checkbox" name="buyIfOthersAreBreakingOut" value="1">Buy if other are breaking out</label></p>
  <p><label> <input type="checkbox" name="buyIfStockHasUnusualStrength" value="1">Buy if stock has unusual strength</label></p>
  <p><label> <input type="checkbox" name="buyOnNon-breakoutVolume" value="1">Buy on non-breakout Volume</label></p>
  <p><label> <input type="checkbox" name="buyOnGap" value="1">Buy on Gap</label></p>
  <p><label> <input type="checkbox" name="enableGapRules" value="1">Enable Gap Rules</label></p>
  <p><label> <input type="checkbox" name="buy<1WeekBeforeEarnings" value="1">Buy < 1 week before earning</label></p>
  <p><label> <input type="checkbox" name="buyOn3WeeksTight" value="1">Buy on 3 weeks tight</label></p>
  <p><label> <input type="checkbox" name="buyOnHTF" value="1">Buy on HTF</label></p>
  <p><label> <input type="checkbox" name="buyOnPullbackToPivot" value="1">Buy on pullback to pivot </label></p>
  <p><input type="submit" /></p>
    </form> 

问题:

1)你把隐藏按钮放在哪里?我有<p>个代码,因为我希望它们位于另一个代码之上,所以我将它们全部放在<p>代码中吗?这样的工作会是什么?

<p><label> <input type="hidden" name="30minRule" value="0">
             <input type="checkbox" name="30minRule" value="1" <?php if(isset($_POST["30minRule"])) { echo 'checked="checked" '; } ?>>30 Min Rule</label></p>  
  <p><label> <input type="hidden" name="buyOnPocketPivot" value="0">
             <input type="checkbox" name="buyOnPocketPivot" value="1">Buy on Pocket Pivot</label></p> 

2)关于从数据库获取信息以获取复选框状态的主题,我有链接到我的PHP脚本的表单是否足以获取这些值?他们都往返于同一地点,还是需要其他东西?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

当你在PHP中收到这个值时,将它丢失到0中可能是值得的。使用array_merge函数就足够了。

 $post_form = array_merge(array(
     '30minRule' => 0,
     'buyOnPocketPivot' => 0 // etc
 ), $_POST);