Назад

Ошибка!!!

Автор: vixa2012: Дата: 04.14.2011

Люди помогите вот у меня скрипт регистрации


session_start();
include("connect.php");



if (isset($_POST['submit']))
{
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring'])
{
if(empty($_POST['login']))
{
$message= 'Вы не ввели логин
';
}
elseif( !(preg_match("/^[a-zA-Z0-9]+$/si", $_POST['login'])))
{
$message= 'недопустимый символ
';
}
elseif(empty($_POST['password']))
{
$message= 'Вы не ввели пароль
';
}
elseif(empty($_POST['password2']))
{
$message= 'Вы не ввели подтверждение пароля
';
}
elseif($_POST['password'] != $_POST['password2'])
{
$message= 'Введенные пароли не совпадают
';
}
elseif(empty($_POST['email']))
{
$message= 'Вы не ввели E-mail
';
}


elseif( !( preg_match("/^[a-z0-9_-]{1,20}+(\.){0,2}+([a-z
0-9_-]){0,5}@(([a-z0-9-]+\.)+(com|net|org|ru|mil|".
"edu|gov|arpa|info|biz|inc|name|
[a-z]{2})|[0-9]{1,3}\.[0-9]{1,3}\.[0-".
"9]{1,3}\.[0-9]{1,3})$/is",$_POST['email'])))
{
$message= 'Неправельный E-mail
';
}
elseif (strlen($_POST['login']) < 4)
{
$message= 'Имя аккаунта слишком короткое!
';
}
elseif (strlen($_POST['login']) > 15 )
{
$message= 'Имя аккаунта слишком длинное!
';
}
elseif (strlen ($_POST['password']) < 4)
{
$message= 'Пароль слишком короткий!
';
}
elseif (strlen ($_POST['password']) > 20)
{
$message= 'Пароль слишком длинный
';
}

elseif( !(preg_match("/^[FM]+$/si", $_POST['gender'])))
{
$message= 'Пол указан не верно';
}
else
{
$login = $_POST['login'];

$password =(md5($_POST['password']));
$password2 = $_POST['password2'];
$email = $_POST['email'];
$gender=$_POST['gender'];
$query = "SELECT `account_id` FROM `login` WHERE `userid`='".$login."'";
$sql = mysql_query($query) or die('немогу соединиться с базой данных');
if (mysql_num_rows($sql) > 0)
{
$message= 'Такой аккаунт уже существует
';
}

else

{
$query1 = "INSERT INTO login (userid ,user_pass ,email ,sex )
VALUES ('$login', '$password', '$email', '$gender')";
$result = mysql_query($query1) or die(mysql_error());
$message= 'Поздравляем! Вы зарегистрированны.
Ваш аккаунт: "'.$login.'"
Ваш E-mail:"'.$email.'"
Запомните их! Они помогут при восстановлении. ';
}
}
}
else
{
$message='Неверно введен код с картинки!';
}
}



?>




High-Ro | Регистрация



































































Длина от 4 до 15 символов
Имя аккаунта
Длина от 4 до 20 символов
Пароль
Повторите пароль
Email адрес
Пол: Муж. Жен.


Введите символы с картинки




echo $message;
?>

















код рабочий на 100% только вот у меня такой подвох!!!
Когда я кидаю файл register.php в корневую папку сайта "site"
и прописываю http://vixa.sytes.net/register.php
то открывается страничка регистрации в новом окне на белом фоне и без ошибок

но когда я кинул register.php в папку site/pages
и сделал чтобы регистрация происходила на страничке http://vixa.sytes.net/index.php?id=reg
то вот с такой ошибкой столкнулся которую пишет внизу под регистрацией

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\site\index.php:3) in C:\site\conf\register.php on line 2


Чо за хреновина скрипт то работает хоть даже и ошибку выдает можно региться но как убрать эту ошибек без session_start скрипт не работает
Значить что я испробывал : Менял кодировку в utf-8 непомогает только символы меняются на непонятные но ошибка весит дописывал другие коды типо session_name() ob_start() и много другого
на сайте у меня кодировка такая

Автор: NekoForce: Дата: 04.14.2011

В слепую попробую... Скинь сюда index.php и наверное в нем в 3 строке будет подключаться какой нить файл include... Файл который подключается тоже скинь...

Автор: NekoForce: Дата: 04.14.2011

Кажется разобрался... У тя в индексе в 3 строке session_start(); Так вот в первом случае http://vixa.sytes.net/register.php ты использовал этот скрипт отдельно от index.php, а сейчас же ты подключаешь через index примерно так
"register"=>"index.php?id=register",
Поэтому нет необходимости вызывать эту функцую дважды....
Это предпожение... Не вижу исходников..
Надеюсь это решит твою проблему

Автор: vixa2012: Дата: 04.15.2011

Панели не какие не использую все вынутое и мною переделаное Короче смотри сам вот скрипт index.php
Понимаеш я вижу тоже что пишет index line 3 но там тупо пропуск старт сессион только 1 раз используется в блокноте регистр





include("conf/serverstatus.php");

?>

include("conf/useronline.php");

echo "Сейчас на сервере ".$usersonline." человек(а).";

?>




High-Ro Ragnarok Online


















Быстрый поиск