Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нубский вопрос про return

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
NeuroZ
Отправлено: 29 Августа, 2012 - 08:35:12
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




У меня есть регистрация. Когда пользователь нажимает сабмит выполняется функция, котороя возвращает false всякий раз, когда он что-то неправильно ввел. (если все хорошо, то он переходит на след. страницу)
Вопрос: как сделать чтобы пользователю выводилось сообщение об ошибке, когда функция возвращает false?
 
 Top
AlexAnder
Отправлено: 29 Августа, 2012 - 09:24:05
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1. /* Start of REG function*/
  2. function reg() {
  3. // code
  4. ...
  5. return true
  6. ...
  7. // code
  8. ...
  9. return false
  10. }
  11.  
  12. /* End of REG function*/
  13.  
  14. /* Check */
  15.  
  16. if(!reg()) {
  17. // code of show error
  18. }
  19.  

(Отредактировано автором: 29 Августа, 2012 - 09:25:25)



-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
NeuroZ
Отправлено: 29 Августа, 2012 - 09:44:05
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




AlexAnder пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. /* Start of REG function*/
  2. function reg() {
  3. // code
  4. ...
  5. return true
  6. ...
  7. // code
  8. ...
  9. return false
  10. }
  11.  
  12. /* End of REG function*/
  13.  
  14. /* Check */
  15.  
  16. if(!reg()) {
  17. // code of show error
  18. }
  19.  

Так не получится сделать. Потому что:
1. У меня несколько вариантов возврата false
2. Функция не определена на этой странице. Она выполняется только после сабмита.
 
 Top
AlexAnder
Отправлено: 29 Августа, 2012 - 09:56:08
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(isset($_POST['submit'])) {
  3.  
  4.     if(!reg()) {
  5.     echo 'error';
  6.     }
  7. }
  8.  


Цитата:
1. У меня несколько вариантов возврата false

вовсе безразлично

(Отредактировано автором: 29 Августа, 2012 - 09:58:16)



-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
NeuroZ
Отправлено: 29 Августа, 2012 - 10:11:05
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




AlexAnder пишет:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(isset($_POST['submit'])) {
  3.  
  4.     if(!reg()) {
  5.     echo 'error';
  6.     }
  7. }
  8.  


Цитата:
1. У меня несколько вариантов возврата false

вовсе безразлично

POST пустой...
 
 Top
md5ffx
Отправлено: 29 Августа, 2012 - 11:33:41
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Авг. 2012  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset($_request['submit'])) {
  3.  
  4.     if(!reg()) {
  5.     echo 'error';
  6.     }
  7. }
 
 Top
snikers987
Отправлено: 29 Августа, 2012 - 11:38:00
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




NeuroZ пишет:
AlexAnder пишет:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(isset($_POST['submit'])) {
  3.  
  4.     if(!reg()) {
  5.     echo 'error';
  6.     }
  7. }
  8.  


Цитата:
1. У меня несколько вариантов возврата false

вовсе безразлично

POST пустой...


Пусть функция возвращает код ошибки, а когда ошибок нет, 1 к примеру. И проверяйте какой код она вернула, такую ошибку и показывайте.

PHP:
скопировать код в буфер обмена
  1.  
  2. function reg(){
  3.     if(!$login) return 2;
  4.     if(!$pass) return 3;
  5.     if(все хорошо) return 1;
  6. }
  7. $result = reg();
  8. if($result == 2) echo 'error 2';
  9. //и т.п.
  10.  

(Отредактировано автором: 29 Августа, 2012 - 11:38:35)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
NeuroZ
Отправлено: 29 Августа, 2012 - 15:27:45
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




Всем спасибо.
Большо всего помог последний совет Улыбка

А вообще уже работало джумловское отображение ошибок))) Просто вместо false надо было прям текст ошибки возвращать - и она уже выводилась на экран там где мне нужно)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB