validation form bug

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

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

Απάντηση
abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

validation form bug

Δημοσίευση από abeautifulmind » 21 Απρ 2012 21:33

Καλησπέρα σε όλους.Έχω αυτόν τον κώδικα για τον έλεγχο των πεδίων μίας φόρμας με κάποιες παραμέτρους.Το πρόβλημα έιναι σε αυτή την σειρά
else{
if (!is_numeric(trim($_POST['color1'][$key])) || !is_numeric(trim($_POST['color2'][$key])) || !is_numeric(trim($_POST['color3'][$key]))){
$errorMessage[] = 'Μόνο αριθμοί επιτρέποντε στα πεδία Δίχρωμα κίτρινα λευκά. Στην γραμμή '. ($key + 1) .'';
}
}
δεν μου δουλεύει σωστά ενώ βάζω μόνο αριθμούς στα 3 πεδία μου βγάζει το μήνυμα λάθους
Μόνο αριθμοί επιτρέποντε στα πεδία Δίχρωμα κίτρινα λευκά. Στην γραμμή

Κώδικας: Επιλογή όλων

	function b_Validate()
	{
		$errorMessage = array();
		$countError = 0;
		$arrayPost = $_POST;
        if (!$_POST['user'])
		{
			$errorMessage[] = 'Παρακαλώ συμπληρώστε όνομα ή επωνυμία εταιρίας';
		}
		foreach ($_POST['product'] as $key => $product)
		{

            if &#40;&#40;strlen&#40;$product&#41; < 2 || strlen&#40;$product&#41; > 10&#41; && strlen&#40;$product&#41; != 0&#41;&#123;
                $errorMessage&#91;&#93; = 'O Κωδικός πρέπει να είναι από 2 έως 10 χαρακτήρες. Στην γραμμή '. &#40;$key + 1&#41; .'';
            &#125;
            else&#123;
                if &#40;!preg_match&#40;'/\d+/', $product&#41; && strlen&#40;$product&#41; != 0&#41;&#123;
                    $errorMessage&#91;&#93; = 'O Κωδικός πρέπει να περιέχει τουλάχιστο έναν αριθμό. Στην γραμμή '. &#40;$key + 1&#41; .'';
                &#125;
                else&#123;
                    if &#40;!preg_match&#40;'/^&#91;0-9a-zA-Z&#93;+$/', $product&#41; && strlen&#40;$product&#41; != 0&#41;&#123;
                     $errorMessage&#91;&#93; = 'O Κωδικός πρέπει να περιέχει μόνο αριθμούς ή/και γράμματα. Στην γραμμή '. &#40;$key + 1&#41; .'';
                  &#125;
                  else&#123;
                    if &#40;!trim&#40;$product&#41; && !trim&#40;$_POST&#91;'color'&#93;&#91;$key&#93;&#41; && !trim&#40;$_POST&#91;'color1'&#93;&#91;$key&#93;&#41; && !trim&#40;$_POST&#91;'color2'&#93;&#91;$key&#93;&#41; && !trim&#40;$_POST&#91;'color3'&#93;&#91;$key&#93;&#41; && !trim&#40;$_POST&#91;'comment'&#93;&#91;$key&#93;&#41;&#41;
                    &#123;
                        $countError ++;
                        unset&#40;$arrayPost&#91;'product'&#93;&#91;$key&#93;&#41;;
                        unset&#40;$arrayPost&#91;'color'&#93;&#91;$key&#93;&#41;;
                        unset&#40;$arrayPost&#91;'color1'&#93;&#91;$key&#93;&#41;;
                        unset&#40;$arrayPost&#91;'color2'&#93;&#91;$key&#93;&#41;;
                        unset&#40;$arrayPost&#91;'color3'&#93;&#91;$key&#93;&#41;;
                        unset&#40;$arrayPost&#91;'comment'&#93;&#91;$key&#93;&#41;;
                    &#125;
                    else
                    &#123;
                        if &#40;!trim&#40;$_POST&#91;'color'&#93;&#91;$key&#93;&#41; && !trim&#40;$_POST&#91;'color1'&#93;&#91;$key&#93;&#41; && !trim&#40;$_POST&#91;'color2'&#93;&#91;$key&#93;&#41; && !trim&#40;$_POST&#91;'color3'&#93;&#91;$key&#93;&#41; && !trim&#40;$_POST&#91;'comment'&#93;&#91;$key&#93;&#41;&#41;
                        &#123;
                            $errorMessage&#91;&#93; = 'Παρακαλώ συμπληρώστε κωδικό στην γραμμή '. &#40;$key + 1&#41; .'';
                        &#125;
                        if &#40;!trim&#40;$product&#41;&#41;
                        &#123;
                            $errorMessage&#91;&#93; = 'Παρακαλώ συμπληρώστε κωδικό στην γραμμή '. &#40;$key + 1&#41; .'';
                        &#125;
                        if &#40;!trim&#40;$_POST&#91;'color'&#93;&#91;$key&#93;&#41;&#41;
                        &#123;
                            if &#40;!trim&#40;$_POST&#91;'color1'&#93;&#91;$key&#93;&#41; && !trim&#40;$_POST&#91;'color2'&#93;&#91;$key&#93;&#41; && !trim&#40;$_POST&#91;'color3'&#93;&#91;$key&#93;&#41;&#41;
                            &#123;
                                $errorMessage&#91;&#93; = 'Πρέπει να συμπληρώσετε τουλάχιστον τεμάχια σε  ένα από τα 3 χρώματα στην γραμμή '. &#40;$key + 1&#41; .' ';
                            &#125;
                            else&#123;
                                if &#40;!is_numeric&#40;trim&#40;$_POST&#91;'color1'&#93;&#91;$key&#93;&#41;&#41; || !is_numeric&#40;trim&#40;$_POST&#91;'color2'&#93;&#91;$key&#93;&#41;&#41; || !is_numeric&#40;trim&#40;$_POST&#91;'color3'&#93;&#91;$key&#93;&#41;&#41;&#41;&#123;
                                    $errorMessage&#91;&#93; = 'Μόνο αριθμοί επιτρέποντε στα πεδία Δίχρωμα κίτρινα λευκά. Στην γραμμή '. &#40;$key + 1&#41; .'';
                                &#125;
                            &#125;
                        &#125;
                        else
                        &#123;
                            if&#40;!is_numeric&#40;trim&#40;$_POST&#91;'color'&#93;&#91;$key&#93;&#41;&#41;&#41;&#123;
                                $errorMessage&#91;&#93; = 'Μόνο αριθμοί επιτρέποντε στα τεμάχια. Στην γραμμή'. &#40;$key + 1&#41; .'';
                            &#125;
                            else
                            &#123;
                                if &#40;trim&#40;$_POST&#91;'color1'&#93;&#91;$key&#93;&#41; || trim&#40;$_POST&#91;'color2'&#93;&#91;$key&#93;&#41; || trim&#40;$_POST&#91;'color3'&#93;&#91;$key&#93;&#41;&#41;&#123;
                                    $errorMessage&#91;&#93; = 'Στην γραμμή '. &#40;$key + 1&#41; .' δεν επιτρέπονται τεμάχια και χρώμα&#40;τα&#41; μαζί συμπληρώστε τεμάχια ή χρώματα που επιθυμείτε';
                                &#125;
                            &#125;
                        &#125;
                    &#125;
                &#125;
                &#125;
            &#125;
            
		&#125;
		if &#40;$countError == count&#40;$_POST&#91;'product'&#93;&#41;&#41;
		&#123;
			$errorMessage&#91;&#93; = 'Παρακαλώ συμπληρώστε τουλάχιστο μία γραμμή για την παραγγελία';
		&#125;
		$numberLines = $_COOKIE&#91;'maxID'&#93;;
		$_POST = $arrayPost;
		$_COOKIE = $_POST;
		$_COOKIE&#91;'maxID'&#93; = $numberLines;
		return $errorMessage;
	&#125;
&#125;

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

validation form bug

Δημοσίευση από Apostolis_38 » 22 Απρ 2012 12:55

Δοκίμασε να το σπάσεις σε 3 ξεχωριστά if.

Απάντηση

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

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

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