session_start();
include './php_code/alert/database.php';
$tf = false;
if(isset($_POST['fname'],$_POST['fpass']))
{
$uname = $_POST['fname'];
$upass = $_POST['fpass'];
$res = mysql_query("SELECT * FROM users WHERE login='".mysql_real_escape_string($uname)."'",$db);
if (mysql_num_rows($res) > 0)
{
$row = mysql_fetch_assoc($res);
if ($row['password'] === $upass)
{
$_SESSION['login'] = $row['login'];
$_SESSION['password'] = $row['password'];
$value_co = md5($_SESSION['login'].$_SESSION['password'].date('m/Y'));
$res = mysql_query("UPDATE users SET cookie='".$value_co."' WHERE id='".(int)$row['id']."'",$db);
if ($res > 0)
{
setcookie('c_user',$value_co,time()+2592000);
}
}
}
}
если я вот это напишу на странице то работает:
$db = mysql_connect("localhost", "Serginho", "12345")
or die("Не могу соединиться с базой данных");
mysql_select_db('mydatabase',$db);
если я это засуну в другой
php файл, и подсоединю с помощью include, то пишет ошибку, и кука в браузер не заносится
на 24 строке как раз и находится
setcookie('c_user',$value_co,time()+2592000);
вообще я хотел весь скрипт так засунуть в один файл отдельно, но получается тоже самое
Спустя 9 минут, 58 секунд (24.10.2010 - 15:46) Romms написал(а):
SerginhoLD, это значит что в файле ./php_code/alert/database.php есть какой-то код кроме РНР или тот что-то выводит.
Возможно перед <?php стоит пробел
Спустя 7 минут, 41 секунда (24.10.2010 - 15:54) SerginhoLD написал(а):
Спустя 4 минуты, 21 секунда (24.10.2010 - 15:58) Romms написал(а):
на изобр. с2 я не вижу закрывающий тег ?> допиши его в конце файла
Спустя 1 минута, 23 секунды (24.10.2010 - 15:59) waldicom написал(а):
Цитата (Romms @ 24.10.2010 - 14:58) |
на изобр. с2 я не вижу закрывающий тег ?> допиши его в конце файла |
Закрывающий тег не обязателен, а иногда и вреден
Спустя 1 минута, 57 секунд (24.10.2010 - 16:01) SerginhoLD написал(а):
и с закрывающ. не работает, я уже пробывал
Спустя 2 минуты, 31 секунда (24.10.2010 - 16:04) Romms написал(а):
посмотри исходный код этой страницы, что выводит перед варнингом?
Спустя 2 минуты, 22 секунды (24.10.2010 - 16:06) SerginhoLD написал(а):
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at S:\home\localhost\www\mysait\php_code\alert\database.php:1) in <b>S:\home\localhost\www\mysait\index.php</b> on line <b>22</b><br />
Спустя 5 минут, 57 секунд (24.10.2010 - 16:12) Romms написал(а):
SerginhoLD, запустил ваш код у себя на локалке - заработал!
Значит либо что-то не сказали либо что-то с настройками
Спустя 4 минуты, 38 секунд (24.10.2010 - 16:17) SerginhoLD написал(а):
сказал я все

<?php
session_start();
include './php_code/alert/database.php';
$tf = false;
if(isset($_POST['fname'],$_POST['fpass']))
{
$uname = $_POST['fname'];
$upass = $_POST['fpass'];
$res = mysql_query("SELECT * FROM users WHERE login='".mysql_real_escape_string($uname)."'",$db);
if (mysql_num_rows($res) > 0)
{
$row = mysql_fetch_assoc($res);
if ($row['password'] === $upass)
{
$_SESSION['login'] = $row['login'];
$_SESSION['password'] = $row['password'];
$value_co = md5($_SESSION['login'].$_SESSION['password'].date('m/Y'));
$res = mysql_query("UPDATE users SET cookie='".$value_co."' WHERE id='".(int)$row['id']."'",$db);
if ($res > 0)
{
setcookie('c_user',$value_co,time()+2592000);
}
}
}
}
if(isset($_SESSION['login'],$_SESSION['password']))
{
$uname = $_SESSION['login'];
$upass = $_SESSION['password'];
$res = mysql_query("SELECT * FROM users WHERE login='".mysql_real_escape_string($uname)."'",$db);
if (mysql_num_rows($res) > 0)
{
$urow = mysql_fetch_assoc($res);
if ($urow['password'] === $upass)
$tf = true;
}
}
else
{
if (isset($_COOKIE['c_user']))
{
$res = mysql_query("SELECT * FROM users WHERE cookie='".mysql_real_escape_string($_COOKIE['c_user'])."'",$db);
if (mysql_num_rows($res) > 0)
{
$urow = mysql_fetch_assoc($res);
$_SESSION['login'] = $urow['login'];
$_SESSION['password'] = $urow['password'];
$tf = true;
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>
<link href="style/style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/jquery.js"></script>
<title>Example HTML 5 document</title>
</head>
<body>
<?php
if ($tf === true)
{
echo "avtoriz.<br>";
}
else echo "net dost";
?>
</body>
</html>
database.
php :
<?php $db = mysql_connect('localhost','Serginho','12345'); mysql_select_db('mydatabase',$db); ?>
А какие могут быть настройки? Denwer обычный, ничего не менял
p.s. в том что идело код рабочий, а при include уже не рабочий
Спустя 13 минут, 28 секунд (24.10.2010 - 16:30) inpost написал(а):
SerginhoLD
Может там символ в начале какой-то стоит? и для удобства пиши в строчку, тогда символ не пропустишь никогда: <?php session_start();
Спустя 11 минут, 2 секунды (24.10.2010 - 16:41) SerginhoLD написал(а):
да я уже и так пробывал, и переписывал заново. ЧЕм ему то что в include не нравится, вот просто неврубаюсь
просто тоскать то на каждой станице не хочется, а если че поменять надо будет, то это пипец, все страницы изменять придется
Спустя 3 минуты, 28 секунд (24.10.2010 - 16:45) nugle написал(а):
попробуй require вместо include
Спустя 8 минут, 37 секунд (24.10.2010 - 16:53) SerginhoLD написал(а):
Спустя 12 минут (24.10.2010 - 17:05) inpost написал(а):
Убери всё лишнее, оставь в первом файле session_start + include, во втором - соединение с БД. Запусти - если будут ошибки - прикрепи оба файла сюда, я у себя посмотрю.
Спустя 5 минут, 22 секунды (24.10.2010 - 17:11) SerginhoLD написал(а):
так ошибок нет, правда кодировка накрылась
Спустя 8 минут, 28 секунд (24.10.2010 - 17:19) SerginhoLD написал(а):
я в шоке
удалил файл database. Создал новый с кодировкой 1251, удалил оотуда все, и вставил весь скрипт, и аллилуя!
Спустя 15 часов, 12 минут, 25 секунд (25.10.2010 - 08:32) linker написал(а):
Очередной UTF-8 BOM, столько тем уже с этой проблемой, что поиск загибается от количества результатов
_____________
"internet explorer всех правильней отображает страницы" ©