如何组织此代码并添加一些验证

时间:2012-01-26 09:12:25

标签: php

我很难弄清楚如何组织下面的代码,以便我可以为表单添加一些验证:

<?php

//Calculo em php 
$valor_final = 1320 - 1.2 * $_POST['val1'];
$valor_confiscado = $_POST['val1'] - $valor_final;
$valor_total = $valor_confiscado + $valor_confiscado;

$valor_final1 = "<div class=info><span class=style1>Parcela do subsidio de Férias/Natal que fica para o trabalhador ou aposentado:</span> <span class=style2>$valor_final Euros</span></div><br><br>";
$valor_confiscado1 = "<div class=error><span class=style1>Parcela do subsidio de Férias/Natal que o governo confisca:</span> <span class=style2>$valor_confiscado Euros</span></div>";
$valor_total1 = "<div class=error><span class=style1>Parcela dos 2 subsidios juntos (Natal e Férias) confiscado pelo governo:</span> <span class=style2>$valor_total Euros</span></div>";

//Resultados
if($_SERVER['REQUEST_METHOD'] == "POST") 
{
    echo $valor_final1;
    echo $valor_confiscado1;
    echo $valor_total1;
}
?>

在回显3个变量之前,我想检查文本框$_POST['val1']上插入的值是否小于600且大于1100,如果是,我想回显其他msg而不是$ valor_final等... 正如您所看到的,我有一个if语句来检查页面是否被帖子表单命中,因此如果用户没有提交任何内容,它可以隐藏消息,我想保留它或更好的解决方案。< / p>

这是我需要的最好的例子:

if (($_SERVER['REQUEST_METHOD'] == "POST") || ($_POST['val1'] < 600)) 
{ echo $toolow;}
if (($_SERVER['REQUEST_METHOD'] == "POST") || $_POST['val1'] > 1100)) 
{ echo $toohigh;}
elseif (($_SERVER['REQUEST_METHOD'] == "POST")
    echo $valor_final1;
    echo $valor_confiscado1;
    echo $valor_total1;
}

我试图在2天前自己做这件事,但我累了:S

编辑:

我这样做了:

<?php
$valor_final = 1320 - 1.2 * $_POST['val1'];
$valor_confiscado = $_POST['val1'] - $valor_final;
$valor_total = $valor_confiscado + $valor_confiscado;
if ($_POST['val1'] <= 600);{
echo "<div class=error><span class=style1>O governo não pretende confiscar subsidios inferiores a 600 euros:</span></div>";
exit; 
}
if ($_POST['val1'] >= 1100);{
echo "<div class=error><span class=style1>O governo não pretende confiscar subsidios inferiores a 1100 euros:</span></div>";
exit; 
}
else {
echo "<div class=info><span class=style1>Parcela do subsidio de Férias/Natal que fica para o trabalhador ou aposentado:</span> <span class=style2>$valor_final Euros</span></div><br><br>";
echo "<div class=error><span class=style1>Parcela do subsidio de Férias/Natal que o governo confisca:</span> <span class=style2>$valor_confiscado Euros</span></div>";
echo "<div class=error><span class=style1>Parcela dos 2 subsidios juntos (Natal e Férias) confiscado pelo governo:</span> <span class=style2>$valor_total Euros</span></div>";
}

?>

它把这个错误淹没了: 解析错误:语法错误,第139行/home/terrachat/domains/terrachat.com.pt/public_html/projectos/calcular_work.php中的意外T_ELSE

**Line 137 exit; 
Line 138 }
Line 139 else {
Line 140 echo "<div class=info><span class=style1>Parcela do subsidio de Férias/Natal que fica para o trabalhador ou aposentado:</span> <span class=style2>$valor_final Euros</span></div><br><br>";**

有人可以帮忙吗?

此致

2 个答案:

答案 0 :(得分:0)

添加以下行:

if ($_POST['val1'] < 600 || $_POST['val1'] > 1100) {
    echo $message;
}

答案 1 :(得分:0)

在第135行,你有

if ($_POST['val1'] >= 1100);{

虽然它应该是

if ($_POST['val1'] >= 1100) {

同样在131行你有

if ($_POST['val1'] <= 600);{

虽然它应该是

if ($_POST['val1'] <= 600) {

通常unexpected T_(*)表示您遗漏了一些{};,,或者您添加的内容过多。