Πρόβλημα με conditions στην php

Βοήθεια λύσεις και νέα από τον χώρο των open source ή έτοιμων εφαρμογών που έχουν φτιαχτεί με την PHP όπως oscommerce, κ.α.

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
joy1
Δημοσιεύσεις: 2
Εγγραφή: 23 Νοέμ 2010 13:23

Πρόβλημα με conditions στην php

Δημοσίευση από joy1 » 23 Νοέμ 2010 13:45

Έχω φτιάξει μία φόρμα, η οποία δέχεται από το χρήστη μέχρι 5 εύρη αριθμών:
<tr>
<td width='270' align='right'>Εύρος1__Από: </td>
<td><input type='text' name='fromNum' size='20' /></td>
<td width='270' align='right'>Εως: </td>
<td><input type='text' name='toNum' size='20'/></td>
</tr>
<tr>
<td width='270' align='right'>Εύρος2__Από: </td>
<td><input type='text' name='fromNum2' size='20' /></td>
<td width='270' align='right'>Εως: </td>
<td><input type='text' name='toNum2' size='20'/></td>
</tr>
<tr> κ.λ.π το ίδιο και για τα εύρη 3,4,5
στη συνέχεια βάζω περιορισμό για τα ranges
$regExpNum = '/^[0-9]{6}$/';
$regExpNum2 = '/^[0-9]{6}$/';
$regExpNum3 = '/^[0-9]{6}$/';
$regExpNum4 = '/^[0-9]{6}$/';
$regExpNum5 = '/^[0-9]{6}$/';

$validfromNum = preg_match($regExpNum,$_POST['fromNum'],$matchesfrom);
$validtoNum = preg_match($regExpNum,$_POST['toNum'],$matchesto);
$validfromNum2 = preg_match($regExpNum2,$_POST['fromNum2'],$matchesfrom2);
$validtoNum2 = preg_match($regExpNum2,$_POST['toNum2'],$matchesto2);
$validfromNum3 = preg_match($regExpNum3,$_POST['fromNum3'],$matchesfrom3);
$validtoNum3 = preg_match($regExpNum3,$_POST['toNum3'],$matchesto3);
$validfromNum4 = preg_match($regExpNum4,$_POST['fromNum4'],$matchesfrom4);
$validtoNum4 = preg_match($regExpNum4,$_POST['toNum4'],$matchesto4);
$validfromNum5 = preg_match($regExpNum5,$_POST['fromNum5'],$matchesfrom5);
$validtoNum5 = preg_match($regExpNum5,$_POST['toNum5'],$matchesto5);

θέλω να γράψω κάποιους περιορισμούς για τα εύρη που πληκτρολογεί ο χρήστης όπως
αν όλα τα πεδία είναι κενά να εμφανίζεται μήνυμα
άν το tonum είναι μεγαλύτερο από το fromnum να εμφανίζεται μήνυμα λάθους (ισχύει και για τα εύρη 2,3,4,5)
αν το fromnum-tonum>100 να εμφανίζεται μήνυμα.
αν κάποιο εύρος είναι κενό, να λαμβάνονται υπόψη τα υπόλοιπα.
με ένα εύρος το έχω γράψει, πώς όμως θα βάλω και τα υπόλοιπα?
$regExpNum = '/^[0-9]{6}$/';
$validfromNum = reg_match($regExpNum,$_POST['fromNum'],$matchesfrom);
$validtoNum = preg_match($regExpNum,$_POST['toNum'],$matchesto);

$errorMsg='';

if (!$validfromNum || !$validtoNum) {
if (!$_POST['fromNum'] && !$_POST['toNum']) {
$errorMsg="μήνυμα";
$htmlData['errorMsg']= $errorMsg;
$this->loadPage($htmlData);
return false;
} else if ($validtoNum && !$_POST['fromNum']) {
set_time_limit(240);
$data = $this->R100WorkOrder->GetWoRangeData($_POST['toNum'], $_POST['toNum']);
} else if ($validfromNum && !$_POST['toNum']) {
set_time_limit(240);
$data = $this->R100WorkOrder->GetWoRangeData($_POST['fromNum'], $_POST['fromNum']);

} else {
$errorMsg="μήνυμα";
$htmlData['errorMsg']= $errorMsg;
$this->loadPage($htmlData);
return false;
}
} else {
####################################################### Form Validation ################################################# End
if ($_POST['fromNum'] > $_POST['toNum']) {
$errorMsg="μήνυμα ";
$htmlData['errorMsg']= $errorMsg;
$this->loadPage($htmlData);
return false;
} else if ($_POST['toNum'] - $_POST['fromNum'] > 100 ) {
$errorMsg="μήνυμα";
$htmlData['errorMsg']= $errorMsg;
$this->loadPage($htmlData);
return false;
} else {
set_time_limit(240);
$data = $this->R100WorkOrder->GetWoRangeData($_POST['fromNum'], $_POST['toNum']);
}
}

Απάντηση

Επιστροφή στο “PHP έτοιμες εφαρμογές”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης