eregi παράδειγμα

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

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

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

eregi παράδειγμα

Δημοσίευση από abeautifulmind » 01 Μαρ 2011 00:58

Καλησπέρα παιδιά.
Έφτιαχνα μία φόρμα εγγραφής και θέλω να βάλω ελέγχους πεδίων με php.
Βρήκα αυτό για να τσεκάρει αν έχεις γράψει email

if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST['email']))

και δουλεύει

και αυτό

if(!(ctype_alpha($_POST['firstname'])))

που ελέγχει αν το πεδίο έχει μόνο γράμματα (αλλά μόνο λατινικά)

μπορεί κανίς να μου πεί με την eregi να φτιάξω έναν έλεγχο αλλά για ελλήνικά και λατινικά αντί της ctype_alpha π.χ. κάπως έτσι?
if (!eregi("^[_a-zA-Z-]+[_α-ωΑ-Ω-]$", $_POST['email']))
γιατί δεν μου δουλεύει.

και για έλεγχο σε πεδίο ημερομηνίας να έχει μόνο format 1εως12(μήνας)/01-31(μέρα)/1930-2050(χρόνος) δηλαδή π.χ. 5/24/1986 με την eregi πάλι?

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

eregi παράδειγμα

Δημοσίευση από abeautifulmind » 01 Μαρ 2011 01:20

Επίσεις επείδή μετά τους ελέγχους κάνει ανανέωση η σελίδα και σβήνονται όλα τα πεδία που έχεις συμπληρώσει αν έκανες κάπου λάθος υπάρχει τρόπος με php να μην σβήνονται τα πεδία που έχεις γράψει αν κάνεις λάθος?

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

eregi παράδειγμα

Δημοσίευση από fafos » 01 Μαρ 2011 03:36

tama exeis kanei sthn eregi? auth pethane meta thn PHP 5.3.. den xrhsimopoieitai pia.. doulepse me thn preg_match..

deigmata:

tsekarei gia ellhnikous kai agglikous xarakthres- den epitrepei ta kena (an thes keno kaneis to S pezo (s)

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

$userName = 'φαφοςflouflhs';
if (preg_match("/^[\p{L}\S_a-zA-Z-]+$/", $userName)) {
echo 'user name is OK';
} else {
echo 'user name is WRONG';
}
tsekatrei hmeromhnia morfhs mhnas/hmera/etos
monopshfies hmeres kai mhnes prepei na exoun to 0 (mhden) mprosta
koitaei ta eth 1900 eos 2099

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

$date = '01/31/1900';
if (preg_match("((0[1-9]|1[012])[/](0[1-9]|[12][0-9]|3[01])[/](19|20)\d\d)" , $date)) {
echo 'date is OK';
} else {
echo 'date is WRONG';
}
gia na mhn xaneis ta values prepei na typoneis to POST h to GET sto analogo value tou pediou:

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

<input size="20" type="text" name="title" value="<? echo $_POST&#91;title&#93;;?>">
auto douleuei otan h forma exei action thn idia selida... an exei allh selida san action prepei na doulepseis me SESSIONS
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

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

eregi παράδειγμα

Δημοσίευση από abeautifulmind » 01 Μαρ 2011 14:52

φάφο καλημέρα γι άλλη μία φορά σε ευχαριστώ για τον χρόνο σου και προπαντώς για τις γνώσεις σου(στο ψάρεμα δεν ξέρω :))
Η ημερομηνία μου δούλεψε αλλά επειδή στα πεδία έχω βάλει if
και μετά κάθε πεδίο else if θέλω να ελέγχει αν είναι διάφορο όχι ίσο
δηλαδή έχω

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

if&#40;$_POST&#91;'firstname'&#93;==""&#41;&#123;
  header&#40;"location&#58;eg.php?r=4"&#41;;&#125;
  
		else if &#40;!&#40;preg_match&#40;"/^&#91;\p&#123;L&#125;\S_a-zA-Z-&#93;+$/", $_POST&#91;'firstname'&#93;&#41;&#41;&#41;&#123;
		header&#40;"location&#58;eg.php?r=11"&#41;;&#125;
	 
		else if&#40;$_POST&#91;'lastname'&#93;==""&#41;&#123;
		header&#40;"location&#58;eg.php?r=5"&#41;;&#125;
		
		else if&#40;!&#40;preg_match&#40;"/^&#91;\p&#123;L&#125;\S_a-zA-Z-&#93;+$/", $_POST&#91;'lastname'&#93;&#41;&#41;&#41;&#123;
		header&#40;"location&#58;eg.php?r=12"&#41;;&#125;
		
		else if &#40;!&#40;preg_match&#40;"&#40;&#40;0&#91;1-9&#93;|1&#91;012&#93;&#41;&#91;/&#93;&#40;0&#91;1-9&#93;|&#91;12&#93;&#91;0-9&#93;|3&#91;01&#93;&#41;&#91;/&#93;&#40;19|20&#41;\d\d&#41;" , $_POST&#91;'datepicker'&#93;&#41;&#41;&#41;&#123;
		header&#40;"location&#58;eg.php?r=6"&#41;;&#125;
else&#123;
//kane kati
&#125;
To firstname και lastname δεν μου δουλέψανε έτσι όπως τα έγραψα με (! ότι και να βάλω στα πεδία δηλαδή από !@# μέχρι και 989855 περνάει τον έλεγχο καμία ιδέα?

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

eregi παράδειγμα

Δημοσίευση από abeautifulmind » 01 Μαρ 2011 15:28

έτσι μου δούλεψε για γράμματα μόνο λατινικά όμως για να επιτρέπει και ελληνικά καμία ιδέα?

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

if &#40;!preg_match&#40;"/^&#91;a-z&#93;+$/i", $_POST&#91;'firstname'&#93;&#41;&#41;
Το οποίο φαφο δεν αφήνει και κενά.
Δεν ξέρω γιατί αλλά αφού με βόλεψε δεν βαριέσαι.

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

eregi παράδειγμα

Δημοσίευση από abeautifulmind » 01 Μαρ 2011 15:50

Εν τω μεταξύ αν γράψω

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

if &#40;!preg_match&#40;"/^&#91;α-ω&#93;+$/i", $_POST&#91;'firstname'&#93;&#41;&#41;
επιτρέπει μόνο ελληνικά 
αν βάλω
if &#40;!preg_match&#40;"/^&#91;a-z&#93;+$/i", $_POST&#91;'firstname'&#93;&#41;&#41;
επιτρέπει μόνο λατινικά
αν γράψω
if (!preg_match("/^[α-ωa-z]+$/i", $_POST['firstname']))
δεν δουλέυει
γνωρίζει κανείς πως να γράψω να επιτρέπει α-ω ή a-z?
ούτε αυτό δούλεψε
if (!preg_match("/^[α-ω] || [a-z]+$/i", $_POST['firstname']))

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

eregi παράδειγμα

Δημοσίευση από fafos » 01 Μαρ 2011 16:02

exeis lathos skepseis gia to validation.. otan mpo san xrhsths den thelo na trexo 100 fores thn forma gia na vrisko ena pros ena ta lathi mou.. thelo me thn mia apostolh na mou leei OLA ta lathi pou exo sthn forma... to an xrhsimopoihseis mia etoimh function (p.x. preg_match) ths php h an feiaxeis mia dikh sou den exei kammia diafora...

1. feiaxe dikes sou functions me tous xarakthres kai ta format pou theleis na pairnane...

2. feiaxe tis synthikes omadika.. p.x.:

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

if &#40;trim&#40;$_POST&#91;'name'&#93;&#41; == ''&#41; &#123;
	$error&#91;&#93; = '<img src="images/sign-alert.png" width="16" height="16" border="0"> <font color="#cc0000">Πρέπει να γράψετε κάποιο Ονομα<font>';
&#125;
if &#40;trim&#40;$_POST&#91;'email'&#93;&#41; == ''&#41; &#123;
	$error&#91;&#93; = '<img src="images/sign-alert.png" width="16" height="16" border="0"> <font color="#cc0000">Πρέπει να γράψετε ένα E-mail<font>';
&#125; elseif &#40;!check_email_address&#40;$_POST&#91;'email'&#93;&#41;&#41; 
&#123;
	$error&#91;&#93; = '<img src="images/sign-alert.png" width="16" height="16" border="0"> <font color="#cc0000">Το E-mail που γράψατε δεν είναι σωστό<font>';
&#125; 

if &#40;trim&#40;$_POST&#91;'message'&#93;&#41; == ''&#41; &#123;
	$error&#91;&#93; = '<img src="images/sign-alert.png" width="16" height="16" border="0"> <font color="#cc0000">Παρακαλώ γράψτε το μήνυμα ή τα σχόλιά σας<font>';
&#125;


if &#40;$error&#41; &#123;
///typose OLA ta lathi ths formas
	echo '<font color="#cc0000"><b>Λάθος!!</b>&#58;<font> <br />'.implode&#40;'<br />', $error&#41;;
&#125; else &#123;

////// edo steile ta stoixeia kai dose mhnyma epityxous eggrafhs ////

&#125;

Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

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

eregi παράδειγμα

Δημοσίευση από abeautifulmind » 01 Μαρ 2011 16:35

Σωστός ο φαφος .
Αλλά τώρα το έχω φτιάξει και εξάλου δεν ξέρω τι έιναι και το .implode

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

eregi παράδειγμα

Δημοσίευση από abeautifulmind » 01 Μαρ 2011 16:52

αυτά είναι σωστά?
γράφω στο αρχείο php με τους ελέγχους

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

session_start&#40;&#41;;

$firstname=$_POST&#91;'firstname'&#93;; 
$_SESSION&#91;'firstname'&#93; = $firstname;
και στο php αρχειο με την φόρμα

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

session_start&#40;&#41;; 
$onoma&#91;'firstname'&#93;="$_SESSION&#91;firstname&#93;";
<td width="126" ><input name="firstname" type="text" id="firstname" size="15" style="width&#58; 120px; " value=" <?php 
				  print"$onoma&#91;'firstname'&#93;"; ?>"> 
αλλά μου βγάζει
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\eg.php on line 80

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

eregi παράδειγμα

Δημοσίευση από fafos » 01 Μαρ 2011 22:37

otan fonazo na arxizete to mathima apo to A me lete kako... des ti prospatheis na typoseis (ta dipla quotes)..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

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

eregi παράδειγμα

Δημοσίευση από abeautifulmind » 02 Μαρ 2011 13:56

το βρήκα :D έχεις δίκιο fafo εγώ ξεκίνησα από β πήγα κ μετά ε μετά ω και τώρα α ότι να ναι αλλά προσπαθώ ξέρω ότι πολλές φορές φαίνομαι μαλ....ας αλλά η αυτογνωσία μετράει :D .

translatum
Δημοσιεύσεις: 24
Εγγραφή: 21 Μαρ 2003 17:33
Επικοινωνία:

eregi παράδειγμα

Δημοσίευση από translatum » 02 Μαρ 2011 16:17

Χρήσιμες οδηγίες για μετατροπή της eregi σε συμβατή με php 5.3 εντολή (αχρείαστες να 'ναι αλλά ταλαιπωρήθηκε πολύς κόσμος με προβλήματα συμβατότητας). Ιδιαίτερη προσοχή στους χαρακτήρες διαφυγής και οριοθέτησης.

http://devthought.com/2009/06/09/fix-er ... -in-php-53
http://www.translatum.gr/forum/index.php?topic=123457.0
http://takien.com/513/how-to-fix-functi ... -5-3-0.php

Απάντηση

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

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

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