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 и правый блок вместе с низом не отобразаются + к эотому вся страница съезжает наперекосяк.
У меня страница состоит из левого блока, центра, правого и нижней части. Пользователь вводит капчу в центре и если он сделал это не правильно срабатывает 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
{
//Здесь ваши данные летят в базу, могут даже пролетать через базу, даже вылетать из нее
}
Спустя 51 минута, 14 секунд (11.11.2009 - 13:24) Guest написал(а):
Спасибо! разобрался
Спустя 11 минут, 44 секунды (11.11.2009 - 13:36) Guest написал(а):
Вот ещё такой вопрос:
if ( проверка )
{
Действие
}
else
{
exit ("Аватар должен быть в формате JPG,GIF или PNG");
}
Как избавится от эксит и вернуть пользователя в начало к выбору аватара?
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,то выводи их.
Все ошибки заноси в массив.
Если есть ошибка x>0,то выводи их.