niestety nie działa, mam tak:
<?
class User
{
public $uid;
public $fields = array(); protected $sql;
public function __construct($sql)
{
$this->sql = $sql;
$this->uid = null;
$this->fields = array('username' => '', 'password' => '',
'emailAddr' => '',
'gg' => '',
'isActive' => false);
}
public function __get($field)
{
if($field == 'userId')
{
return $this->uid;
}
else
{
return $this->fields[$field];
}
if($field == 'showUserId')
{
return $this->uid;
}
}
public function __set($field, $value)
{
{
$this->fields[$field] = $value;
}
}
public function validateUserName($username)
{
{
echo '<span style="color:#F00;">Nazwa użytkownika musi zawierać co najmniej 3 znaki.</span>'; }
else
{
return true;
}
{
echo 'Za długa nazwa użytkownika max 20 znaków.'; }
else
{
return true;
}
}
public static function validateEmailAddr
($email) {
return filter_var($email, FILTER_VALIDATE_EMAIL);
if(false)
{
echo 'Niepoprawny adres e-mail'; }
}
public function getById($uid)
{
$db = $this->sql;
$u = new User($db);
$sql = $db->query('select * from users where user_id = "'.$uid.'"');
if($sql->num_rows)
{
$row = $sql->fetch_array();
$u->username = $row['username'];
$u->password = $row['password'];
$u->emailAddr = $row['email_addr'];
$u->isActive = $row['is_active'];
$u->uid = $uid;
}
return $u;
}
public function getByUsername($username)
{
$db = $this->sql;
$u = new User($db);
$sql = $db->query('select * from users where username = "'.$username.'" and is_active = 0');
if($sql->num_rows)
{
$row = $sql->fetch_array();
$u->password = $row['password'];
$u->username = $row['username'];
$u->emailAddr = $row['email_addr'];
$u->isActive = $row['is_active'];
$u->uid = $row['user_id'];
}
return $u;
}
public function save()
{
$db = $this->sql;
$data = date('d.m.y H:i:s');
if($this->uid)
{
$sql = $db->query('update USERS set username = "'.$this->username.'", password = "'.$this->password.'",
email_addr = "'.$this->emailAddr.'", is_active = "'.$this->isActive.'" where user_id = "'.$this->userId.'"');
}
else
{
$sql = $db->query('insert into users (username, password, email_addr, is_active, gg,data)
values ("'.$this->username.'", "'.sha1($this->password).'", "'.$this->emailAddr.'", "0",
if(!$sql)
{
}
}
}
public function random_text($count, $rm_similar = false)
{
if ($rm_similar)
{
unset($chars[0
], $chars[1
], $chars[2
], $chars[5
], $chars[8
], $chars['B'], $chars['I'], $chars['O'], $chars['Q'],
$chars['S'], $chars['U'], $chars['V'], $chars['Z']);
}
for ($i = 0, $text = ''; $i < $count; $i++)
{
}
return $text;
}
public function setInactive()
{
$db = $this->sql;
$this->isActive = false;
$this->save();
$token = $this->random_text(5);
$sql = $db->query('insert into users_pending (user_id, token) values ("'.$user->showUserId.'", "'.$token.'")');
return $token;
}
public function setActive()
{
$db = $this->sql;
$sql = $db->query('select token from users_pending where user_id = "'.$this->uid.'" and token = "'.$token.'"');
if(!$sql->num_rows)
{
return false;
}
else
{
$sql = $db->query('delete from users_pending where user_id = "'.$this->uid.'" and token = "'.$this->token.'"');
$this->isAdcive = true;
$this->save();
return true;
}
}
public function dane()
{
$db = $this->sql;
$u = new User($db);
$user = $u->getById($_SESSION['userId']);
if(isset($_POST['submitted'])) {
// sprawdzenie poprawności hasła
$password1 = (isset($_POST['password1']) && $_POST['password1']) ?
sha1($_POST['password1']) : $user->password;
$password2 = (isset($_POST['password2']) && $_POST['password2']) ?
sha1($_POST['password2']) : $user->password;
$password = ($password1 == $password2) ? $password1 : '';
// uaktualnienie rekordu, jeżeli dane wejściowe są poprawne
if ($u->validateEmailAddr($_POST['email']) && $password)
{
$user->emailAddr = $_POST['email'];
$user->password = $password;
$user->save();
echo '<p><strong>Informacje ' . 'w bazie danych zostały uaktualnione.</strong></p>';
}
else
{
echo '<p><strong>Podano nieprawidłowe ' . 'dane.</strong></p>';
}
}
?>
<form action="userpanel/dane" method="post">
<table>
<tr>
<td><label>Nazwa użytkownika</label></td>
<td><input type="text" name="username" disabled="disabled" readonly="readonly" value="
<?php echo $user->username; ?>"/></td>
</tr>
<tr>
<td><label for="email">Adres email</label></td>
<td><input type="text" name="email" id="email" value="
<?php echo (isset($_POST['email']))?
htmlspecialchars($_POST['email']) : $user->emailAddr; ?>"/></td>
</tr>
<tr>
<td><label for="password">Nowe hasło</label></td>
<td><input type="password" name="password1" id="password1"/></td>
</tr>
<tr>
<td><label for="password2">Powtórzenie hasła</label></td>
<td><input type="password" name="password2" id="password2"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Zapisz"/></td>
<td><input type="hidden" name="submitted" value="1"/></td>
</tr>
</table>
</form>
<?
}
public function menu()
{
?>
<div id="tabs">
<ul>
<li><a href="userpanel/dane"><span>Dane</span></a></li>
<li><a href="#"><span>Dod. informacje</span></a></li>
<li><a href="#"><span>Avatar</span></a></li>
<li><a href="#"><span>Zdjęcie osobiste</span></a></li>
</ul>
</div>
<?
}
public function information_user($username)
{
}
}
?>