[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с exit
Денис
есть такой код:
if (!chec_code($_POST['code']))

{
exit ("Вы ввели неверно код с картинки");
}

Взят из скрипта регистрации пользователей. Если пользователь не верно ввёл капчу, то надо остановить регистрацию. Но проблема в том, что если код введён не верно, то exit полностью останавливает чтение всего что за ним находится. То есть если он находится в центре страницы, то после его срабатывания страницу обрубает на половину и нижней части нету.

Вопрос: как мне остановить регистрацию, показать пользователю сообщение что он не правильно ввёл код и остановить только регистрацию, а не прервать всю страницу до конца?

Зараннее благодарен за помощь.



Спустя 9 минут, 1 секунда (11.11.2009 - 11:41) stepan написал(а):
Способов много можно создать функцию в которой будет шаблон вывода сообщения что капча введена неверна и тогда уже останавливать работу скрипта.

if ( !isset ( $_SESSION['login'] ) )
{
echo my_func (); //выводим результат работы функции
exit;
}

Спустя 6 минут, 31 секунда (11.11.2009 - 11:47) Guest написал(а):
Данный вариант я тоже рассматривал. Пропишу exit и опять обрубит он всё что за ним стоит. Даж не знаю что делать.

У меня страница состоит из левого блока, центра, правого и нижней части. Пользователь вводит капчу в центре и если он сделал это не правильно срабатывает exit и правый блок вместе с низом не отобразаются + к эотому вся страница съезжает наперекосяк.

Спустя 7 минут, 50 секунд (11.11.2009 - 11:55) Romms написал(а):
Промерно так:

if ($name!='')
{
if ($lastname!='')
{
if (reg($name,$lastname))
{
$message='Регистрация успешно завершена!';
}
else
$message='Вы не ввели фамилию';
}
else
$message='Вы не ввели имя';
}
else
$message='Вы не ввели имя';

header('location: index.php?message='.$message);
// ну а там уже что хочеш то и делаешь...

Спустя 4 минуты, 33 секунды (11.11.2009 - 12:00) stepan написал(а):
Цитата (Guest @ 11.11.2009 - 08:47)
Пропишу exit и опять обрубит он всё

Видимо у тебя индусский код написан, в этом случае тебе понадобится вот такая конструкция

if ( проверка )
{
//если введено не правильно выполнять эту часть кода
}
else
{
//если введено верно то выполнять эту часть кода
}

Спустя 1 минута, 18 секунд (11.11.2009 - 12:01) Guest написал(а):
Пользователю выдаст сообщение например: вы не ввели логин, а далее данные полетят в базу без логина. нужно же остановить как то это дело. или я чего-то не понимаю?

Спустя 28 минут, 10 секунд (11.11.2009 - 12:29) DeeKeiD написал(а):

if($login == "vasya")
{
// пропускаем
}
else
{
// останавливаем (exit)
}

т.е допустим нужно 3 проверки

/* Проверка 1 */
if(.....)
{
echo 'ошибка 1';
}
/* Проверка 2 (если прошли проверку 1) */
elseif(......)
{
echo 'ошибка 2';
}
/* Проверка 3 (если прошли проверку 2) */
elseif(.......)
{
echo 'ошибка 3';
}
/* выполняем действие если пройдены все проверки */
else
{
echo 'всё в порядке';
}

Спустя 4 минуты, 4 секунды (11.11.2009 - 12:33) stepan написал(а):
скорее всего вы меня не поняли будет вот что

if ( проверка )
{
echo 'Вы вели не правильный пароль и для вас доступ закрыт';
}
else
{
//Здесь ваши данные летят в базу, могут даже пролетать через базу, даже вылетать из нее wink.gif
}

Спустя 51 минута, 14 секунд (11.11.2009 - 13:24) Guest написал(а):
Спасибо! разобрался

Спустя 11 минут, 44 секунды (11.11.2009 - 13:36) Guest написал(а):
Вот ещё такой вопрос:

if ( проверка )
{
Действие
}
else
{
exit ("Аватар должен быть в формате JPG,GIF или PNG");
}

Как избавится от эксит и вернуть пользователя в начало к выбору аватара?

Спустя 7 минут, 6 секунд (11.11.2009 - 13:43) stepan написал(а):

if ( проверка )
{
//вы не правильно ввели капчу
}
elseif ( вторая проверка )
{
echo 'Аватар должен быть в формате JPG,GIF или PNG';
}
else
{
//выполнение действия
}

Спустя 14 минут, 33 секунды (11.11.2009 - 13:58) Guest написал(а):
Вот кусок кода:

if (empty($myrow['id']))
{
$select = mysql_query ("SELECT ip FROM oshibka WHERE ip='$ip'");
$tmp = mysql_fetch_row ($select);
if ($ip == $tmp[0]) {
$result52 = mysql_query("SELECT col FROM oshibka WHERE ip='$ip'",$db);
$myrow52 = mysql_fetch_array($result52);

$col = $myrow52[0] + 1;
mysql_query ("UPDATE oshibka SET col=$col,date=NOW() WHERE ip='$ip'");
}

else {
таблицу "oshibka"
mysql_query ("INSERT INTO oshibka (ip,date,col) VALUES ('$ip',NOW(),'1')");
}


exit ("Извините, введённый вами логин или пароль неверный.");
}
else
{
}



Напиши плиз правильно без эксита

Спустя 1 час, 6 минут, 14 секунд (11.11.2009 - 15:04) DeeKeiD написал(а):

if (empty($myrow['id']))
{
$select = mysql_query ("SELECT ip FROM oshibka WHERE ip='$ip'");
$tmp = mysql_fetch_row ($select);

if ($ip == $tmp[0])
{
$result52 = mysql_query("SELECT col FROM oshibka WHERE ip='$ip'",$db);
$myrow52 = mysql_fetch_array($result52);

$col = $myrow52[0] + 1;
mysql_query ("UPDATE oshibka SET col=$col,date=NOW() WHERE ip='$ip'");
}
else
{
mysql_query ("INSERT INTO oshibka (ip,date,col) VALUES ('$ip',NOW(),'1')");
echo 'Извините, введённый вами логин или пароль неверный.';
}
}


Спустя 5 минут, 32 секунды (11.11.2009 - 15:10) Dezigo написал(а):
не используй exit();
Все ошибки заноси в массив.
Если есть ошибка x>0,то выводи их.

Быстрый ответ:

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