[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подскажите как быть!?
xxxsanchosxxx
Доброе время суток! Проблема в том, что после этого скрипта идет include где я подключаю правый блок, и хоть 1-ое условие скрипта выполняется или не выполняется этот блок просто пропадает! Как исправить?!
<?PHP
if (empty($login) or empty($password) or $_POST['code'] != $_SESSION['rand_code'] )
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
include './block/db.php';
$res = mysql_query("SELECT COUNT(*) AS `cnt`
FROM `user`
WHERE `login` ='"
. mysql_real_escape_string($login) ."'");

if(mysql_result($res, 0) > 0)
{
// Сообщаем юзеру неприятные известия
echo 'Есть у нас уже один '. htmlspecialchars ($login).'.<br><br> Попробуйте выбрать другой логин.',"<br>";
}
else
{
// А если нет, создаем учетную запись
$result3 = mysql_query("INSERT INTO `user`
SET `login` = '"
. mysql_real_escape_string($login)."',
`password` = '"
. md5($password) ."'");
if ($result3=='TRUE')
{
echo "Вы успешно зарегистрированы!

Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>"
;
}
else {
echo "Ошибка! Вы не зарегистрированы.";
}
}

?>




Спустя 1 час, 29 минут, 19 секунд (5.12.2010 - 04:39) Renden написал(а):
exit прекращает выполнение скрипта, все что ниже будет проигнорированно

Спустя 8 часов, 12 минут, 43 секунды (5.12.2010 - 12:51) linker написал(а):
Откудова $login и $password берутся?

Спустя 4 часа, 40 минут, 31 секунда (5.12.2010 - 17:32) xxxsanchosxxx написал(а):
Так как мне зделать что б <? include './block/righttd.php'; ?> прошол!?
Вот полный скрипт:

<?php
session_start();
if(isset ($_POST['login']))
{
$login = $_POST['login'];
if ($login == '') { unset($login);}
}

if (isset($_POST['password']))
{
$password=$_POST['password'];
if ($password =='') { unset($password);} }
if (isset($_POST['email']))
{
$email = $_POST['email'];
if ($email == '') { unset($email);} }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/htm14/loose.dtd">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<
title>Регистрация пользователя</title>
<
link href="style.css" rel="stylesheet" type="text/css" />

<
style type="text/css">
<!--
.
style1 {color: #FFF}
-->
</
style>
</
head>

<
body>
<
table width="1024" border="0" class="border">
<
tr>
<
td height="56" colspan="3"><table width="1024" height="87" border="0" align="center" class="border">
<
tr>
<
td width="602" height="36"><a href="regestration.php" target="_self">sign in</a></td>
<? include './block/korzina.php'; ?>
<?
include './block/avtorize.php'; ?>
</tr>
</
table></td>
</
tr>
<
tr>
<? include './block/lefttd.php'; ?>
<td width="502">
<?php
if (empty($login) or empty($password) or $_POST['code'] != $_SESSION['rand_code'] )
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email)) //проверка е-mail адреса регулярными выражениями на корректность
{exit ("Неверно введен е-mail!");}
include './block/db.php';
$res = mysql_query("SELECT COUNT(*) AS `cnt`
FROM `user`
WHERE `login` ='"
. mysql_real_escape_string($login) ."'");

if(mysql_result($res, 0) > 0)
{
// Сообщаем юзеру неприятные известия
echo 'Есть у нас уже один '. htmlspecialchars ($login).'.<br><br> Попробуйте выбрать другой логин.',"<br>";
}
else
{
$password2 = md5($password);//шифруем пароль


// А если нет, создаем учетную запись

$result3 = mysql_query("INSERT INTO `user`
SET `login` = '"
. mysql_real_escape_string($login)."',
`password` = '"
. mysql_real_escape_string($password2) ."',
`email` = '"
. mysql_real_escape_string($email) ."'");
if ($result3=='TRUE')
{
echo "Вы успешно зарегистрированы!

Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>"
;
}
else {
echo "Ошибка! Вы не зарегистрированы.";
}
}

?>
</td>
<? include './block/righttd.php'; ?>
</tr>
</
table>
</
body>
</
html>



Спустя 16 минут, 26 секунд (5.12.2010 - 17:48) Dron19 написал(а):
кажись проблема в другом, в include он у тебя путь не правильно ищет!
Попробуй так <? include "/block/righttd.php"; ?> или так <? include "../block/righttd.php"; ?>

Спустя 7 часов, 44 минуты, 1 секунда (6.12.2010 - 01:32) xxxsanchosxxx написал(а):
Цитата
exit прекращает выполнение скрипта, все что ниже будет проигнорированно

Вот правильная мысль! Вопрос в том что зделать что б
<? include './block/righttd.php'; ?>
работал после того когда выполнится условие
if (empty($login) or empty($password) or $_POST['code'] != $_SESSION['rand_code'] ) 
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}

Спустя 1 день, 19 часов, 55 минут, 19 секунд (7.12.2010 - 21:28) xxxsanchosxxx написал(а):
Что некто не поможет?

Спустя 16 часов, 57 минут, 48 секунд (8.12.2010 - 14:25) kyvour написал(а):
Я не нашел ниче лучшего, кроме как вместо exit поставить echo

Спустя 5 часов, 5 минут, 6 секунд (8.12.2010 - 19:30) inpost написал(а):
irbis-team.com ,
вместо exit() надо либо редирект на страницу ошибки, либо просто вывод ошибки. Работа над таким скриптом должна проходить на одной странице, что и форма. Если происходит ошибка, то её выводить над формой, а далее снова форму, а не exit()!
Быстрый ответ:

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