5.10.2015 / 11:32 | |
JSBmanD Пользователь Сейчас: Offline
Имя: Dimitro Откуда: Санкт-Петербург Регистрация: 17.10.2012
| Banschey, or die('Линия 35'.[вот тут стоит точка, но закрывающей нет]mysql_error());
__________________
No thing is perfecT |
5.10.2015 / 15:41 | |
Banschey Пользователь Сейчас: Offline
Имя: Banschey Откуда: Донецк, Украина Регистрация: 22.03.2015
| JSBmanD, Я уже понял, теперь не могу правильно куки выслать пишет что заголовок уже отправлен. Странно то что на хостинге все работает а не денвере нет |
5.10.2015 / 18:26 | |
web_demon Супервизор Сейчас: Offline
Регистрация: 11.01.2010
| Banschey, Где то что-то выводишь перед заголовками, может пробел до знака <?php, или там BOM стоит.
|
5.10.2015 / 19:18 | |
Banschey Пользователь Сейчас: Offline
Имя: Banschey Откуда: Донецк, Украина Регистрация: 22.03.2015
| web_demon, я все прелопатил через notedpad++. Я с веб знаком недели 2 так что приготовтесь к быдлокоду. вот весь код: index.php Открыть спойлер Закрыть спойлер <!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Что-то не понятное</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="container">
<div id="header" >Шапка сайта
<div id="form" style="text-align:center;float:right">
<?php
include('chek.php');
?>
</div>
</div>
<div id="navigation></div>
<div id="menu" >Зарегистрированные:<br>
<hr style="border-style:solid;border-width:1px;">
<?php
include('get_users.php');
?>
</div>
<div id="content">
</div>
<div id="clear"> </div>
</div>
<div id="footer" style="text-align:center;font-size:15px;"></div>
</body>
</html>
chek.php Открыть спойлер Закрыть спойлер <?
$link=mysqli_connect("localhost", "root", "", "");
if (isset($_COOKIE['id']) and isset($_COOKIE['hash']))
{
$query = mysqli_query($link, "SELECT * FROM Users WHERE id = '".intval($_COOKIE['id'])."'");
$userdata = mysqli_fetch_assoc($query);
if($userdata['hash'] != $_COOKIE['hash'])
{
session_start();
unset($_SESSION['id']);
setcookie("hash","");
setcookie("id","");
header('location:index.php');
}
if($userdata['id'] != $_COOKIE['id'])
{
session_start();
unset($_SESSION['id']);
setcookie("hash","");
setcookie("id","");
header('location:index.php');
}
else
{
echo('<p class="style2" align="center">Привет, '.$userdata['Name'].' </p>');
echo('<form method="POST">
<input class="button" name="Exit" type="submit" value="Выход">
</form>');
}
}
else
{
include('login.php');
}
?>
<?
if(isset($_POST['Exit']))
{
session_start();
unset($_SESSION['id']);
setcookie("hash","");
setcookie("id","");
header('location:index.php');
}
?>
login.php Открыть спойлер Закрыть спойлер <?
function generateCode($length=6) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789";
$code = "";
$clen = strlen($chars) - 1;
while (strlen($code) < $length) {
$code .= $chars[mt_rand(0,$clen)];
}
return $code;
}
# Соединямся с БД
$link=mysqli_connect("localhost", "", "", "");
if(isset($_POST['submit']))
{
# Вытаскиваем из БД запись, у которой логин равняеться введенному
$query = mysqli_query($link,"SELECT id, Password FROM Users WHERE Name='".mysqli_real_escape_string($link,$_POST['name'])."' LIMIT 1");
$data = mysqli_fetch_assoc($query);
# Сравниваем пароли
if($data['Password']==($_POST['pass']))
{
# Генерируем случайное число и шифруем его
$hash = md5(generateCode(10));
# Записываем в БД новый хеш авторизации и IP
mysqli_query($link, "UPDATE Users SET hash='".$hash."'WHERE id='".$data['id']."'");
# Ставим куки
setcookie("id", $data['id'], time()+3600);
setcookie("hash", $hash, time()+3600);
# Переадресовываем браузер на страницу проверки нашего скрипта
header("Location: index.php"); exit();
}
else
{
print "Ну ты инвалид !";
}
}
?>
Вход
<form method="POST">
<p style="line-height:0.2;text-align:left">Имя:<input style="float:right; margin-top:-0.6em;" type="text" name="name" /></p>
<p style="line-height:0.2;text-align:left">Пароль:<input style="float:right;margin-top:-0.6em;" type="password" name="pass" /></p>
<input style="margin-left:auto" name="submit" type="submit" value="Войти" /> <a style="font-size:15px;" href="register_page.php">Зарегистрироваться ?</a>
</form>
get_users.php Открыть спойлер Закрыть спойлер <?php
$link=mysql_connect("localhost", "", "");
mysql_select_db('', $link);
$s="SELECT * FROM Users;";
$r=mysql_query($s);
mysql_close($link);
while ($q=mysql_fetch_row($r))
{ echo '<div>' .$q[1].'<br> </div>';}
?>
|
5.10.2015 / 19:59 | |
HoldFast Пользователь Сейчас: Offline
Имя: Андрей Откуда: Великие Луки Регистрация: 18.04.2011
| Нельзя писать заголовки (header) если уже что-то выведено
__________________
Да, детка, я - Король Ящериц!!! |
5.10.2015 / 20:04 | |
Banschey Пользователь Сейчас: Offline
Имя: Banschey Откуда: Донецк, Украина Регистрация: 22.03.2015
| HoldFast, header("Location: index.php"); exit(); всмысле это ?
|
5.10.2015 / 20:06 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| Banschey, да
|
5.10.2015 / 20:07 | |
Banschey Пользователь Сейчас: Offline
Имя: Banschey Откуда: Донецк, Украина Регистрация: 22.03.2015
| Но этот код работает ) но только на хостинге а на локеле ошибка.
|
5.10.2015 / 20:09 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| Banschey, инклудишь файлы в которых header(), а перед этим выводишь html. Из-за этого ошибка. Переписывай
|
5.10.2015 / 20:09 | |
Banschey Пользователь Сейчас: Offline
Имя: Banschey Откуда: Донецк, Украина Регистрация: 22.03.2015
| Ладн не хочу вас мучать тупыми вопросами, посоветуйте литературу для полного новичка веб. Как и где запускать скрипт, что так можно а так нельзя итд итп.
|