Перейти к содержимому

Сервис обмена электронных валют


Срочно за исправление ошибки 30 руб.

#1 Tremaskin

Tremaskin
  • Пользователь
  • 2 сообщений
  • Репутация: 0
0

Отправлено 16 Май 2013 - 21:04

При отправки ответа впишите киви кошелек ( отправлю сразу ) если яндекс деньги счет впишите тогда чуть позже .


При входе в ак выдает вот такое

Предупреждение: Не могу изменить информацию в заголовке - заголовки уже отправлены (выход начался в /var/www/u6131417/public_html/***/login.php:1) в/var/www/u6131417/public_html/***/login.php на линии 29


Предупреждение: Не могу изменить информацию в заголовке - заголовки уже отправлены (выход начался в /var/www/u6131417/public_html/***/login.php:1) в/var/www/u6131417/public_html/***/login.php на линии 30

Предупреждение: Не могу изменить информацию в заголовке - заголовки уже отправлены (выход начался в /var/www/u6131417/public_html/***/login.php:1) в/var/www/u6131417/public_html/***/login.php на линии 31



вот код login.php
================================================

<?
$login=$_POST['login'];
$login=$_POST['password'];
require ("inc/connect.inc.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;
}
if(isset($_POST['status']))
{
$query = mysql_query("SELECT id, pass FROM ".$db_pref."users WHERE user='".mysql_real_escape_string($_POST['login'])."' LIMIT 1");
$data = mysql_fetch_assoc($query);
if($data['pass'] === md5(md5($_POST['password'].$sekretkey)))
{
$hash = md5(generateCode(10));
if(!@$_POST['not_attach_ip'])
{
$insip = ", login_ip=INET_ATON('".$_SERVER['REMOTE_ADDR']."')";
}
else{
$insip = ", login_ip='0'";
}
mysql_query("UPDATE ".$db_pref."users SET hash='".$hash."' ".$insip." WHERE id='".$data['id']."'");
setcookie("id", $data['id'], time()+60*60*24*30);
setcookie("hash", $hash, time()+60*60*24*30);
header("Location: account.php"); exit();
}
else
{
$urlpage='Логин';
include("header.php");
echo"
<div align='center' class='for'>
<span class='red'>
".$lang['hader10']."
</span>
</div>
";
include("footer.php");
exit();
}
}
?>


================================================


что НЕ ТАК ? срочно !!!

 

 

  • 0

#2 Kuchuluk

Kuchuluk
  • Пользователь
  • 315 сообщений
  • Репутация: 5

Отправлено 16 Май 2013 - 21:43

если такая ошибка, значит был вывод на экран перед куками. куки надо создавать перед всеми выводами на экран. посмотри может там вначале тег какой или пробел стоит
  • 0

#3 Tremaskin

Tremaskin
    Topic Starter
  • Пользователь
  • 2 сообщений
  • Репутация: 0

Отправлено 16 Май 2013 - 22:01

а где именно ?


  • 0

#4 Kuchuluk

Kuchuluk
  • Пользователь
  • 315 сообщений
  • Репутация: 5

Отправлено 16 Май 2013 - 22:23

вообще перед вот этим кодом

<?
$login=$_POST['login'];
$login=$_POST['password'];
require ("inc/connect.inc.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;
}
if(isset($_POST['status']))
{
$query = mysql_query("SELECT id, pass FROM ".$db_pref."users WHERE user='".mysql_real_escape_string($_POST['login'])."' LIMIT 1");
$data = mysql_fetch_assoc($query);
if($data['pass'] === md5(md5($_POST['password'].$sekretkey)))
{
$hash = md5(generateCode(10));
if(!@$_POST['not_attach_ip'])
{
$insip = ", login_ip=INET_ATON('".$_SERVER['REMOTE_ADDR']."')";
}
else{
$insip = ", login_ip='0'";
}
mysql_query("UPDATE ".$db_pref."users SET hash='".$hash."' ".$insip." WHERE id='".$data['id']."'");
setcookie("id", $data['id'], time()+60*60*24*30);
setcookie("hash", $hash, time()+60*60*24*30);
header("Location: account.php"); exit();
}
не должно быть никаких выводов на экран перед ним. перед <?php у тебя нет никаких пробелов или строки пустой, или теги какие-нибудь, даже doctype?

если нет ничего проверь кодировку. файл нужно сохранять в кодировке utf-8 без BOM. от этого еще может быть эта ошибка
  • 0

#5 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 17 Май 2013 - 12:06

Из ошибки ведь видно, что информация была отдана на 29,30 и 31 строках, после этого отправка заголовком невозможна.
  • 0
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.


#6 denis79513

denis79513
  • Пользователь
  • 56 сообщений
  • Репутация: 7

Отправлено 17 Май 2013 - 16:36

а где именно ?

Не самый удачный код, но если хочешь чтобы он заработал, вот это:
header("Location: account.php");
замени на это:
echo "<script>location.href='account.php';</script>";

  • 0

#7 html-ka

html-ka
  • Пользователь
  • 455 сообщений
  • Репутация: 82

Отправлено 17 Май 2013 - 22:45

echo "<script>location.href='account.php';</script>";

а это что?
  • 0

#8 denis79513

denis79513
  • Пользователь
  • 56 сообщений
  • Репутация: 7

Отправлено 18 Май 2013 - 06:48

а это, что за идиотизм?

header("Location: account.php");
будет работать только в том случае, если перед ним ничего не выводится наэкран, и в данном контексте эта функция не срабатывает и выдает ошибку, если не менять структуру кода, то можно заменить ее на аналог на js.
  • 1

#9 isvetlichniy

isvetlichniy
  • Пользователь
  • 619 сообщений
  • Репутация: 93

Отправлено 18 Май 2013 - 09:44

а это что?

а это то, что иногда очень даже спасает. header конечно хорошо, но использовать его далеко не всегда получается
  • 0

#10 html-ka

html-ka
  • Пользователь
  • 455 сообщений
  • Репутация: 82

Отправлено 18 Май 2013 - 10:26

но если не говнокодить, то не нужны будут костыли :D
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru