liakosbrc Δημοσ. 10 Ιουνίου 2014 Δημοσ. 10 Ιουνίου 2014 Εχω φτιάξει μια φόρμα η οποία συνδέετε σε μια βάση και καταχωρεί τα δεδομένα εκεί.Το πρόβλημα είναι ότι τα στέλνει αλλά μόνο με λατινικούς χαρακτήρες ενώ με ελληνικούς δεν τα κάνει κωδικοποίηση και είναι κινέζικα μέσα στη βάση..Το πρόγραμμα που χρησιμοποιώ είναι το Navicat Premimum και τον κώδικα τον στέλνω σε αρχείο! inventory_list.php
defacer Δημοσ. 10 Ιουνίου 2014 Δημοσ. 10 Ιουνίου 2014 http://stackoverflow.com/questions/279170/utf-8-all-the-way-through 1
liakosbrc Δημοσ. 10 Ιουνίου 2014 Μέλος Δημοσ. 10 Ιουνίου 2014 Πάλι δεν τα διαβάζει!Ευχαριστώ πάντως για την βοήθεια..
defacer Δημοσ. 10 Ιουνίου 2014 Δημοσ. 10 Ιουνίου 2014 Δεν υπάρχει περίπτωση να κάνεις σωστά όλα αυτά που λέει εκεί και να μην τα διαβάζει. Κάτι σου διαφεύγει ή δεν έχεις καταλάβει ή δεν κάνεις σωστά. Ακόμα κι αν όλα είναι σωστά, αυτό μπορεί να φανεί μόνο στα δεδομένα που θα εισάγεις στη συνέχεια (προφανώς δεδομένα που μπήκαν ήδη και λόγω λάθους έγιναν κινέζικα δεν πρόκειται να διορθωθούν ως δια μαγείας επειδή αργότερα διόρθωσες το λάθος). Αν θέλεις να μπορούμε να σε βοηθήσουμε να βρεις την άκρη θα πρέπει να περιγράψεις λεπτομερέστατα (να μην υπάρχει κανένα περιθώριο αμφιβολίας) τι έχεις και τι δεν έχεις κάνει γιατί δουλειά με μαντεψιές δε γίνεται. Ο κώδικας που δίνεις δεν είναι ολοκληρωμένος (connect_to_mysql.php? εκεί μέσα μπορεί να γίνεται από τίποτα απολύτως μέχρι τα πάντα όλα, εμείς μόνο να μαντέψουμε μπορούμε) και -- όχι σχετικό με την ερώτησή σου αλλά σημαντικό -- ευάλωτος σε όλων των ειδών τις κακόβουλες επιθέσεις. Φαίνεται πως κάπου κάτι διάβασες σχετικά με το πώς να προστατευτείς, αλλά υπάρχουν πολλά προβλήματα και στην τελική αυτά που διάβασες δεν τα εφαρμόζεις έστω παντού (στο DELETE FROM products γιατί δεν κάνεις escape τη μεταβλητή)? Αν σ' ενδιαφέρει δες αυτά: http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php http://stackoverflow.com/questions/129677/whats-the-best-method-for-sanitizing-user-input-with-php 1
liakosbrc Δημοσ. 10 Ιουνίου 2014 Μέλος Δημοσ. 10 Ιουνίου 2014 Η αλήθεια είναι ότι ξέρω αρκετές γλώσσες κυρίως προγραμματισμού αλλά σε αυτές που ασχολούνται με το διαδίκτυο γενικά δεν έχω κάνει το διάβασμα που έκανα στις άλλες αλλά ούτε το practise!Γιαυτό με ζορίζει λίγο η php ξέρω λίγα απλά λόγω της καλη βάσης που έχω από άλλες με βοήθει να φτιάξω κάτι σαν αυτό.Σου στέλνω λοιπόν και το connect_to_mysql να το δεις γιατί νομίζω πως έχω κάνει τα πάντα αλλά δεν γίνετε τίποτα.. Τελικά έλυσα το πρόβλημα..Το πρόβλημα ήταν το εξης!Αφού ορίσεις την βάση σε utf8 πρέπει να βάλεις σε όποιο php στέλνει ή λαμβάνει δεδομένα από τη βάση ακριβώς κάτω από το include αυτό: mysql_set_charset('utf8'); Η πολύ πιο απλά να βάλεις στο connect_to_mysql.php mysql_query("SET character_set_client=utf8");mysql_query("SET character_set_connection=utf8");mysql_query("SET character_set_database=utf8");mysql_query("SET character_set_results=utf8");mysql_query("SET character_set_server=utf8");mysql_query("SET NAMES 'utf8'"); connect_to_mysql.php
defacer Δημοσ. 10 Ιουνίου 2014 Δημοσ. 10 Ιουνίου 2014 Προφανώς δεν διάβασες αυτά που γράφουν τα links που σου έδωσα, γιατί αν τα είχες διαβάσει δεν πρόκειται να έγραφες SET character_set_whatever αντί για το σωστότερο mysql_set_charset(), ούτε να έγραφες utf8 αντί για το σωστότερο utf8mb4. Το θετικό είναι ότι έλυσες το πρόβλημά σου. Αλλά πραγματικά, αν αυτό τον κώδικα που έδειξες τον χρησιμοποιήσεις ως έχει δε θα φταίει κανένας άλλος για ο,τι συμβεί στο site σου.
acid18 Δημοσ. 10 Ιουνίου 2014 Δημοσ. 10 Ιουνίου 2014 Για το θέμα της ασφάλειας για αρχή δες αυτά: 1) http://security.stackexchange.com/questions/18991/is-it-safe-to-store-password-in-php-session 2) http://stackoverflow.com/questions/1314518/sanitizing-users-data-in-get-by-php Επίσης να προσθέσω ότι έχεις ανακατεμένο front end και back end. 1
ParhsG Δημοσ. 10 Ιουνίου 2014 Δημοσ. 10 Ιουνίου 2014 Παντως το πακετο mysql_ ειναι obsolete και μελλοντικα θα εξαφανιστεί απο την php...
slevinkelevra Δημοσ. 15 Ιουνίου 2014 Δημοσ. 15 Ιουνίου 2014 Επίσης να προσθέσω ότι έχεις ανακατεμένο front end και back end. Παιζει να χει βαλει δυο αρχεια σε ενα, για να μην ανεβαζει δυο. Τοτε οκ. Αλλιως εχεις δικιο!!! Παντως το πακετο mysql_ ειναι obsolete και μελλοντικα θα εξαφανιστεί απο την php... Site: Σωστος ps: o defacer εχει βαλθει να μαθει ολους pdo . και καλα κανει δηλαδη. θυμαμαι εδω και κανα χρονο μου τα χωνε κ μενα για κατι queries που χα ποσταρει
defacer Δημοσ. 16 Ιουνίου 2014 Δημοσ. 16 Ιουνίου 2014 ps: o defacer εχει βαλθει να μαθει ολους pdo . και καλα κανει δηλαδη. θυμαμαι εδω και κανα χρονο μου τα χωνε κ μενα για κατι queries που χα ποσταρει Αν προτιμάς mysqli κι αυτό είναι μια χαρά επιλογή.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα