αποτροπη του χρηστη απο λανθασμενη εισαγωγη τιμων

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

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

Απάντηση
aristidis_85
Δημοσιεύσεις: 58
Εγγραφή: 18 Μαρ 2009 19:14

αποτροπη του χρηστη απο λανθασμενη εισαγωγη τιμων

Δημοσίευση από aristidis_85 » 03 Απρ 2009 02:48

παιδια, θελω να μην μπορει ο χρηστης καταλαθος να εισαγει λαθος τιμες. για παραδειγμα:

1)να μην φευγει κενο πεδιο κειμενου - για ολα τα πεδια
2)να μην περιεχει αριθμους - για το ονομα του πελατη
3)να περιεχει μονο αριθμους - για το κινητο του
4)να περιεχει μονο κεφαλαια - για την πινακιδα
5)σχετικος ελενχος mail - να εχει δλδ . ή @ στο string που θα σταλει

για να αποτρεψω κιολάς να εισαχθουν στη βαση "σκουπιδια".

ζηταω τα βασικα για αρχη, ωστε με βαση αυτα να προχωρησω σε πιο "σοβαρους" ελενχους, πχ αν το κινητο δεν αρχιζει με 69 βγαλε σφαλμα ή στην πινακιδα επιτρεπονται μονο ελληνικοι χαρακτηρες που ταιριαζουν με τους λατινικους - οχι το Ξ,Ω,Φ και δεξια απο την παυλα να εχει μονο αριθμους (ΚΝΕ-4231)

ευχαριστω για τις ιδεες.
καλο βραδυ.

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

αποτροπη του χρηστη απο λανθασμενη εισαγωγη τιμων

Δημοσίευση από fafos » 03 Απρ 2009 03:17

Sxedon ola ta kaneis validate me thn ereg()
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

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

αποτροπη του χρηστη απο λανθασμενη εισαγωγη τιμων

Δημοσίευση από Apostolis_38 » 03 Απρ 2009 11:58

Αλλοι τρόποι, σε περίπτωση που σου χρειαστούν κάποια στιγμή:

1)

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

if (empty ($_POST["πεδίο"]) )
{
echo "Κάτι ξέχασες";
exit;
}
2)

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

if (!ctype_alpha ($_POST['πεδίο']) )
{
echo "Οχι αριθμοί";
exit;
}
Πρέπει να βάλεις και setlocale για τα Ελληνικά.

3)

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

if &#40;!is_numeric &#40;$_POST&#91;'τηλέφωνο'&#93;&#41; | strlen &#40;$_POST&#91;'τηλέφωνο'&#93;&#41; <> 10 &#41;
&#123;
echo "Οχι γράμματα και λιγότερα/περισσότερα απο 10 ψηφία";
exit;
&#125;
4)

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

 strtoupper&#40;$_POST&#91;'πινακίδα'&#93;&#41;
5)

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

$mail = trim &#40;$_POST&#91;'mail'&#93;&#41;;
$parts = explode&#40;"@", $mail&#41;;
$mailhost = $parts&#91;1&#93;;

if &#40;!getmxrr &#40;$mailhost, $mxhostsarr&#41; &#41;
&#123;
echo ".....";
exit;
&#125;
Βασικά αυτό είναι για mail validation αλλά σου κάνει.

aristidis_85
Δημοσιεύσεις: 58
Εγγραφή: 18 Μαρ 2009 19:14

αποτροπη του χρηστη απο λανθασμενη εισαγωγη τιμων

Δημοσίευση από aristidis_85 » 03 Απρ 2009 14:36

ευχαριστω παρα πολυ!

αποτι καταλαβα το setlocale ειναι μια ολοκληρη ιστορια(πονεμενη), γιαυτο για τα κεφαλαια θα αφησω την mysql να τα βγαλει περα (UCASE( 'τεστ' ))
ομως βλεπω οτι και το ctype_alpha εχει το ιδιο προβλημα και το θεμα ειναι οτι δεν εχω προσβαση στον server των πτυχιακων για να δω πως συντασσεται η εντολη setlocale(LC_ALL, 'διαφορες παραλλαγες');
τι να κανω για να τα ελενξω επιτυχως?

τωρα κοιταω και την ereg
http://gr2.php.net/ereg

aristidis_85
Δημοσιεύσεις: 58
Εγγραφή: 18 Μαρ 2009 19:14

αποτροπη του χρηστη απο λανθασμενη εισαγωγη τιμων

Δημοσίευση από aristidis_85 » 03 Απρ 2009 15:00

προσπαθω να καταλαβω πως συντασσεται μεσα απο απλα παραδειγματα:

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

<?php
// Example 1$text = "onlytextcharacters";
if &#40;ereg&#40;'&#91;^A-Za-z&#93;', $text&#41;&#41; 
&#123;  
echo "This contains characters other than just letters";
&#125;
εαν ηθελα εγω να κανω κατι τετοιο μονο για τα ελληνικα θα επιανε αν εκανα

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

ereg&#40;'&#91;^Α-Ωα-ω&#93;'
??
και με τα τονισμενα γραμματα τι γινεται?

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

αποτροπη του χρηστη απο λανθασμενη εισαγωγη τιμων

Δημοσίευση από Apostolis_38 » 03 Απρ 2009 16:45

- Για την setlocale πρέπει να δείς (με phpinfo) τι ρύθμιση έχει ο server.
Αν θυμάμαι καλά είναι τα HTTP_ACCEPT_LANGUAGE (έχει δυο-τρία) και αναλόγως να βάλεις την αντίστοιχη παράμετρο.

- Την ereg κι εγώ δεν την ξέρω καλά, γι αυτό σου πρότεινα τούς άλλους τρόπους.
Είναι λίγο μυστήρια.
Φαντάζομαι πως θα πρέπει να πιάσεις όλους τους δυνατούς συνδυασμούς.
Τα παιδιά εδω μέσα έχουν δώσει αρκετά παραδείγματα, ειδικά για θέματα e-mail.
Κάνε μια αναζήτηση.

- Τονισμένα γράμματα;
Πως γίνεται να καταχωρήσεις τονισμένα γράμματα;

aristidis_85
Δημοσιεύσεις: 58
Εγγραφή: 18 Μαρ 2009 19:14

αποτροπη του χρηστη απο λανθασμενη εισαγωγη τιμων

Δημοσίευση από aristidis_85 » 03 Απρ 2009 18:18

ευχαριστω αποστολη, θα τρεξω τωρα μια php info να δω.
Apostolis_38 έγραψε:
Τονισμένα γράμματα;
Πως γίνεται να καταχωρήσεις τονισμένα γράμματα;
δικιο εχεις που παρανοησες, ετσι πως το εθεσα!

ενοω, γραμματα με τονο πχ, ά ώ ή Ά Έ και οχι με εντονη γραφη :)

aristidis_85
Δημοσιεύσεις: 58
Εγγραφή: 18 Μαρ 2009 19:14

αποτροπη του χρηστη απο λανθασμενη εισαγωγη τιμων

Δημοσίευση από aristidis_85 » 03 Απρ 2009 19:49

αυτα δινει ο server της σχολης, θα δοκιμασω το utf-8


HTTP_ACCEPT_LANGUAGE en-US,en;q=0.9
HTTP_ACCEPT_CHARSET iso-8859-1, utf-8, utf-16, *;q=0.1
HTTP_ACCEPT_ENCODING deflate, gzip, x-gzip, identity, *;q=0

aristidis_85
Δημοσιεύσεις: 58
Εγγραφή: 18 Μαρ 2009 19:14

αποτροπη του χρηστη απο λανθασμενη εισαγωγη τιμων

Δημοσίευση από aristidis_85 » 04 Απρ 2009 23:00

ρε παιδια, μπορει καποος να μου εξηγησει γιατι οταν γραφω :

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

<?php
$name = "κ123";
if &#40;ereg&#40;"^&#91; α-ω&#93;", $name&#41;&#41;
 &#123;echo "ok<br />";&#125;
else 
  &#123; echo "NOT ok<br />";&#125; 
?>
περναει??
οτι νουμερο βαλω, αρκει να ειναι απο το δευτερο ψηφιο και μετα θα περασει!
με λιγα λογια, ο ελενχος γινεται μονο στο πρωτο ψηφιο και οχι σε ολα.
σκοπος μου ειναι ενα πεδιο που θα δεχεται μονο ψηφια απο a-z, A-Z, α-ω, Α-ω και να δεχεται και κενα, σε περιπτωση που θελει καποιος να δωσει το ονοματεπωνυμο του.
οτι δηποτε αλλο να κοβεται (αντε και καμμια αποστροφο σε περιπτωση ξενου ονοματος ')).
ευχαριστω!

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

αποτροπη του χρηστη απο λανθασμενη εισαγωγη τιμων

Δημοσίευση από Apostolis_38 » 06 Απρ 2009 13:03

- To ^ μπαίνει για τους αρχικούς χαρακτήρες. Για τους επόμενους πρέπει να ξαναβάλεις [Α-Ω,α-ω]. Ψάξε στο forum για θέματα που αφορούν e-mail για τη σωστή σύνταξη.

- Για τα γράμματα με τόνο, φαντάζομαι οτι θα πρέπει να τα δηλώσεις κι αυτά στην ereg. Δεν ορκίζομαι αλλά μου φαίνεται το πιο λογικό.

- Για την locale σε ενδιαφέρει το HTTP_ACCEPT_LANGUAGE.

Απάντηση

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

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

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