Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
43 / 17 / 4
Регистрация: 22.02.2012
Сообщений: 327

exit(); и return; не останавливают выполнение

01.08.2013, 14:47. Показов 5125. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Вот такая проблема.
PHP
1
2
3
4
5
6
7
8
if (isset($_POST['ajax_cmd'])){
        switch($_POST['ajax_cmd']){
            case 'cmd1': print_page1(); exit()(или return); break;
            case 'cmd2': print_page2(); exit()(или return); break;
            }
        exit()(или return);
        }
вот тут расположен код, который не должен выполняться если ajax_cmd существует
Так вот, когда ajax_cmd существует, выполнение продолжается дальше.
Что я неправильно сделал?

Добавлено через 1 минуту
Понятное дело, у меня не столько exit(); и return; в коде.
Это для демонстрации того куда я их ставил.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.08.2013, 14:47
Ответы с готовыми решениями:

замена exit(0) на return
необходимо заменить exit(0) из данного куска кода на return в main, используя при этом true-дальнейшее действие программы (есть функция,...

Return и exit, в чем разница?
Чем отличаются return и exit?

Как завершить выполнение кода (не Exit)?
Ребята помогите с кодом, ниже приведена функция, которая должна проверять значение Edit и в случае ошибки перевода ее в тип Float ...

4
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
01.08.2013, 14:48
Не выполнится дальше код, чудес не бывает...
Если выполняется, значит что то не правильно написано...
0
43 / 17 / 4
Регистрация: 22.02.2012
Сообщений: 327
01.08.2013, 15:08  [ТС]
Такс, придется писать всю чушь которую я придумал.
Вот коротенько, о главном.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
Вот здесь мне нужно поставить условие проверки существования ajax-запроса. 
И если он есть, выполнить необходимое действие, а потом остановить выполнение скрипта. 
В принципе у меня все работало правильно, до тех пор пока аякс был в другом файле. 
Но я решил все управление перенести в одно место. 
Чтобы понятнее было. 
Даже с тем что написал в первом посте, программа работает.
НО в окошечко, в которое должен отображаться только результат работы аякса, 
кроме него, почему то подгружается вся страничка. 
Она как бы дублирует себя внутри себя. Понятное дело что я 
из index.php выполняю index.php, но скрипт то должен остановиться выполнив аякс.
*/
if (isset($_POST['ajax_cmd'])){
        switch($_POST['ajax_cmd']){
            case 'cmd1': print_page1(); exit()(или return); break;
            case 'cmd2': print_page2(); exit()(или return); break;
            }
        exit()(или return);
        }
/*
* В этом блоке, если есть переменная cmd, выполняется какое либо действие. 
И потом печатается страница(в следующем блоке).
*/
 
if(isset($_GET['cmd']){
    switch($_GET['cmd']){
            case 'dress': dress(); $page = 'overview'; break;
            case 'fight': fight(); $page = 'report'; break;
            case 'buy': create_item(); $page = 'shop'; break;
            }
    }
 
 
/*
* В этом блоке исходя из значения переменной печатается та или иная страница.
*/
switch($_GET['page']){
        case 'overview': print_overview_page(); break;
        case 'messages': print_messages_page(); break;
        case 'map': print_map_page(); break;
        }
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
01.08.2013, 15:18
PHP
1
2
3
4
5
6
7
if (isset($_POST['ajax_cmd'])){
        switch($_POST['ajax_cmd']){
            case 'cmd1': print_page1(); break;
            case 'cmd2': print_page2(); break;
        }
        exit();
}
Если есть $_POST['ajax_cmd'] то по любому данный скрипт перестанет выполняться.
Если конечно это весь код скрипта.

Но есть функции или деструкторы у объектов, который выполнят свой код после exit, так как они выполняются при завершении работы скрипта или уничтожении объектов.
1
43 / 17 / 4
Регистрация: 22.02.2012
Сообщений: 327
01.08.2013, 15:47  [ТС]

Это мой косяк. То что я видел в окошке для аякса, это была не страница. Это было просто меню. Которое инклудилось выше всего кода php. Совсем забыл что я его не внес в шаблон. Пойду допилю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.08.2013, 15:47
Помогаю со студенческими работами здесь

как после exit возобновить выполнение сценария?
в скрипте использую exit; но прекращает исполняться не только этот скрипт, но и все что следует за ним, даже html-коды не выводятся....

Почему return не прерывает выполнение функции?
Всем здрава! Чет я тут запутался слегонца. Есть функция: a = 1; b = 0; int pro() { if (a == 1){ if (b ==...

Нужно ли выполнение запроса в методе возвращать по return?
Какая разница? Если нужно просто только выполнить запрос. function a() return запрос function a() запрос

Что это isOk(int s),setAge(int g){if(isOk(g){age=g;return true;}else{.;return false;}}.getName(){return name;}?
package com.company; import java.io.Serializable; public class person implements Serializable { protected String name; ...

Как остановить выполнение скрипта? как "exit" в php?
Всем добрый вечер. В php есть exit который останавливает все, есть ли такое в javascript? Для чего это нужно? У меня получился...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru