[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Include php file. Ошибка куки
SerginhoLD
session_start();
include './php_code/alert/database.php'; /* соединение с базой */
/* $db = mysql_connect("localhost", "Serginho", "12345")
or die("Не могу соединиться с базой данных"); /* соединение с базой данных
mysql_select_db('mydatabase',$db);*/

$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); /* 2592000 - 30 дней */
}
}
}
}

/* и.д.

если я вот это напишу на странице то работает:
$db = mysql_connect("localhost", "Serginho", "12345") 
or die("Не могу соединиться с базой данных");
mysql_select_db('mydatabase',$db);

если я это засуну в другой php файл, и подсоединю с помощью include, то пишет ошибку, и кука в браузер не заносится
Цитата
Warning: Cannot modify header information - headers already sent by (output started at S:\home\localhost\www\mysait\php_code\alert\database.php:1) in S:\home\localhost\www\mysait\index.php on line 24

на 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 написал(а):
user posted imageuser posted image

Спустя 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 написал(а):
<!--error--><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 написал(а):
сказал я все smile.gif

<?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); /* 2592000 - 30 дней */
}
}
}
}

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, столько тем уже с этой проблемой, что поиск загибается от количества результатов wink.gif


_____________
"internet explorer всех правильней отображает страницы" ©
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.