19.07.2012 / 11:59 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Koenig, спасибо. Зделал по примеру
|
26.07.2012 / 12:45 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Если запускаю буферизацию: и использую заголовки в любом месте, ошибки не выдает. Это что такой метод обхода? Или все же может неожидано на что-то повлиять? все пишу как всегда, просто в начале тот код пишу и все. Изменено Dinisimys1 (26.07 / 12:46) (всего 1 раз) |
26.07.2012 / 13:23 | |
Koenig Модератор форума Сейчас: Offline
Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
| вывод из буфера. имеется?
__________________
Магистр Мёда |
26.07.2012 / 13:26 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Koenig, неа. Код простой, просто в начало пишу ту функцию и все.
|
26.07.2012 / 13:28 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Открыть спойлер Закрыть спойлер require_once "function.php";
require_once "../db.php";
ob_start();
if (User())
{
$log1=$_COOKIE['log'];
$pass1=$_COOKIE['pass'];
$time_online=time()+300;
mysql_query("UPDATE `user` SET `time_online` = '$time_online' WHERE `login` = '$log1'");
$id1=MysqlSelect('user','id','login',$log1);
if (User()) $rang1=MysqlSelect('user','rang','login',$log1);
else $rang1=0;
}
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>'.$modul_name.'</title>
<link rel="stylesheet" href="../style/style.css" type="text/css" />
<script>
function setCookie(c_name, value, exdays) {
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
setCookie("nojs", "yes", 365);
</script>';
if (empty($_COOKIE['nojs'])) echo '<meta http-equiv="refresh" content="1;url=../nojs.php">';
setcookie('nojs','yes',time()-290000);
if (!empty($bbcode))
{
echo '<script>function tag_add(obj, str1, str2)
{
obj.focus();
if(document.selection)
{
var s = document.selection.createRange();
if(s.text)
{
if(str2!="")s.text = str1 + s.text + str2;
else s.text = str1;
s.select();
}
else
{
s.text = str1 + s.text + str2;
s.select();
}
return true;
}
else if (typeof(obj.selectionStart) == "number")
{
if (obj.selectionStart != obj.selectionEnd)
{
var start = obj.selectionStart;
var end = obj.selectionEnd;
s = obj.value.substr(start,end-start);
tmp=obj.value.substr(end);
if(str2!="")obj.value = obj.value.substr(0, start) + str1 + s + str2;
else obj.value = obj.value.substr(0, start) + str1;
tmpsel = obj.value.length - str2.length;
tmpscroll=obj.scrollHeight;
cnt = obj.value.split(/[\r\n]/g).length;
obj.value+=tmp;
obj.selectionStart = obj.selectionEnd = tmpsel;
if(cnt>obj.rows)obj.scrollTop = tmpscroll-12;
}
else
{
var start = obj.selectionStart;
tmp=obj.value.substr(start);
obj.value = obj.value.substr(0, start) + str1 + str2;
tmpsel = obj.value.length - str2.length;
tmpscroll=obj.scrollHeight;
cnt = obj.value.split(/[\r\n]/g).length;
obj.value+=tmp;
obj.selectionStart = obj.selectionEnd = tmpsel;
if(cnt>obj.rows)obj.scrollTop = tmpscroll;
}
return true;
}
return false;
}
</script>';
}
echo '</head>
<body>
<div class="block_t"><a href="/"><img src="../style/logo.png" alt="На главную"></a></div>
<div class="menu" id="glav">';
if (User())
{
$n_result=mysql_num_rows(mysql_query("SELECT*FROM `mail` WHERE `id` = '$id1' AND `status` = 'new'"));
echo '<a href="../user/page.php">Моя страница</a> | <a href="../user/mail.php">Почта</a> [<a class="red" href="../user/new.php?page=1">'.$n_result.'</a>] | <a href="../user/friend.php">Друзья</a> | <a href="../user/exit.php">Выход</a>';
}
else echo '<a href="../user/reg.php">Регистрация</a> | <a href="../user/enter.php">Авторизация</a>';
echo '</div><div class="block_l"';
if ($rang1 > 0) echo ' style="max-height: 208px"';
echo '>
<div class="menu_l"><a href="../blog/index.php?cat=astrnomy">Астрономия</a></div>
<div class="menu_l"><a href="../blog/index.php?cat=physics">Физика</a></div>
<div class="menu_l"><a href="../blog/index.php?cat=chemistry">Химия</a></div>
<div class="menu_l"><a href="../blog/index.php?cat=it">IT-сфера</a></div>
<div class="menu_l"><a href="../blog/index.php?cat=machines">Машины</a></div>
<div class="menu_l"><a href="../blog/index.php?cat=arms">Вооружение</a></div>
<div class="menu_l"><a href="../blog/index.php?cat=energy">Энергетика</a></div>
<div class="menu_l"><a href="../blog/index.php?cat=biology">Биология</a></div>';
if ($rang1 > 0) echo '<a href="../blog/newpost.php"><input type="button" value="Создать запись" /></a>';
echo '</div><div class="block_c">';
например этот скрипт. 4строка. А вот 37 строка с ошибкой. Без 4 выдает ошибку, а с ней все ок Изменено aNNiMON (27.07 / 17:49) (всего 2 раза) |
26.07.2012 / 14:40 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Открыть спойлер Закрыть спойлер <?php
require_once "../class.php";
if (User())
{
header("Location: /");
exit;
}
$registr=true;
$modul_name="Регистрация нового пользователя";
require_once "../head.php";
if (!empty($_POST['sum']))
{
class Registr
{
public $error='';
public $login;
public $pass;
public $email;
public $code;
public $captcha;
function __conctruct()
{
$this->login['login']=$_POST['login'];
$this->pass['пароль']=$_POST['pass'];
$this->email['email']=$_POST['email'];
$this->code['код с картинки']=$_POST['code'];
$this->captcha=$_POST['captcha'];
}
private function Is($var)
{
$this->error.=(empty(current($var))) ? 'Введите '.key($var).'<br />' : '';
}
private function In($var)
{
$arr='user,'.key($var).','.current($var);
$m=new Mysql($arr);
$this->error.=($m->mBool()) ? 'Такой '.key($var).' уже используеться.<br />' : '';
}
private function Size($var)
{
$this->error.=(5 > strlen(current($var)) and strlen(current($var))< 28) ? '' : key($var).' виходит за диапазон 5-28сим.<br />'
}
private function Valid($var,$preg="/[W]/")
{
$this->error.=(!preg_match($preg,current($var))) ? key($var).' имеет не верный формат.<br />' :
}
public function Error()
{
Is($this->login);
if ($this->error != '')
{
Size($this->login);
if ($this->error != '')
{
In($this->login);
if ($this->error != '') Valid($this->login);
}
}
Is($this->pass);
if ($this->error != '')
{
Size($this->pass);
if ($this->error != '')
{
In($this->pass);
if ($this->error != '') Valid($this->pass);
}
}
Is($this->email);
if ($this->error != '')
{
Size($this->email);
if ($this->error != '')
{
In($this->email);
if ($this->error != '') Valid($this->email,"/^[-_a-zA-Z0-9]+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9]+$/");
}
}
Is($this->code);
$this->error.=($this->captcha != $this->code) ? 'Не верный код с картинки' : '';
return ($this->error != '') false : true;
}
}
$reg=new Registr();
if ($reg->Error()) echo $reg->error;
else
{
echo 'Регистрация прошла успешно.<br />
Логин: '.$reg->login.'<br />
Пароль: '.$reg->pass.'<br />
E-mail: '.$reg->email.'<br />
<a href="enter.php">Авторизация</a>';
$mes='Вы зарегистрировались на сайте <a href="http://mobonline.net">monline.net</a><br />
Ваши данные:<br />Логин:<br />'.$reg->login.'<br />Пароль:'.$reg->pass.'<br />';
mail($reg->email,"Регистрация на UKR-BLOG.NET",$mes,"Content-type: text/xhtml \r\n");
$pas=md5($reg-pass);
mysql_query("INSERT INTO `user` SET `login`='$reg->login', `password`='$pass', `email`='$reg->email'");
}
$registr=true;
}
if (!$registr)
{
$captcha=substr(md5(time()),0,4);
echo Div('menu','Регистрация').'<form action="reg.php" method="post">
<form method="post" action="reg.php" />
Логин: <input type="text" name="login" /><br /><br />
Пароль: <input type="text" name="pass" /><br /><br />
E-mail: <input type="text" name="email" /><br /><br />
Введите код с картинки: <img src="../captcha.php?captcha='.$captcha.'" alt="Каптча не отображается" /> <input type="text" name="code" /><br /><br />
<input type="hidden" name="captha" value="'.$captcha.'" />
<input type="submit" name="sum" value="Регистрация" />
</form>'
}
HtmlEnd();
?>
выдает ошибку Fatal error: Can't use function return value in write context in W:\html\test\www\user\reg.php on line 31 Изменено Dinisimys1 (26.07 / 14:42) (всего 1 раз) |
26.07.2012 / 15:29 | |
Koenig Модератор форума Сейчас: Offline
Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
| классы в самый низ убери, они работают не зависимо от положения в коде
__________________
Магистр Мёда |
26.07.2012 / 15:33 | |
Koenig Модератор форума Сейчас: Offline
Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
| свойство ошибки сделай массивом, и добавляй ошибки как элемент массива, потом при проверки на количество элементов в массиве выводи циклом значения, как я в почте делал. ты вроде видел
__________________
Магистр Мёда |
26.07.2012 / 15:34 | |
Koenig Модератор форума Сейчас: Offline
Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
| куррент, это текущий элемент массива, обычно в циклах используется для вывода текущего элемента, у тебя же ошибка идет как строка
__________________
Магистр Мёда |
26.07.2012 / 19:48 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Koenig, куррент я для массива использую ведь. В конструкторе создаю ассоциативный массив. Или же так нельзя?
|