pbp Δημοσ. 27 Δεκεμβρίου 2013 Δημοσ. 27 Δεκεμβρίου 2013 Γεια σας παιδιά, έχω μία σελίδα που με ένα ερώτημα mysql εκτυπώνω τις ανακοινώσεις που έχω αποθηκευμένες σε ένα table μιας βάσης δεδομένων. καθώς της εκτυπώνω δίπλα τους έχω ένα κουμπί [διαγραφή]. Θέλω να κάνω αυτό το κουμπί να διαγράφει την συγκεκριμένη ανακοίνωση από τη βάση. Το θέμα είναι ότι έχω κολλήσει ώς προς τον ακριβή προσδιορισμό της ανακοίνωσης που πρέπει να διαγραφτεί κάθε φορά. Μπορεί να με βοηθήσει κανείς ως προς το σκεπτικό? Ευχαριστώ για το χρόνο σας. ορίστε τι εννοώ:
Xvipes Δημοσ. 28 Δεκεμβρίου 2013 Δημοσ. 28 Δεκεμβρίου 2013 Θα πρέπει στο query που εκτυπώνεις τις ανακοινώσεις να περνάς και το εκάστοτε id της κάθε ανακοίνωσης ώστε μετά στο url του link "διαγραφή" να το περνάς για να μπορείς να εκτελέσεις το delete στη βάση. a.k.a δώσε κώδικα
pbp Δημοσ. 28 Δεκεμβρίου 2013 Μέλος Δημοσ. 28 Δεκεμβρίου 2013 Εννοείς στο κουμπί διαγραφή να κάνω κάτι τέτοιο ? <a href = 'delete.php?id=$row['id']'>διαγραφή</a> και αν εννοείς αυτό μετά θα το πάρω με $_GET ας πούμε? γίνεται ? και αν ισχύει αυτό, δεν είναι επικύνδυνο (αμά πάει να το αλλάξει κάποιος κακοπροαίρετος με το χέρι)?
cyclo Δημοσ. 28 Δεκεμβρίου 2013 Δημοσ. 28 Δεκεμβρίου 2013 Εννοείς στο κουμπί διαγραφή να κάνω κάτι τέτοιο ? <a href = 'delete.php?id=$row['id']'>διαγραφή</a> και αν εννοείς αυτό μετά θα το πάρω με $_GET ας πούμε? γίνεται ? και αν ισχύει αυτό, δεν είναι επικύνδυνο (αμά πάει να το αλλάξει κάποιος κακοπροαίρετος με το χέρι)? Με κάποιο τρόπο πρέπει να περάσεις το ID του άρθρου στο <a>, αν πρόκειται να χρησιμοποιήσεις get, πέρασέτε αμέσως στο href, όπως αναφέρει παραπάνω ο φίλος, αν πρόκειται να χρησιμοποιήσεις ajax, πέρασέτο με κάποιο τρόπο όπως νομίζεις (π.χ με custom attribute, data-articleid='id') τώρα, όσον αφορά την ασφάλεια, δεν μπορείς να κάνεις τίποτα απολύτως, πέραν των κλασσικών. π.χ αν τα άρθα που εμφανίζονται αφορούν συγκεκριμένο χρήστη του συστήματος, μπορείς να κρατάς το id του χρήστη σε session μεταβλητή, και έτσι να μπορείς να κάνεις crosscheck. π.χ delete from table where articleID = 5 and userid=(sessionuserid) έτσι ακόμα και το articleid να αλλάξει ο χρήστης (με τον όποιο τρόπο, το query δεν θα επιτρέψει στο χρήστη να σβήσει κάποιο article ενός άλλου χρήστη, παρα μόνο δικό του) αυτό ήταν απλά εικασία, θα πρέπει να μας δώσεις περισσότερες πληροφορίες για το πρόβλημά σου. αλλά ναι, φυσικά και μπορεί κάποιος να αλλάξει τα get variables και γιαυτό πρέπει να παίρνουμε τις προφυλάξεις μας.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα