tak wygląda funkcja do logowania:
<?php
function login_guest($goto='') {
global $guest_tbl, $ga10, $gb10, $gnick, $gmail, $gpass, $REMOTE_ADDR, $config, $klucz;
if($ga10<>'' AND $gb10<>'') {
$gb10 = (!isset($klucz) && $config['md5_pass']=='1')?
md5($gb10): $gb10;
$query = "SELECT * FROM $guest_tbl WHERE nick='$ga10' AND stat='ok'";
$nick_ = $r['nick'];
$pass_ = $r['pass'];
$mail_ = $r['mail'];
$status = $r['stat'];
if ($status=='ban') {
}
if ($status=='-') {
header("Location: activate.php"); }
if($nick_==$ga10 AND $pass_==$gb10) {
$_SESSION[gnick] = $nick_;
$_SESSION[gpass
] = md5($pass_); $_SESSION[gmail] = $mail_;
$_SESSION[nick] = $nick_;
$_SESSION[pass
] = md5($pass_); $_SESSION[mail] = $mail_; $_SESSION['access'] = $r['access'];
$ip_ = "UPDATE $guest_tbl SET ip='$REMOTE_ADDR' WHERE nick='$ga10'";
if($_POST['gautolog']=='t')
{
}
if($goto=='')
{
if(isset($klucz))header("Location: login.php?cmd=profil"); else header("Location: login.php?cmd=pw_get"); }
else
} else {
return 'no';
}
} else {
return 'no';
}
}
?>
i baza danych wygląda tak:
CREATE TABLE `users` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`nick` varchar(16) NOT NULL DEFAULT '',
`pass` varchar(64) NOT NULL DEFAULT '',
`mail` varchar(64) NOT NULL DEFAULT '',
`sign` text NOT NULL,
`www` varchar(128) NOT NULL DEFAULT '',
`gg` varchar(64) NOT NULL DEFAULT '',
`icq` varchar(64) NOT NULL DEFAULT '',
`kraj` varchar(64) NOT NULL DEFAULT '',
`miej` varchar(64) NOT NULL DEFAULT '',
`wiek` varchar(32) NOT NULL DEFAULT '',
`post` text NOT NULL,
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`keyid` varchar(128) NOT NULL DEFAULT '',
`stat` varchar(8) NOT NULL DEFAULT '',
`admin` varchar(8) NOT NULL DEFAULT 'no',
`avatar` varchar(255) NOT NULL DEFAULT '',
`trans` text NOT NULL,
`premium` int(1) NOT NULL DEFAULT '1',
`user_last_activ` int(11) NOT NULL DEFAULT '0',
`online_time` int(11) NOT NULL DEFAULT '0',
`groups` varchar(128) NOT NULL DEFAULT 'Users',
`nick_allegro` varchar(64) NOT NULL DEFAULT 'brak',
`ip` varchar(18) NOT NULL DEFAULT 'brak',
`plec` varchar(64) NOT NULL DEFAULT 'Anonim',
PRIMARY KEY (`id`),
UNIQUE KEY `nick` (`nick`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2;
przykłądowy rekord do niej:
INSERT INTO `users` (`id`, `nick`, `pass`, `mail`, `sign`, `www`, `gg`, `icq`, `kraj`, `miej`, `wiek`, `post`, `date`, `keyid`, `stat`, `admin`, `avatar`, `trans`, `premium`, `user_last_activ`, `online_time`, `groups`, `nick_allegro`, `ip`, `plec`) VALUES (1, 'konto_testowe', '5021853adcb1052c3a5025090b611b4c', 'testowo@tlen.pl', '', '', '', '', 'Polska', 'Wrocław', '21', '', '2006-11-11 13:13:30', '11632472094555be694505e', 'ok', 'no', '', '', 1, 1163249189, 75, 'Users', 'brak', 'brak', 'Anonim');