Δημοσιεύτηκε: 17 Ιουν 2012, 22:41
1. Για sha256 μπορείς να βάλεις πεδίο varchar(64) ή char(64) ή binary(32)
Καλύτερα από όλα το varchar.
2.
3.
Εδώ του λές να βρει οτιδήποτε ταιριάζει με αυτά που πληκτρολογείς. Το % είναι wild charachter για την php.
Εκτός κι αν αυτό είναι αυτό που θέλεις.
Επίσης, μην μπλέκεσαι πολύ.
Βάλε
Απλοίησε τα πράγματα για να μπορείς να βγάλεις ευκολότερα άκρη.
4. Κοίτα, δεν ξέρω πολλά από php/mysql, αλλά εδώ λέει ότι υπάρχει και η σύνταξη INSERT INTO ... SET... . Οπότε κάπου αλλού είναι το πρόβλημα...
Μην μπερδεύεσαι. Δεν σου είπα οτι εκεί είναι το πρόβλημα αλλά οτι αυτή η σύνταξη δεν είναι αυτή που χρειάζεσαι.
Και καλό είναι να μην τη μάθεις γιατί μπορεί να μπλεχτείς αν χρησιμοποιείς πάντα αυτή. Για παράδειγμα δεν μπορείς να την χρησιμοποιήσεις για να βάλεις πολλά rows με ένα query.
Οπότε θεώρησε πως...δεν υπάρχει.
Καλύτερα από όλα το varchar.
2.
- Κώδικας: Επιλογή όλων
$password = hash("sha256", $_POST['password']);
- Κώδικας: Επιλογή όλων
$password = sha256($_POST["password"]);
3.
- Κώδικας: Επιλογή όλων
$query = sprintf("SELECT * FROM users WHERE username='%s' and password='%s'",
mysql_real_escape_string($username),
mysql_real_escape_string($password));
Εδώ του λές να βρει οτιδήποτε ταιριάζει με αυτά που πληκτρολογείς. Το % είναι wild charachter για την php.
Εκτός κι αν αυτό είναι αυτό που θέλεις.
Επίσης, μην μπλέκεσαι πολύ.
Βάλε
- Κώδικας: Επιλογή όλων
$username = trim (mysql_real_escape_string ($_POST["username"]) );
$password = sha256 (trim (mysql_real_escape_string ($_POST["password"]) ) );
$query = sprintf("SELECT * FROM users WHERE username='".$username."' and password='".$password."');
Απλοίησε τα πράγματα για να μπορείς να βγάλεις ευκολότερα άκρη.
4. Κοίτα, δεν ξέρω πολλά από php/mysql, αλλά εδώ λέει ότι υπάρχει και η σύνταξη INSERT INTO ... SET... . Οπότε κάπου αλλού είναι το πρόβλημα...
Μην μπερδεύεσαι. Δεν σου είπα οτι εκεί είναι το πρόβλημα αλλά οτι αυτή η σύνταξη δεν είναι αυτή που χρειάζεσαι.
Και καλό είναι να μην τη μάθεις γιατί μπορεί να μπλεχτείς αν χρησιμοποιείς πάντα αυτή. Για παράδειγμα δεν μπορείς να την χρησιμοποιήσεις για να βάλεις πολλά rows με ένα query.
Οπότε θεώρησε πως...δεν υπάρχει.