Fix the other queries too

This commit is contained in:
Mark Schouten 2014-07-04 11:52:11 +02:00
parent 340d297f71
commit ca6c953818
2 changed files with 21 additions and 5 deletions

View file

@ -30,9 +30,16 @@ function get_all_users() {
function get_pw($username) { function get_pw($username) {
$db = get_db(); $db = get_db();
$pw = $db->querySingle("SELECT password FROM users WHERE emailaddress = '".$username."'"); $q = $db->prepare('SELECT password FROM users WHERE emailaddress = ? LIMIT 1');
$q->bindValue(1, $username, SQLITE_TEXT);
$result = $q->execute();
$pw = $result->fetchArray(SQLITE3_ASSOC);
$db->close(); $db->close();
return $pw; if (isset($pw['password'])) {
return $pw['password'];
}
return FALSE;
} }
function add_user($username, $isadmin = '0', $password = FALSE) { function add_user($username, $isadmin = '0', $password = FALSE) {
@ -44,7 +51,11 @@ function add_user($username, $isadmin = '0', $password = FALSE) {
} }
$db = get_db(); $db = get_db();
$ret = $db->exec("INSERT OR REPLACE INTO users (emailaddress, password, isadmin) VALUES ('".$username."', '".$password."', $isadmin)"); $q = $db->prepare('INSERT OR REPLACE INTO users (emailaddress, password, isadmin) VALUES (?, ?, ?)');
$q->bindValue(1, $username, SQLITE3_TEXT);
$q->bindValue(2, $password, SQLITE3_TEXT);
$q->bindValue(3, $isadmin, SQLITE3_INTEGER);
$ret = $q->execute();
$db->close(); $db->close();
return $ret; return $ret;
@ -52,7 +63,9 @@ function add_user($username, $isadmin = '0', $password = FALSE) {
function delete_user($id) { function delete_user($id) {
$db = get_db(); $db = get_db();
$ret = $db->exec("DELETE FROM users WHERE id = $id"); $q = $db->prepare('DELETE FROM users WHERE id = ?');
$q->bindValue(1, $id, SQLITE3_INTEGER);
$ret = $q->execute();
$db->close(); $db->close();
return $ret; return $ret;

View file

@ -44,7 +44,10 @@ function try_login() {
return FALSE; return FALSE;
} }
$db = get_db(); $db = get_db();
$userinfo = $db->querySingle("SELECT * FROM users WHERE emailaddress = '".$_POST['username']."'", 1); $q = $db->prepare('SELECT * FROM users WHERE emailaddress = ?');
$q->bindValue(1, $_POST['username']);
$result = $q->execute();
$userinfo = $result->fetchArray(SQLITE3_ASSOC);
if (isset($userinfo['password']) and (crypt($_POST['password'], $userinfo['password']) == $userinfo['password'])) { if (isset($userinfo['password']) and (crypt($_POST['password'], $userinfo['password']) == $userinfo['password'])) {
set_logged_in($_POST['username']); set_logged_in($_POST['username']);
if (isset($userinfo['isadmin']) && $userinfo['isadmin'] == 1) { if (isset($userinfo['isadmin']) && $userinfo['isadmin'] == 1) {