Validation πρωτα με JS και μετα με PHP

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

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

Απάντηση
Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από loxy » 17 Φεβ 2010 13:47

Γεια σε ολους.

Εχω φτιαξει μια register form με validation της PHP , και θελω να προσθεσω και ελεγχο μεσω Javascript για να μη χρειαζεται ο χρηστης να φορτωνει τη σελιδα πολλες φορες

Ως ενα σημειο γινεται αυτο το πραγμα , αλλα θελω να καταφερω να γινεται πρωτα ο ελεγχος της JS ,και μετα εφοσον ο χρηστης εχει πληκτρολογησει σωστα τα δεδομενα να γινεται το validation και με τη PHP .

Χρησιμοποιω την παρακατω γραμμη κωδικα στη φορμα μου , αλλα κατι δεν παει καλα μαλλον, αφου οντως εκτελειται η Javascript πρωτη αλλα μετα εκτελειται και η PHP, ακομα και αν υπαρχει λαθος:

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

<form method="post" action="<?php echo $_SERVER&#91;'PHP_SELF'&#93;; ?>" name="registerform" onsubmit="return validate_form&#40;this&#41;; " id="registerform">

Καμια ιδεα ;

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από korgr » 17 Φεβ 2010 15:30

Να δουμε λιγο την js function σου?

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από loxy » 17 Φεβ 2010 15:34

sure...

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

<script type="text/javascript">

function validate_pinak&#40;pinakides,alerttxt&#41;
&#123;
var pinakFilter="/^&#40;&#40;&#91;A-Z&#93;&#123;1,3&#125;&#91;0-9&#93;&#91;0-9A-Z&#93;&#123;0,4&#125;&#41;$/"; 
   if &#40;!pinakFilter.test&#40;document.registerform.Pinakides.value&#41;&#41; 
   &#123; 
    return true; 
   &#125; 
   else
   &#123;
     alert&#40;alerttxt&#41;;
	 return false;
   &#125;
	 
&#125;



function validate_email&#40;field,alerttxt&#41;
&#123;
with &#40;field&#41;
  &#123;
  apos=value.indexOf&#40;"@"&#41;;
  dotpos=value.lastIndexOf&#40;"."&#41;;
  if &#40;apos<1||dotpos-apos<2&#41;
    &#123;alert&#40;alerttxt&#41;;return false;&#125;
  else &#123;return true;&#125;
  &#125;
&#125;

function validate_form&#40;thisform&#41;
&#123;
with &#40;thisform&#41;
  &#123;
  valid = true;

        if &#40;&#40; document.registerform.LoginName.value == "" &#41;||  &#40; document.registerform.Password.value == "" &#41;
		||  &#40; &#40; document.registerform.Gender&#91;0&#93;.checked == false &#41; && &#40; document.registerform.Gender&#91;1&#93;.checked == false &#41; &#41; 
		||  &#40;validate_email&#40;Email,"Not a valid e-mail address!"&#41;==false&#41; ||  &#40; document.registerform.UserName.value == "" &#41; 
		||  &#40; document.registerform.Surname.value == "" &#41; || &#40; document.registerform.Birthdate.value == "" &#41;
	    ||  &#40; document.registerform.Nationality.selectedIndex == "0" &#41; ||  &#40;validate_pinak&#40;Pinakides,"The Right way is &#58; aaa1234 !"&#41;==false&#41;&#41;

		&#123;
         valid = false;
         alert &#40;"Λάθος κατά την πληκτρολόγηση !" &#41;
        &#125;
   &#125;
 &#125;
</script>
 

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από korgr » 17 Φεβ 2010 16:04

Δεν θα πρεπει να επιστρεφεις την τιμη της valid μετα την εκτελεση του script?
Δηλαδη καπως ετσι:

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

function validate_form&#40;thisform&#41;
&#123;
with &#40;thisform&#41;
  &#123;
  valid = true;

        if &#40;&#40; document.registerform.LoginName.value == "" &#41;||  &#40; document.registerform.Password.value == "" &#41;
      ||  &#40; &#40; document.registerform.Gender&#91;0&#93;.checked == false &#41; && &#40; document.registerform.Gender&#91;1&#93;.checked == false &#41; &#41;
      ||  &#40;validate_email&#40;Email,"Not a valid e-mail address!"&#41;==false&#41; ||  &#40; document.registerform.UserName.value == "" &#41;
      ||  &#40; document.registerform.Surname.value == "" &#41; || &#40; document.registerform.Birthdate.value == "" &#41;
       ||  &#40; document.registerform.Nationality.selectedIndex == "0" &#41; ||  &#40;validate_pinak&#40;Pinakides,"The Right way is &#58; aaa1234 !"&#41;==false&#41;&#41;

      &#123;
         valid = false;
         alert &#40;"Λάθος κατά την πληκτρολόγηση !" &#41;
        &#125;
   &#125;
return valid;
 &#125; 

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

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από fafos » 17 Φεβ 2010 16:14

gia koita auto pou exeis sto action: <?php echo $_SERVER['PHP_SELF']; ?>

ti sou gyrna? einai sosto h se paei kata kalamata meria?

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από loxy » 17 Φεβ 2010 19:03

@korgr Δεν ξερω... Θα επρεπε; :oops:

Και αν ναι , με ποιο τροπο θα μπορουσα να συνεχισω στο Validation της php ,μονο αν ειναι σωστο το validation της Javascript .
Ζηταω πολλα ; :lol:

@fafos Ναι ,ειναι σωστο . Επιστρεφει ολα τα πεδια που εχουν συμπληρωθει λαθος απο το χρηστη ή εμφανιζει μηνυμα "Success!"

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

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από fafos » 17 Φεβ 2010 19:17

loxy έγραψε:@korgr Δεν ξερω... Θα επρεπε; :oops:

Και αν ναι , με ποιο τροπο θα μπορουσα να συνεχισω στο Validation της php ,μονο αν ειναι σωστο το validation της Javascript .
Ζηταω πολλα ; :lol:

@fafos Ναι ,ειναι σωστο . Επιστρεφει ολα τα πεδια που εχουν συμπληρωθει λαθος απο το χρηστη ή εμφανιζει μηνυμα "Success!"
emena h forma mou douleuei kanonika me thn monh diafora oti exo gia action=""

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από loxy » 17 Φεβ 2010 19:44

To δοκιμασα και αυτο αλλα ...τζιφος .

nbc
Honorary Member
Δημοσιεύσεις: 526
Εγγραφή: 05 Σεπ 2009 20:12
Επικοινωνία:

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από nbc » 17 Φεβ 2010 19:50

Τα παλιά τα χρόνια, προ ajax εποχής, το js validation είχε νόημα για τους εξής λόγους:

- οι φόρμες ήταν απλούστερες, το ίδιο και τα rules
- το roundtrip στον server ήταν "ακριβό"
- η επικοινωνία με τον χρήστη απαιτούσε αλλαγή σελίδας (user unfriendly)

Σήμερα, δεν βλέπω το λόγο ύπαρξης jsv. Με roundtrip της τάξης των ~120ms, και κατάλληλη χρήση ajax ο χρήστης ούτε και καταλαβαίνει αν του απαντάει η js ή ο server. Και άλλο πράγμα το ξερό alert, άλλο ένα ωραίο css dialog box.

Επιπροσθέτως, απαλασσόμαστε από τη συντήρηση / συγχρονισμό των δύο set του κώδικα επαλήθευσης, μειώνουμε τα bugs, αυξάνουμε την παραγωγικότητα, απλουστεύουμε τη ζωή μας. Ούτως ή άλλως, η js δεν είναι σε θέση να ελέγξει πλήθος πεδίων όπως duplicates, κωδικούς, captcha, κλπ.

Απλά, η γνώμη μου :D

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από loxy » 17 Φεβ 2010 20:20

Να εισαι καλα για τη βοηθεια και τις προτασεις σου ,τις οποιες τις κραταω. χεχεχε
Αυτες ομως ειναι οι απο τις πρωτες μου αποπειρες με τη js ,προσπαθω να δοκιμασω καποια πραγματα και θελω να εστιασω σε αυτο.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από korgr » 17 Φεβ 2010 21:59

Δεν ειπες τελικα...
Με την function οπως στην εδωσα τι αποτελεσμα ειχες?

Άβαταρ μέλους
loxy
Δημοσιεύσεις: 208
Εγγραφή: 17 Ιούλ 2007 01:18

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από loxy » 18 Φεβ 2010 00:59

Σορρυ, παρασυρθηκα... :D

Οντως αυτο ητανε .Επρεπε να επιστρεφει τη τιμη "valid". :D

Βεβαια, το συγκεκριμενο validation εχει να κανει μονο με κενα πεδια .Αρα,απο δω και περα θα συνεχισω και με τις υπολοιπες συνθηκες που χρειαζονται...

Η validate_pinak() δεν φαινεται να λειτουργει , αλλα θα τη βρω την ακρη.

Άβαταρ μέλους
vcore
Δημοσιεύσεις: 354
Εγγραφή: 20 Δεκ 2003 01:19
Τοποθεσία: Crete
Επικοινωνία:

Validation πρωτα με JS και μετα με PHP

Δημοσίευση από vcore » 18 Φεβ 2010 09:10

Just for the reference τις προάλλες έψαχνα κάτι παρόμοιο και έπεσα σε αυτό εδώ:

http://www.position-absolute.com/articl ... is-a-mess/

Fully customizable :)
Easy CMS
------------
Το να ζητάς βοήθεια δεν σημαίνει ότι είσαι εξαρτημένος.

Απάντηση

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

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

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