Αρχείο καταγραφής αλλαγών?

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

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

Απάντηση
axelan
Δημοσιεύσεις: 13
Εγγραφή: 28 Μάιος 2009 01:31

Αρχείο καταγραφής αλλαγών?

Δημοσίευση από axelan » 27 Ιαν 2011 15:09

Καλησπέρα στο forum!

έχω αρχίσει να μπαίνω στα βαθιά της php, χάρη στην βοήθεια όλων σας εδω μέσα.

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

Χρειάζομαι ένα logging σύστημα που να καταγράφει αλλαγές (προσθήκες, διορθώσεις, διαγραφές) στην βάση δεδομένων

:arrow: Αυτό που σκέφτομαι είναι να δημιουργήσω υποχρεωτικά πεδία στις φόρμες καταχώρησης/διόρθωσης/διαγραφής που να λένε π.χ. "διόρθωση-πελάτης 1152-διεύθυνση" τα οποία να στέλνουν τα στοιχεία σε έναν νέο πίνακα που θα διατηρεί το μητρώο αλλαγών.
λίγο μπακαλορεά τρόπος -και χειροκίνητος-, αλλά φαντάζομαι την δουλειά του την κάνει.

Υπάρχει κάτι πιο αυτοματισμένο?
κάτι που να δείχνει πχ
"ΠΙΝΑΚΑΣ TABLE
ACTION=EDIT
ID=1152
OLD.ADDRESS=XXXXX
NEW.ADDRESS=ZZZZZ
DATE=DD.MM.YYYY
TIME=HH.MM

έχει κανείς καμιά ιδέα?

Άβαταρ μέλους
Khronos
Δημοσιεύσεις: 754
Εγγραφή: 11 Δεκ 2006 14:43
Τοποθεσία: Ηράκλειο

Αρχείο καταγραφής αλλαγών?

Δημοσίευση από Khronos » 27 Ιαν 2011 15:28

Νομίζω το ιδανικό είναι να υπάρχουν στο κάθε table 2 πεδία creted_at, updated_at.
Με τον τρόπο που λες μετά απο κάποιες εγγραφές θα χρειάζεσαι logging system για το logging system :P

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

Αρχείο καταγραφής αλλαγών?

Δημοσίευση από Apostolis_38 » 27 Ιαν 2011 15:37

Μπορείς να φτιάξεις ένα table που να κρατάς αυτά που θέλεις και πολλά άλλα, και να βάλεις μετά από κάθε επιτυχημένο update να γίνεται μια καταχώρηση σε ατυό το table, αλλά αν κρατάς όλα αυτά τα στοιχεία σε λίγους μήνες θα θέλεις νέο server μόνο για αυτόν τον πίνακα.

Το πιό απλό είναι αυτό που προτείνει ο Khronos. Αντε να κρατάς και καμμιά ip ή το username αυτουνού που έκανε την αλλαγή.
Μια άλλη επιλογή είναι να κάνεις όλα αυτά που θέλεις αλλά να αποθηκεύονται σε ένα txt αρχείο. Κάτι σαν log file.
Θα σε παιδέψει (ίσως) λίγο παραπάνω να το φτιάξεις αλλά νομίζω πως άποψη εξοικονόμησης χώρου συμφέρει καλύτερα.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Αρχείο καταγραφής αλλαγών?

Δημοσίευση από dva_dev » 27 Ιαν 2011 16:32

Πες ότι φτιάχνεις αυτή τη log διαδικασία. Εχει νόημα να κρατάς τα πάντα ή μήπως αρκεί να κρατάς τις αλλαγές των τελευταίων π.χ. 15 ημερών;

axelan
Δημοσιεύσεις: 13
Εγγραφή: 28 Μάιος 2009 01:31

Αρχείο καταγραφής αλλαγών?

Δημοσίευση από axelan » 27 Ιαν 2011 17:37

15 μέρες είναι λίγο αλλά έως 2 μηνών θα έλεγα. ενδιαφέρον αυτό με τα 2 πεδία παραπάνω, αλλά τι γίνεται αν θέλω στοιχεία διαγραφής?

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

Αρχείο καταγραφής αλλαγών?

Δημοσίευση από Apostolis_38 » 27 Ιαν 2011 19:37

Τι εννοείς στοιχεία διαγραφής;
Οτι και πιό πάνω αλλά όταν ένας χρήστης διαγράφει κάτι;
Θα πρέπει μετά από κάθε delete να εκτελείς ένα query το οποίο θα λέει οτι εκείνος έσβησε από τον τάδε πίνακα την εγγραφή με το δείνα id στις τόσο του μηνός.

Το big brother σε cms θέλεις να φτιάξεις; :roll:
Είσαι σίγουρος οτι σου χρειάζονται όλα αυτά;

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

Αρχείο καταγραφής αλλαγών?

Δημοσίευση από pimpogio » 27 Ιαν 2011 21:41

κανε ενα πινακα να κανεις log με triggers
πολυ απλο και συντομο... και χωρις να μπλεξεις καθολου με php.
Γενικα να ψαξεις να το κανεις με triggers αυτο που θες και μονο αν δεν γινετε
να χρησιμοποιησεις php...

axelan
Δημοσιεύσεις: 13
Εγγραφή: 28 Μάιος 2009 01:31

Αρχείο καταγραφής αλλαγών?

Δημοσίευση από axelan » 28 Ιαν 2011 00:10

χρήσιμο το Big brother θα είναι, γιατί θα αφορά εργασία που τόσο καιρο γίνεται με καρτέλες και ντοσιέ, και θα πρέπει να είναι ιδιαίτερα αξιόπιστο. μην γίνει κάποια διαγραφή κατά λάθος και τρέχουμε μετά να βρούμε άκρη. θέλω να το παρουσιάσω σαν όσο πιο ασφαλέ γίνεται.

@pimpogio: triggers? Κάποιο link που να κοιτάξω.,..? :hammer:

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

Αρχείο καταγραφής αλλαγών?

Δημοσίευση από Apostolis_38 » 28 Ιαν 2011 08:34

axelan έγραψε:μην γίνει κάποια διαγραφή κατά λάθος και τρέχουμε μετά να βρούμε άκρη.
Φτιάξτο ώστε πρίν από κάθε διαγραφή να ζητά επιβεβαίωση. Η ακόμα καλύτερα κωδικό.
Είναι λίγο σπάσιμο αλλά θα είσαι όσο γίνεται περισσότερο εξασφαλισμένος οτι ο χρήστης ξέρει τι κάνει.

Κάτι που ούτως ή άλλως είναι σχετικό :P

Άβαταρ μέλους
Khronos
Δημοσιεύσεις: 754
Εγγραφή: 11 Δεκ 2006 14:43
Τοποθεσία: Ηράκλειο

Αρχείο καταγραφής αλλαγών?

Δημοσίευση από Khronos » 28 Ιαν 2011 10:01

axelan έγραψε:triggers? Κάποιο link που να κοιτάξω.,..? :hammer:
http://dev.mysql.com/doc/refman/5.0/en/triggers.html

Δεν έχω χρησιμοποιήσει triggers με mysql αλλά όντως είναι ένας γρήγορος τρόπος.
Δεν ξέρω όμως αν είναι και ο πιο καλός.

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

Αρχείο καταγραφής αλλαγών?

Δημοσίευση από pimpogio » 28 Ιαν 2011 21:50

εδω εχει μια εισαγωγη σε triggers στην mysql http://www.mysqltutorial.org/mysql-triggers.aspx
με triggers νομιζω οτι θα κανεις πολυ γρηγορα τη δουλεια σου σε επιπεδο database και οχι php.

Απάντηση

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

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

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