2013-10-04 63 views
2

说实话,我对PHP没有任何线索,但我可以看到它的力量,我只想学习如何控制它。我有三页预订表格。页面1到2正在工作,但是2到3个不起作用。下面是从页的PHP代码的两个 -PHP多表单处理

<?php 

// Total Number of Nights Between Picked Dates 

$days = (strtotime($_POST["checkoutdate"]) - strtotime($_POST["checkindate"]))/86400 - 1; 

// Extra Nightly Cost 

define ("extranights", 80); 
$addnights = (int)extranights * ($days - 4); 

// Deposit Price Calculation 

define("deposit", 370); 
$deposit = null; 

if (isset($_POST["numberofpeople"])) { 
$numberofpeople = intval($_POST["numberofpeople"]); 
$deposit = ((int)deposit * $numberofpeople + $addnights) * 0.3; 
}  

// Total Price Calculation 

define("totalprice", 370); 
$result = null; 

if (isset($_POST["numberofpeople"])) { 
$numberofpeople = intval($_POST["numberofpeople"]); 
$result = (int)totalprice * $numberofpeople + $addnights; 
}  

?> 

然后我回荡在同一页上存totalprice值

<table> 
<tr> 
       <td width="573" height="30" align="right" valign="bottom" style="color:#0099FF;">(confirm reservation) 30% Deposit :</td> 
       <td width="158" align="left" valign="bottom" style="color:#0099FF; font-size:1.8em; line-height:23px;">&#8364;<?php echo $deposit; ?></td> 
       </tr> 

       <tr> 
       <td height="30" align="right" valign="bottom" style="color:#0099FF;">Total Price :</td> 
       <td align="left" valign="bottom" style="color:#0099FF; font-size:1.8em; line-height:23px;">&#8364;<?php echo $result; ?></td> 
       </tr> 
<td width="131" align="right" valign="middle" style="color:#000;"><input type="submit" name="submit" id="formbtn" value="CONTINUE" /></td> 
</table> 

我一直在苦苦思考的是如何将存款和总价格的回应价值发布到第三页上。如果解决方案/答案是广泛的,那么我将不得不返回到绘图板并一点一点地重新开始。但是这会完成表单的用户端。我不期待数据库的东西:(

回答

0

包括2页上的一些隐藏的领域与计算值。

.... 
<input type="text" name="deposit" value="$deposit" style="display:none" /> 
... 
<input type="text" name="result" value="$result" style="display:none" /> 

那么值将第3页上出现$_POST数组中

+0

YEEEEEESSSSSSSS !!!!!谢谢。我喜欢周围的工作。它的工作就像一个魅力! – onejed

+0

你真的应该使用@ AbraCadaver的回答,虽然 – lordvlad

3

或者使用目的:

<input type="hidden" name="deposit" value="$deposit" /> 
+0

健忘我.... +1 – lordvlad

0

这个例子结合PHP,JS(AJAX)的DINAMIC形式处理,并通过获得的所有参数发送,也许它可以节省ÿ ou有一段时间。尽管如此,您应该根据自己的需要更改它

<table ALIGN="CENTER"> 
<table> 
        <?php foreach ($chunkIt[1] as $k => $v){ ?> 
         <tr>  
          <td width="150" height="" align="right" valign="middle" id='celda_interna_dealer'><strong><span id='texter1'><?php echo $v; ?></span></strong></td> 

         <?php if($arrD[$i] != 0){ ?>  
          <td width="208" height="" align="left" valign="middle" id="celda_interna"><span id="texter1"><div id="ck-button"><label><input type="checkbox" name="<?php echo "status".$k; ?>" id="<?php echo "status".$k; ?>" value="<?php echo "status".$k; ?>" checked="yes"><span onclick="this.firstChild.data = this.firstChild.data == 'Des' ? 'Act' : 'Des'">Act</span></label></div></span></td> 
         <?php }else{ ?> 
          <td width="208" height="" align="left" valign="middle" id="celda_interna"><span id="texter1"><div id="ck-button"><label><input type="checkbox" name="<?php echo "status".$k; ?>" id="<?php echo "status".$k; ?>" value="<?php echo "status".$k; ?>" ><span onclick="this.firstChild.data = this.firstChild.data == 'Des' ? 'Act' : 'Des'">Des</span></label></div></span></td> 
         <?php } ?> 
         </tr> 
         <?php $i++; } ?> 

       </table> 
       </td> 
       <td> 
       <table ALIGN="CENTER"> 
        <?php foreach ($chunkIt[2] as $k => $v){ ?> 
         <tr> <!-- ESTA PRIMERA LINEA ES SIEMPRE LA MISMA --> 
          <td width="150" height="" align="right" valign="middle" id='celda_interna_dealer'><strong><span id='texter1'><?php echo $v; ?></span></strong></td> 

         <?php if($arrD[$i] != 0){ ?>  
          <td width="208" height="" align="left" valign="middle" id="celda_interna"><span id="texter1"><div id="ck-button"><label><input type="checkbox" name="<?php echo "status".$k; ?>" id="<?php echo "status".$k; ?>" value="<?php echo "status".$k; ?>" checked="yes"><span onclick="this.firstChild.data = this.firstChild.data == 'Des' ? 'Act' : 'Des'">Act</span></label></div></span></td> 
         <?php }else{ ?> 
          <td width="208" height="" align="left" valign="middle" id="celda_interna"><span id="texter1"><div id="ck-button"><label><input type="checkbox" name="<?php echo "status".$k; ?>" id="<?php echo "status".$k; ?>" value="<?php echo "status".$k; ?>" ><span onclick="this.firstChild.data = this.firstChild.data == 'Des' ? 'Act' : 'Des'">Des</span></label></div></span></td> 
         <?php } ?> 
         </tr> 
         <?php $i++; } ?> 
       </table> 
       </td> 
       </tr> 
         <tr> 
          <td colspan="3" align="center" valign="middle" id='celda_interna' height="31"> 
           <input type="button" value="<?php echo $confirm_btn; ?>" onclick="Aj();"></input> 
           <input type="hidden" name="status_count" id="status_count" value="<?php echo $i; ?>" > <!-- --> </input> 
          </td> 
         </tr> 

      </table> 

//创建功能,节省UR IN JS VARS数据和转储数据库

       var laVar = null; 
           function Aj() { 


            var i = 0, 
             input; 

            var ar = []; 

            while (input = document.getElementsByTagName('input')[i++]) { 

             if (input.id.match(/^status([0-9]+)$/)) { 

              ar.push(input.id); 

             } 
            } 


            var status_count_demo = document.getElementById('status_count').value; 

            var status_count = status_count_demo - 1; 


            i = 0; 

            var ar3 = new Array(); 

            while (i <= status_count) { 

             var campo = document.getElementById(ar[i]).checked; 

             if (campo === true) { 


              ar3[ar[i]] = 1; 

             } else { 

              ar3[ar[i]] = 0; 

             } 
             i++; 
            } 


            function url(data) { 

             var ret = []; 

             for (var d in data) 


              ret.push(encodeURIComponent(d) + "=" + encodeURIComponent(data[d])); 


             return ret.join("&"); 

            } 


            if (window.ActivexObject) { 


             laVar = new ActivexObject("Microsoft.XMLHTTP"); 

            } else if (window.XMLHttpRequest) { 


             laVar = new XMLHttpRequest(); 

            } else alert("Tu navegador no acepta Ajax"); 

            laVar.open("GET", "inner_files/conf_confirm.php?" + url(ar3)); 


            laVar.onreadystatechange = cbFunc; 

            laVar.send(null); 

           } 



           function cbFunc() { 
            if (laVar.readyState == 4 && laVar.status == 200) { alert('Success'); } 

           }