For example, I made a class with all of my basic mysql functions.
Code: Select all
class sql {
function select($table, $where1, $where2) {
if(is_null($where1) or is_null($where2)) {
$sql = mysql_query("SELECT * from $table") or die(mysql_error());
}
else {
$sql = mysql_query("SELECT * from $table where '$where1' = '$where2'") or die(mysql_error());
}
}
function select_order($table, $where1, $where2, $order, $by) {
if(is_null($where1) or is_null($where2)) {
$sql = mysql_query("SELECT * from $table") or die(mysql_error());
}
else {
$sql = mysql_query("SELECT * from $table where '$where1' = '$where2' order by $order $by") or die(mysql_error());
}
}
function tracker($function) {
$ip = getenv('REMOTE_ADDR');
$date = date("F j, Y, g:i a");
$track = mysql_query("INSERT into log (id, ip, date, user, function) values ('', '$ip', '$date', '{$_SESSION['uid']}', '$function')") or die(mysql_error());
}
}
Code: Select all
class user {
function login($email, $pass) {
$sql->select("users", "email", "$email");
if(mysql_num_rows($sql) == "0") {
$error->nouser();
}
$a = mysql_fetch_array($sql);
if($a['pass'] == md5($pass)) {
$_SESSION['uid'] = $a['id'];
$_SESSION['name'] = $a['name'];
$_SESSION['group'] = $a['group'];
$this->tracker("login");
}
else {
$error->wrongpass();
}
}
function register($name, $pass, $email) {
$sql->select("users", "name", "$name");
if(mysql_num_rows($sql) != "0") {
$error->nameinuse();
}
$check = mysql_query("SELECT * from users where 'email' = '$email'") or die(mysql_error());
if(mysql_num_rows($check) != "0") {
$error->emailinuse();
}
$passw = md5($pass);
// validation key creation
$a = date(U);
$b = str_rot13($a);
$c = "$name $b";
$key = md5($c);
$register = mysql_query("Insert into users (name, email, password, group, key) values ('$name', '$email', '$passw', '0', '$key')") or die(mysql_error());
$message = "Thank you for registering on the Clayton High School Globe website. To activate your account and comment on stories, you must validate your account. \n To do so, click <a href='http://chsglobe.com/validate/$key'>here</a>. \n AOL users may need to copy and paste http://chsglobe.com/validate/$key into their browser. \n - Clayton Globe Staff";
mail($email, "Clayton Globe Account Validation", $message);
$sql->tracker("register");
}
function validate($key) {
$this->select("users", "key", "$key");
if(mysql_num_rows($sql) == "0") {
$error->invalidkey();
}
$a = mysql_fetch_array($sql);
$update = mysql_query("UPDATE users set group='1' where id='{$a['id']}'") or die(mysql_error());
$sq;->tracker("validate");
}
function changepass($old, $new) {
$md5 = md5($old);
$sql->select("users", "id", "{$_SESSION['uid']}");
$a = mysql_fetch_array($sql);
if($a['pass'] != $md5) {
$error->wrongpass();
}
$new5 = md5($new);
$update = mysql_query("UPDATE users set pass='$new5' where id='{$_SESSION['uid']}'") or die(mysql_error());
$sql->tracker("changepass");
}
function logout() {
$sql->tracker("logout");
session_destroy();
unset($_SESSION['uid'], $_SESSION['name'], $_SESSION['group']);
}
}In case it is needed I get this error - Fatal error: Call to a member function select() on a non-object in /home/assman/public_html/alexanderfine/globe/backend.php on line 66