2012-01-26 3 views
0

Je vais avoir du mal à essayer de comprendre comment organiser le morceau de code suivant afin que je puisse ajouter quelques validateurs une forme:comment organiser ce code et ajouter une validation

<?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; 
} 
?> 

Avant de faire écho aux 3 variables je voudrais vérifier si la valeur insérée dans la zone de texte $_POST['val1'] est inférieure à 600 et supérieure à 1100, si oui, je voudrais faire écho d'autres msg au lieu de $ valor_final etc ... Comme vous pouvez voir J'ai une déclaration si qui vérifie si la page est frappée par formulaire de post, de sorte qu'il peut masquer le message si rien n'a été soumis par l'utilisateur, je voudrais le garder ou une meilleure solution pour cela.

Ceci est le meilleur exemple pour ce que je dois:

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; 
} 

Im essayant de le faire par moi-même depuis il y a 2 jours, mais je me suis fatigué: S

Edit:

Je l'ai fait:

<?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>"; 
} 

?> 

Et il me trowns cette erreur: Parse error: syntax e rror, T_ELSE inattendu dans /home/terrachat/domains/terrachat.com.pt/public_html/projectos/calcular_work.php en ligne 139

**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>";** 

Quelqu'un peut-il s'il vous plaît aider?

Sincèrement

+0

Pourriez-vous mettre en évidence la ligne 137,138,139,140 pour nous? – Shoe

+0

Il est également recommandé d'utiliser des noms (pour les variables, les fonctions, la classe ...) et des commentaires en anglais. – Shoe

+0

Merci pour la réponse, ok mon mauvais je vais suivre votre avis la prochaine fois, s'il vous plaît vérifier mon post initial j'ai mis en lumière ces 3 lignes –

Répondre

0

Dans la ligne 135, vous avez

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

alors qu'il devrait être

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

également dans la ligne 131, vous avez

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

alors qu'il devrait être

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

Habituellement unexpected T_(*) signifie que vous manque des {, }, ;, , ou vous ajoutez trop d'entre eux.

0

Ajouter ces lignes:

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

Merci M42 j'ai essayé quelque chose comme ça, mais me trow une erreur, parce que je ne peux pas le faire fonctionner avec le reste du code: S –

+0

@DaniQueiroga: Mettez à jour votre question avec le code incluant ces lignes et montrez-nous quel est le message d'erreur. – Toto

+0

désolé dint exprimé bien, il dint toute erreur, il suffit de travailler comme il se doit.le code que je l'ai posté montre ces 3 variables à la fin, et je veux ajouter une instruction si par exemple: si le nombre est inférieur à 600 alors montrera un message et non les variables que j'ai maintenant, si le nombre est plus grand que 1100 montrera alors un autre message et ne montrera pas les variables que j'ai maintenant .... savez-vous ce que je veux dire? –

Questions connexes