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

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

Δημοσ.

Εχω φτιάξει μια φόρμα η οποία συνδέετε σε μια βάση και καταχωρεί τα δεδομένα εκεί.Το πρόβλημα είναι ότι τα στέλνει αλλά μόνο με λατινικούς χαρακτήρες ενώ με ελληνικούς δεν τα κάνει κωδικοποίηση και είναι κινέζικα μέσα στη βάση..Το πρόγραμμα που χρησιμοποιώ είναι το Navicat Premimum και τον κώδικα τον στέλνω σε αρχείο!

inventory_list.php

Δημοσ.

Δεν υπάρχει περίπτωση να κάνεις σωστά όλα αυτά που λέει εκεί και να μην τα διαβάζει. Κάτι σου διαφεύγει ή δεν έχεις καταλάβει ή δεν κάνεις σωστά. Ακόμα κι αν όλα είναι σωστά, αυτό μπορεί να φανεί μόνο στα δεδομένα που θα εισάγεις στη συνέχεια (προφανώς δεδομένα που μπήκαν ήδη και λόγω λάθους έγιναν κινέζικα δεν πρόκειται να διορθωθούν ως δια μαγείας επειδή αργότερα διόρθωσες το λάθος).

 

Αν θέλεις να μπορούμε να σε βοηθήσουμε να βρεις την άκρη θα πρέπει να περιγράψεις λεπτομερέστατα (να μην υπάρχει κανένα περιθώριο αμφιβολίας) τι έχεις και τι δεν έχεις κάνει γιατί δουλειά με μαντεψιές δε γίνεται.

 

Ο κώδικας που δίνεις δεν είναι ολοκληρωμένος (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

  • Like 1
Δημοσ.

Η αλήθεια είναι ότι ξέρω αρκετές γλώσσες κυρίως προγραμματισμού αλλά σε αυτές που ασχολούνται με το διαδίκτυο γενικά δεν έχω κάνει το διάβασμα που έκανα στις άλλες αλλά ούτε το 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

Δημοσ.

Προφανώς δεν διάβασες αυτά που γράφουν τα links που σου έδωσα, γιατί αν τα είχες διαβάσει δεν πρόκειται να έγραφες SET character_set_whatever αντί για το σωστότερο mysql_set_charset(), ούτε να έγραφες utf8 αντί για το σωστότερο utf8mb4.

 

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

Δημοσ.

Επίσης να προσθέσω ότι έχεις ανακατεμένο front end και back end.

 

Παιζει να χει βαλει δυο αρχεια σε ενα, για να μην ανεβαζει δυο. Τοτε οκ. Αλλιως εχεις δικιο!!!

 

Παντως το πακετο mysql_ ειναι obsolete και μελλοντικα θα εξαφανιστεί απο την php...

Link.png Site: Σωστος

 

ps: o defacer εχει βαλθει να μαθει ολους pdo :P . και καλα κανει δηλαδη. θυμαμαι εδω και κανα χρονο μου τα χωνε κ μενα για κατι queries που χα ποσταρει

Δημοσ.
ps: o defacer εχει βαλθει να μαθει ολους pdo :P . και καλα κανει δηλαδη. θυμαμαι εδω και κανα χρονο μου τα χωνε κ μενα για κατι queries που χα ποσταρει

 

Αν προτιμάς mysqli κι αυτό είναι μια χαρά επιλογή.

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

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

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

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

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

Σύνδεση

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

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