verification links...λογική;

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

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

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 13 Νοέμ 2013 13:24

Μιλάς για τη στιγμή της αίτησης.
Εκεί προφανώς τα ξέρεις όλα, γι αυτό και τα καταχωρείς στον πίνακα, και στέλνεις το mail.

Εγώ νόμιζα ότι μιλάς για τη στιγμή που ο χρήστης κάνει κλικ στο link και "προσγειώνεται" στη σελίδα που θα κάνει το verification.
Εκεί ξέρεις μόνο το nonce, και βάσει αυτού βρίσκεις τα υπόλοιπα από τον πίνακα αιτήσεων.

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 13 Νοέμ 2013 14:41

geomagas έγραψε: Εγώ νόμιζα ότι μιλάς για τη στιγμή που ο χρήστης κάνει κλικ στο link και "προσγειώνεται" στη σελίδα που θα κάνει το verification.
Εκεί ξέρεις μόνο το nonce, και βάσει αυτού βρίσκεις τα υπόλοιπα από τον πίνακα αιτήσεων.
Για αυτή την στιγμή μιλάω. Για να κάνει κλικ στο link ο χρήστης θα πρέπει να έχει πάει το verification e-mail στο ΚΑΙΝΟΥΡΓΙΟ e-mail που έχει δηλώσει.

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 13 Νοέμ 2013 15:11

Προφανώς.

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 13 Νοέμ 2013 20:42

oπότε επανέρχομαι στο ερώτημα.
Τώρα, βρίσκώ το nonce στον πίνακα με βάση το nonce που παίρνω μέσω GET...δηλαδή:

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

function get_nonce($connection,$nonce)
{
      $connection->set_charset("utf8");
      $result = $connection->query('select nonce from email_change
                          where nonce="'.$nonce.'"');
      if (!$result){echo 'προέκυψε πρόβλημα....';
         return false;
       } 
elseif($result->num_rows>0)
{
//εδώ θα  μπει η function που θα μεταφέρει το καινούργιο e-mail του χρήστη από τον προσωρινό πίνακα στον users πινακα όπου κρατούνται το email(τα μόνιμα-έχει προηγηθεί η επιβεβαίωση δηλαδη)
         
       }
     
      
}
Ειναι OK το παραπάνω; Δεν νομίζω οτι χρειάζεται το e-mail εδώ.

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 14 Νοέμ 2013 01:44

Ναι αλλά γιατί μόνο select nonce;
Μετά θα κάνεις κι άλλο select για τα υπόλοιπα;

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 14 Νοέμ 2013 12:43

geomagas έγραψε:Ναι αλλά γιατί μόνο select nonce;
Μετά θα κάνεις κι άλλο select για τα υπόλοιπα;
Για να γίνει η συγριση με το nonce της βάσης, πρέπει να επιλέξω μόνο αυτό, αρκεί νομίζω.
Τα υπόλοιπα(user_ID, email) τα κάνω select στην function που θα καταστήσει το καινούργιο email μονιμο πια.

Εκτός και αν έχεις να προτείνεις κάτι άλλο.

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 14 Νοέμ 2013 12:54

Δεν είναι λάθος.

Απλά έτσι κάνεις 2 select στον ίδιο πίνακα, με τα ίδια κριτήρια, άδικα.
Γιατί δεν κάνεις μόνο ένα και να περάσεις ότι θέλεις (πχ user και email) σαν παραμέτρους στην function σου;

Αν το κάνεις στην πράξη, θα καταλάβεις τον πλεονασμό.

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 14 Νοέμ 2013 13:06

geomagas έγραψε:Δεν είναι λάθος.

Απλά έτσι κάνεις 2 select στον ίδιο πίνακα, με τα ίδια κριτήρια, άδικα.
Γιατί δεν κάνεις μόνο ένα και να περάσεις ότι θέλεις (πχ user και email) σαν παραμέτρους στην function σου;

Αν το κάνεις στην πράξη, θα καταλάβεις τον πλεονασμό.
Εχεις...πολύ δίκιο, και πάλι ευχαριστώ για την βοήθεια.

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 14 Νοέμ 2013 18:35

ας επιστρέψουμε τώρα σε κάτι που ετέθη πιο πριν, είναι η ώρα του.

Πριν απο αυτό όμως έχω να κάνω εξής την ερώτηση:
Φαντάζομαι ότι με το που ανανεώνεται το email, αυτό θα πρέπει να περάσει στο session variable, καθώς αυτό είναι που χρησιμοποιώ για τα sessions.
Σωστό;

Η επόμενη ερώτηση αφορά το παρακάτω statement το οποίο ψάχνει της μη ληγμένες αιτήσεις

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

select * fom email_change where now&#40;&#41;-interval 1 day<insert_time
To μόνο interval που βρήκα στο MySQL manual είναι το INTERVAL().Σε αυτό αναφέρεται
το παραπάνω stetement και απλώς το γράφει έτσι ο φίλος για λόγους συντομίας;

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 15 Νοέμ 2013 06:32

Δες εδώ.

Ειδικότερα, εκεί που λέει:
Date arithmetic also can be performed using INTERVAL together with the + or - operator

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 15 Νοέμ 2013 17:41

geomagas έγραψε:Δες εδώ.

Ειδικότερα, εκεί που λέει:
Date arithmetic also can be performed using INTERVAL together with the + or - operator
Ok κατανοητόν,στην θέση του insert_time όμως τι θα βάλω;
Μπερδεύομαι εδώ.
Εννοώ αυτό:

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

-interval 1 day<insert_time 

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 15 Νοέμ 2013 19:46

Το όνομα του πεδίου που κρατάς την ημερομηνία/ώρα εισαγωγής της αίτησης.

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 18 Νοέμ 2013 13:51

geomagas έγραψε:Το όνομα του πεδίου που κρατάς την ημερομηνία/ώρα εισαγωγής της αίτησης.
To query δουλεύει...πάμε παρακάτω.
¨Οπως το βλέπω εδωπέρα υπάρχουν 2 σενάρια.
Ο χρήστης(εντός 24ωρών, ή άλλου χρ. διαστήματος...)ξανα κλικάρει το link.Σε αυτήν την περίπτωση θα βγαίνει μήνυμα ότι έχει ήδη γίνει επιβεβαίωση.

Αυτό που χρειάζεται εδώ νομίζω είναι ένα επιπλέον column που θα λέει αν έχει γινει verification ή όχι.
Είναι σωστή η σκέψη μου αυτή;Τι column θα είναι αυτό,boolean;

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

verification links...λογική;

Δημοσίευση από geomagas » 18 Νοέμ 2013 15:20

Κρατάς κάπου την ημερομηνία/ώρα του κλικ;
Εννοώ σε άλλη στήλη, που την ενημερώνεις όταν γίνεται το κλικ.

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

verification links...λογική;

Δημοσίευση από Serghio » 18 Νοέμ 2013 15:41

geomagas έγραψε:Κρατάς κάπου την ημερομηνία/ώρα του κλικ;
Εννοώ σε άλλη στήλη, που την ενημερώνεις όταν γίνεται το κλικ.
Oxι δεν την κρατάω.Γιατί να χρειάζεται νε το κάνω αυτό;
Απλώς υπενθυμίζω οτι εδώ εξετάζουμε την περίπτωση που κάνει κλικ ο χρήστης εντός του προβλεπόμενου χρ.διαστήματος.
Το να κάνει κλικ στο link αφού έχει περάσει το 24ωρο και η αίτηση θωρηθεί ληγμένη είναι άλλος κώδικας που θα το εξετάσουμε παρακάτω.

Τώρα εξετάζουμε τι κώδικα(PHP/sql) πρέπει να γράψουμε σε περίπτωση που κάνει κλικ πάνω από μια φορά(εντός του 24ωρου)-έχει ήδη γινει το verification δηλαδή.

Το να κρατάω την ώρα που γίνεται το κλικ πως θα βοηθήσει στο παραπάνω;
Νομίζω οτι απλώς χρειαζόμαστε ενα verification_status column

Απάντηση

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

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

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