Προς το περιεχόμενο

User management Login/Register/Records PHP&MYSQL


Katman21

Προτεινόμενες αναρτήσεις

Καλησπέρα σας,

Αναζητώ ένα php script το οποιο να κάνει σύνδεση και εγγραφη ο χρηστης και να του δίνω μια φόρμα καταχώρησης και την λίστα με την οποια θα έχει καταχωρήσει αυτός και να μην έχει και των άλλων χρηστών της καταχωρήσεις!

 

Έχω φτιάξει των κώδικα όσο αφορά την σύνδεση και την εγγραφη του χρηστη αλλα δεν μου βγαίνει η σύνθεση του κάθε χρηστη στην καταχώρηση του, έχω αναζήτηση όλο το google και δεν βρίσκω τίποτα τα ματια μου τα έχουν παίξει εδώ και 4-5 μέρες αν γνωρίζετε κάτι πάνω σε αυτό ή έχετε υπόψιν κάποιο ολοκληρωμένο script μην διστάσετε να το συζητήσουμε..

 

Το script που αναζητώ θέλω να περιέχει αναλυτικά:

  • Login
  • Register
  • Form add
  • List added

Ευχαριστώ!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλημερα

 

εχω ολη τη προθεση να βοηθησω αλλα...

 

 

να κάνει σύνδεση και εγγραφη ο χρηστης και να του δίνω μια φόρμα καταχώρησης και την λίστα με την οποια θα έχει καταχωρήσει αυτός και να μην έχει και των άλλων χρηστών της καταχωρήσεις!

 

 

... ή δεν με εχει πιασει ο καφες ακομα ή η παραπανω προταση δε βγαζει καθολου νοημα.

 

Προσπαθησε να ξαναδιατυπωσεις σαφεστερα το προβλημα σου.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1.O κάθε χρήστης σου πρέπει να έχει ένα μοναδικό "κλειδί" που να τον αναγνωρίζει μοναδικά.Συνήθως αυτά δημιουργούνται αυτόματα από το σύστημα εγγραφής ή από την βάση όταν τον αποθηκεύεις.
 
2.Όταν ένας χρήστης κάνει login αποθηκεύεις κάπου το παραπάνω κλειδί.Μπορείς να το βάλεις στο Session,Querystring,Hidden Field (εδώ πρέπει να διαβάσεις και να δεις ποιος είναι ο καλύτερος τρόπος για εσένα)
 
3.Το επόμενο βήμα είναι να συσχετίσεις τα αποτελέσματα των φορμών καταχώρησεις με αυτό το μοναδικό κλειδί.Ένα επιπλέον πεδίο λοιπόν στην βάση για κάθε εγγραφή που αφορά μια καταχώρηση χρήστη.
 
4.Όταν θέλεις να δείξεις την λίστα με τις καταχωρήσεις ενός συγκεκριμένου χρήστη κάνεις το ακόλουθο select από την βάση

select * from καταχωρησεις_χρηστών_πίνακας 
where πεδίο_μοναδικού_κλειδιού_χρήστη_στον_πίνακα_με_τις_καταχωρήσεις = με το μοναδικό κλειδί χρήστη που είναι συνδεδεμένος εκείνη την στιγμή στο σύστημα.

και η λίστα θα παρουσιάζει πια τις καταχωρήσεις μόνο του συγκεκριμένου χρήστη.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φίλε μου @georgemarios είναι αυτό που λέει ο @nucleus..

 

@nucleus σίγουρα υπάρχει ένα μοναδικό κλειδί για κάθε χρηστη π.χ το UserID!

Ας πούμε λοιπόν ότι παίρνουμε ένα έτοιμο script tutorial για σύνδεση και εγγραφη και προσθέτω τον ακόλουθο κώδικα στο index.php
 

<?php
$select_all="SELECT * FROM add_data";
$select_all_query=mysql_query($select_all) or mysql_error();
$select_all_count=mysql_num_rows($select_all_query) or mysql_error();
$i=0;
while ($select_all_count > $i ) {
    $out_title=mysql_result($select_all_query,$i,"title");
    $out_description=mysql_result($select_all_query,$i,"description");
    $i++;
    echo ("Title: $out_title <br /> Description: $out_description");
    }
?>

Ποια θα είναι η μετατροπή του?
 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

H αλλαγή είναι αυτή

$select_all="SELECT * FROM add_data WHERE UserID = [τιμή του UserID που είναι συνδεδεμένος]";

[τιμή του UserID που είναι συνδεδεμένος] αυτό πχ μπορεί να είναι μια Session μεταβλητή που θα της αναθέτεις τιμή στην Login σελίδα σου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Σίγουρα κάπου θα κάνω λάθος γιατί μου βγάζει ERROR:

Notice: Undefined variable: UserID

και

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given

 

Στα ακόλουθα:

$select_all="SELECT * FROM add_data WHERE UserID = '".$id."'";
$select_all_count=mysql_num_rows($select_all_query) or mysql_error();

Έχω φτιάξει δυο tables:

ο ένας ονομάζεται:

add_data

  • id
  • title
  • description

users

  • UserID
  • Username
  • Password
  • EmailAddress
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πρέπει να προσθέσεις ένα πεδίο στον πίνακα add_data με όνομα και τύπο δεδομένων όπως το UserID από την πίνακα users.Έτσι τελικά θα έχουμε

 

add_data

  • id
  • title
  • description
  • UserID

users

  • UserID
  • Username
  • Password
  • EmailAddress

θα χρειαστεί να αλλάξεις και το sql query που εκτελείται κατά την εισαγωγή μιας νέας εγγραφής στον πίνακα add_data ώστε να περιλαμβάνει και το νέο πεδίο UserID που προσθέσαμε στον πίνακα add_data

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το έκανα αυτό που λες στο save.php + στην DB

$query="INSERT INTO add_data (title, description, UserID) VALUES ('$title', '$description', '$UserID')";

αλλα δεν πρέπει να προσθέσω κάποιο πεδίο στην html φόρμα έχω μπερδευτεί λίγο να σου πω την αλήθεια :wacko:

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ξαναδιάβασε το post #3 αυτή την στιγμή έχεις κάνει τα "βήματα" 3 και 4 (όχι απολύτως σωστά για να δουλεύουν όπως πρέπει θέλουν μια μικρή αλλαγή) και σου έχει μείνει το "βήμα" 2.

 

 

 

2.Όταν ένας χρήστης κάνει login αποθηκεύεις κάπου το παραπάνω κλειδί.Μπορείς να το βάλεις στο Session,Querystring,Hidden Field (εδώ πρέπει να διαβάσεις και να δεις ποιος είναι ο καλύτερος τρόπος για εσένα)

 

 

Ποιά sql εντολή εκτελείς στην Login σελίδα για την πιστοποίηση (authentication) του χρήστη?

 

Θα πρέπει εκεί να βάλεις να σου επιστρέφει το UserID από τον πίνακα users αν το username και το password είναι σωστά.

Μετά αποθηκεύεις αυτό το UserID σε μια session μεταβλητή

 

http://www.php.net/manual/en/reserved.variables.session.php

 

Όταν το παραπάνω δουλέψει τότε πας σε όλα τα σημεία που αναφέραμε παραπάνω και χρησιμοποιείς αυτή την Session μεταβλητή

 

$select_all="SELECT * FROM add_data WHERE UserID = '"[μεταβλητή Session]"'";

 

και στην save.php

 

$query="INSERT INTO add_data (title, description, UserID) VALUES ('$title', '$description', '[μεταβλητή Session]')";

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...