| alpotemkin |
09.04.2009 18:22 |
Нет, все равно не понял... :(
1. Юзер логинится на главной странице, код такой:
Код:
<?php
include ('auth.php');
if (isset($_POST['auth_name'])) {
$name=mysql_real_escape_string($_POST['auth_name']);
$pass=mysql_real_escape_string($_POST['auth_pass']);
$ip = $_SERVER['REMOTE_ADDR'];
$query = "SELECT * FROM login WHERE nick='$name' AND pass='$pass' AND ip='$ip'";
$res = mysql_query($query) or trigger_error(mysql_error().$query);
if ($row = mysql_fetch_assoc($res)) {
session_start();
session_regenerate_id();
$_SESSION['usrname'] = $row['nick'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
if (isset($_GET['action']) AND $_GET['action']=="logout") {
session_start();
session_destroy();
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
if (isset($_REQUEST[session_name()])) session_start();
if (isset($_SESSION['usrname']) AND $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']) return;
else {
echo "
<form method='POST'>
Логин:<br>
<input type='text' name='auth_name'><br>
Пароль:<br>
<input type='password' name='auth_pass'><br><br>
<input type='submit' value=Вход><br>
</form>
";
}
exit;
?>
2. Потом его перекидывает на страницу вывода товаров, код такой:
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=KOI8-R" />
<?php
$PageTitle = "Профиль";
?>
</head>
<body>
<span style="font-weight: bold;">Список товаров
<a href="new-tovar.php">Добавить товар</a></span>
<br>
<br>
<?php
include ('auth.php');
/* Определяем количество сообщений на странице */
$lim = "20";
@$page = $_GET['page'];
/* Меняем table на название вашей таблицы и не забываем указывать дополнительные параметры выборки (если они у вас есть) */
$res = mysql_query("SELECT COUNT(*) FROM tovar ORDER BY data");
$row = mysql_fetch_array($res);
$posts = $row[0];
$str = ceil($posts/$lim);
if(empty($page) or $page < 0) $page = 1;
if($page > $str) $page = $str;
$start = $page * $lim - $lim;
/* Дальше подставляете свой код вывода данных из базы в цикле, но обязательно укажите LIMIT $start, $lim */
$result = mysql_query("SELECT data,name,harakter,srok,cena,kolichestvo,summa,kuda,provereno FROM tovar LIMIT $start, $lim",$db);
$myrow = mysql_fetch_array($result);
//теперь нам надо узнать сколько в массиве $result строчек, это делается так:
$n=mysql_num_rows($result);
//вывод на страничку, выводить будем в виде таблицы
echo "<table border=1>
<tr><th>Дата</th><th>Название</th><th>Характеристика</th><th>Гарант. срок</th><th>Цена</th><th>Кол-во</th><th>Сумма</th><th>Куда</th><th>Проверено</th></tr>";
// и теперь в цикле выводим построчно
for($i=0;$i<$n;$i++)
echo
"<tr><td>",mysql_result($result,$i,data),
"</td><td>",mysql_result($result,$i,name),
"</td><td>",mysql_result($result,$i,harakter),
"</td><td>",mysql_result($result,$i,srok),
"</td><td>",mysql_result($result,$i,cena),
"</td><td>",mysql_result($result,$i,kolichestvo),
"</td><td>",mysql_result($result,$i,summa),
"</td><td>",mysql_result($result,$i,kuda),
"</td><td>",mysql_result($result,$i,provereno),
"</td></tr>";
echo "</table>";
{printf ("<p>%s</p>",$myrow["title"]);}
while ($myrow = mysql_fetch_array ($result));
/* Дальше все остается без изменений */
echo '<a href=?page='. ($page - 1) .'>Назад</a>**';
$i=1;
while ($i <= $str)
{
if ($i==$page)
{echo '<strong><a href=?page='.$i.'>'.$i.'</a></strong>*';}
else
{echo '<a href=?page='.$i.'>'.$i.'</a>*';}
$i = $i+1;
}
echo '**<a href=?page='. ($page + 1) .'>Вперед</a>';
?>
</body>
</html>
Сделал так:
Код:
<?php
include ('auth.php');
if (isset($_POST['auth_name'])) {
$name=mysql_real_escape_string($_POST['auth_name']);
$pass=mysql_real_escape_string($_POST['auth_pass']);
$ip = $_SERVER['REMOTE_ADDR'];
$query = "SELECT * FROM login WHERE nick='$name' AND pass='$pass' AND ip='$ip'";
//В базе: all -админ, а пустое поле - обычный юзер
if ($admin)
$query="SELECT * FROM tovar WHERE group='all'";
else
$query="SELECT * FROM tovar WHERE auth_name='".mysql_real_escape_string($name)."'";
$res = mysql_query($query) or trigger_error(mysql_error().$query);
if ($row = mysql_fetch_assoc($res)) {
session_start();
session_regenerate_id();
$_SESSION['usrname'] = $row['nick'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
if (isset($_GET['action']) AND $_GET['action']=="logout") {
session_start();
session_destroy();
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
if (isset($_REQUEST[session_name()])) session_start();
if (isset($_SESSION['usrname']) AND $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']) return;
else {
echo "
<form method='POST'>
Логин:<br>
<input type='text' name='auth_name'><br>
Пароль:<br>
<input type='password' name='auth_pass'><br><br>
<input type='submit' value=Вход><br>
</form>
";
}
exit;
?>
И не работает... В чем ошибка? Я с этим только начал работать и учиться, поэтому не пинайте, а разьясните пожалуйста...
|