Έλεγχος φόρμας

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

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

Απάντηση
Άβαταρ μέλους
_Invisible_
Δημοσιεύσεις: 418
Εγγραφή: 16 Νοέμ 2006 16:47
Τοποθεσία: Greece

Έλεγχος φόρμας

Δημοσίευση από _Invisible_ » 12 Δεκ 2006 23:51

Γεια σας.

Όπως καταλάβατε θέλω να ελέγξω μία φόρμα με την PHP. Φυσικά και ξέρω πως, αλλά με τις παρακάτω ερωτήσεις θα φανεί ότι δεν ξέρω. Τέσπα, έχουμε 11 πεδία, και από αυτά τα δύο πρέπει οι τιμές που θα έχουν να είναι με αριθμούς (αριθμιτικά -- δεν ξέρω αν το λέω σωστά).

Τα υπόλοιπα επιτρέπεται να έχουν και γράμματα και αριθμούς. Το θέμα είναι ότι χρησιμοποιώ το ctype_alpha() για να δω αν τα πεδία έχουν αλφαριθμιτική τιμή (δεν ξέρω αν το λέω σωστά). Αυτό μου κάνει τον κώδικά μου να φαίνεται άσχημο γιατί:

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

if(ctype_alpha($var)
{
$pass = '1';
}
else
{
$pass = '0';
}
και φανταστείτε αυτό να γίνεται 9 φορές για κάθε πεδίο!!! Θα ήθελα να μου πείτε τι χρησιμοποιείτε εσείς για να ελέγχετε τις φόρμες σας. ΟΚ γίνονται αυτά αλλά χαλάει ο κώδικας και έχω και μία ακόμη απορία.

Όταν εντοπίζω κάτι που δεν είναι σύμφωνα με τον σωστό έλεγχο (πχ κάποιο πεδίο δεν έχει την τιμή που θα έπρεπε) τότε μία μεταβλητή (η $pass) παίρνει την τιμή 0. Αλλά τι γίνεται όταν η $pass είναι true σε κάποιον έλεγχο παρακάτω; Πχ ελέγχω τα 11 πεδία και το πρόβλημα είναι στο 7, και μετά το 8 έχει $pass = '1' σφάλμα δεν θα αναγνωριστεί.

ΤΕΣΠΑ, μπερδεύτηκα πάρα πολύ με αυτή την φόρμα και δεν ξέρω τι πρέπει να κάνω και πως να την ελέγξω. Θα ήθελα να μου πείτε τι μπορώ να κάνω με την $pass πως μπορώ να τα ελέγξω τα πεδία χωρίς να βάζω εκείνη την βλακεία 40 γραμμές κώδικα για κάθε πεδίο και τι άλλο πρέπει να κάνω για να μην έχω όλη αυτή την αηδία που δημιούργησα.

Παρακαλώ βοηθήστε με.
Ευχαριστώ!

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Έλεγχος φόρμας

Δημοσίευση από fafos » 13 Δεκ 2006 01:11

Ego prosopika xrhsimopoio function me true kai false opos to parakato paradeigma (ypothetoume oti einai kapoios arithmos thlefonou):

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

function check_field1($field_name_1)
{
  if(!preg_match("/[^0-9\ ]+$/",$field_name_1))
    return TRUE;
  else
    return FALSE;
}
meta pernao ena if gia na doso to error:

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

if(!check_field1($your_phone))
{
  echo "Το τηλέφωνο πρέπει να αποτελείται από ψηφία χωρίς κενά";
  $error++;
}
kai to teliko apotelesma me allo ena if:

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

if($error == 0)
{
  echo
  "
  Το μήνυμα εστάλη επιτυχώς!<br>
  
  Τηλέφωνο&#58; $your_phone<br>

  ";
&#125;else&#123;
  echo "Βρέθηκαν $error Λάθη";
&#125;
Gia kathe pedio epanalambano tis function me diaforeiko field_name..
Mporei kapoia function na exei diaforetikh domh analoga me auto pou ths zhtame na epiveveosei (p.x. an theloume na kapoia stoixeio na exei sygkekrimeno mhkos strlen anti tou preg_match)
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
_Invisible_
Δημοσιεύσεις: 418
Εγγραφή: 16 Νοέμ 2006 16:47
Τοποθεσία: Greece

Έλεγχος φόρμας

Δημοσίευση από _Invisible_ » 13 Δεκ 2006 15:58

fafos με βοήθησε αρκετά αυτό που μου έδωσες. Ευχαριστώ πολύ. Α, και τελικά αποφάσισα να αρχίσω να χρησιμοποιώ error classes.

Thanks

Απάντηση

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

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

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