将结果值从一个PHP页面传递到另一个PHP页面

时间:2011-10-31 18:13:08

标签: php

我有一个表单,我将要计算的值发送到另一个PHP页面,该页面应该进行计算并将值返回到此表单页面。如果出现错误,则应将错误返回到此主页面。我该怎么做?

这是基本表单页面:index.php:

<form id="deps" name="deps" action="calc.php" method="POST"> 
                <div id="er"> <span class="er" >&nbsp;</span></div>           
                <table class="table">
                    <tr>
                        <td class="field head">&nbsp;</td>
                        <td class="field cv"><label for="met">Metric</label></td>
                    </tr>
                    <tr>
                        <td class="field head"><label for="bd">Bore Dia.</label></td>
                        <td class="field"><input type="text" name="bdmm" id="bdmm" /><label for="bdmm">MM</label></td>
                        <tr>
                    <td class="field head"><label for="tw">Total Weight</label></td>
                    <td class="field"><input type="text" name="twkg" id="twkg" /> <label for="twkg">KG</label></td>

                </tr>
                    </tr>

                 </table>   
                        <input type="submit" id="submit" value="Calculate" />                
              </form>


         </div>

Calc.php

<?php

$bdmm = $_POST['bdmm']; 


if(!$bdmm){ 
          $error = "Please enter a value!";
          echo $error;
     }  
    else {
        echo $bdmm ." success"; 
}
?>

如果出现错误,则应在span标记中显示错误。如果没有错误并且计算出来,它应该返回结果并将其显示在textbox中。

没有Javascript可以实现吗?

1 个答案:

答案 0 :(得分:2)

当然:

index.php:

<?php
    $err = (isset($_GET['error'])) ? $_GET['error'] : '&nbsp;';
?>
<form id="deps" name="deps" action="calc.php" method="POST"> 
    <div id="er"> <span class="er" ><?php echo $err; ?></span></div>  
    ....rest of form

<强> calc.php:

if(empty($_POST['bdmm'])){ 
    header('Location: index.php?error=Please enter a value!');
    exit();
}  
else {
    echo $_POST['bdmm'] ." success"; 
}

虽然这很好用,但我建议您只需将表单发布到同一页面并避免网址重定向。如果使用CodeIgniter或Zend等MVC框架,则可以利用同一文件中的唯一URL,并告诉控制器加载适当的视图,同时将请求保留在同一文件中。