[Solved]Έλεγχος εάν είναι ίδιο

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

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

Απάντηση
mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από mariosal » 26 Μάιος 2009 05:07

Γεια σας,

Έχω φτιάξει μία contact form στην οποία θέλω να ελέγχω τον παραλήπτη, δηλαδή.

Το e-mail του παραλήπτη αποθηκεύεται στο $_POST['to']. Θέλω με κάποιον τρόπο να ελέγχω εάν το to είναι το e-mail example@example.com ακόμα και να είναι eXample@example.com με μία if. Έχω δοκιμάσει αυτό:

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

if(preg_match('/^example@example.com$/', $_POST['to']))
echo 'Το e-mail του παραλήπτη είναι το example@example.com';
else
echo 'Το e-mail του παραλήπτη δεν είναι το example@example.com';
Αλλά δε φαίνεται να λειτουργεί. Καμιά ιδέα πώς θα μπορούσα να κάνω αυτό που ζητάω;
Τελευταία επεξεργασία από το μέλος mariosal την 26 Μάιος 2009 22:41, έχει επεξεργασθεί 2 φορές συνολικά.

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

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από fafos » 26 Μάιος 2009 05:31

http://gr.php.net/strtolower

pernas to post kai to email me thn strtolower kai meta kaneis thn sygkrish..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από mariosal » 26 Μάιος 2009 05:39

Ευχαριστώ πολύ. Για οποιονδήποτε ενδιαφερόμενο πώς γίνεται, να κώδικας :)

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

if(preg_match('/^example@example.com$/', strtolower($_POST['to'])))
//if = true
else
//if = false

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από Banavas » 26 Μάιος 2009 09:17

Σας παραθέτω το παράδειγμα από το manual της PHP. Η προσθήκη ενός i στον αρχικό κώδικα αρκούσε για να μετατρέψει τον έλεγχο σε case-insensitive. 8)

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

<?php
// The "i" after the pattern delimiter indicates a case-insensitive search
if &#40;preg_match&#40;"/php/i", "PHP is the web scripting language of choice."&#41;&#41; &#123;
    echo "A match was found.";
&#125; else &#123;
    echo "A match was not found.";
&#125;
?> 
Happy coding....
Μάρκος
http://lasernet.gr

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από mariosal » 26 Μάιος 2009 13:43

Δουλεύει και αυτό και λογικά είναι ταχύτερο. Επίσης έβγαλα το ^ και το $ από τον κώδικα. Τώρα είναι:

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

if&#40;preg_match&#40;'/example@example.com/i', $_POST&#91;'to'&#93;&#41;&#41;

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από ThyClub » 26 Μάιος 2009 13:48

Αν στο to βάλει example@example.com,other@example.com?

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από mariosal » 26 Μάιος 2009 13:59

Edited

@Συγγνώμη αλλά δεν είχα καταλάβει την ερώτηση σου. Ναι δουλεύει και με πολλαπλούς παραλήπτες :)

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από ThyClub » 26 Μάιος 2009 15:14

Η χαρά του σπάμερ δλδ?

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από mariosal » 26 Μάιος 2009 15:29

Άνετα. Όχι όμως ότι αυτό κάνω. Δεν ξέρεις όλο τον κώδικα μου. :)

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

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από fafos » 26 Μάιος 2009 16:15

prepei na doulepseis me thn preg_match ypoxreotika? to clasic == den douleuei?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από ThyClub » 26 Μάιος 2009 16:15

Γι αυτό ρωτάω Μάριε. Αν τον ήξερα ποιός ο λόγος να ρωτάω? ;)

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από mariosal » 26 Μάιος 2009 16:19

Εγώ θέλω να ελέγχω ακόμα και να γράψει eXaMple@example.com. Με το == ελέγχω μόνο ένα συγκεκριμένο, ενώ με το preg_math() ελέγχω όλες τις μετατροπές όπως Example@example.com

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από ThyClub » 26 Μάιος 2009 18:28

Μα αν κάνεις strtolower τότε δεν υπάρχει πρόβλημα.

Πχ έχεις το :
ExAmPlE@example.COM
με το strtolower θα έχεις :
example@example.com

άρα

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

if&#40;strtolower&#40;$_POST&#91;'to'&#93;&#41;=="example@example.com"&#41;&#123;
 ...
&#125;else&#123;
...
&#125;

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από mariosal » 26 Μάιος 2009 20:09

Ποιο είναι πιο γρήγορο;

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

[Solved]Έλεγχος εάν είναι ίδιο

Δημοσίευση από mariosal » 26 Μάιος 2009 21:07

Βασικά δε μου κάνει το απλό == καθώς εγώ θέλω να ελέγχω ολόκληρο το to ακόμα και εάν κάποιος βάλει πολλαπλές διευθύνσεις

Απάντηση

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

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

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