Конструкция if else. Помогите

Тема в разделе "PHP", создана пользователем kactetus, 27 авг 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    PHP:
    foreach($emails as $email) {    
        
    1. часть 
        Допустим file_get_contents
    ("www.яндекс.***но");
        
        if (
    условие1)
        {
            
    Верное (Идем 2 часть)    
        }
        
        elseif (
    условие2)
        {
        
    Стоп мотор
        Не верно
        Возвращаемся в 1 часть
    .
        }

        else
        {    
            
    Стоп мотор
            Не верно
            После n раз 
                    
    echo "Что то не так обратитесь к разработчику";
                    break;    
        }
        
        
    2. часть
        file_get_contents
    ("www.яндекс-унылое.***но");
        }
    Что посоветуете, как можно выйти из такой ситуации. Или можно что то другое придумать.

    Просто таких конструкций будем много. Допустим есть еще 3 часть и если ошибка то переходим во 2 часть и т.д. Последний else вырубает скрипт после n-ого количества срабатываний.

    p.s. Сорри за мой французский.
     
  2. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    PHP:
    $count 0// счетчик неверных решений
    $n      10// кодичество допустимых неверных условий         
    // скорее всего проверка у вас происходит по регуляркам ... - это собственно они
    $arrReg= array ('название_условия_1' => "регулярка_условия_1"
                     
    'название_условия_2' => "регулярка_условия_1"
                     
    'название_условия_3' => "регулярка_условия_1");

    foreach(
    $emails as $email) { 
        
    file_get_contents ("www.яндекс.***но" );
        
        foreach( 
    $arrReg as $index => $value ){
            if (
    preg_match($value,  контент)) {
                
    // все круто делаем какие-то действия и  идем в часть 2 
            
    } else {
               if( 
    $count++  > $n ) {
                   echo 
    "полный кердык";
                   break;
                }
            }
        }
        
    // часть два
        
    file_get_contents "www.яндекс-унылое.***но");    
    }
    если ненужно идентифицировать какая именно ошибка была то можно и без 'название_условия_*'
     
  3. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    cnahg спасибо. А как из твоего кода, сделать из этого. Сразу скажу пишу на frameworke.

    PHP:
    if (strpos($return'Location: http://www.livejournal.com/create/step2b.bml'))
        {
            
    $as_log->log("100% удачная рега "'*');
            
    $as_log->cnt('regged');
            
    $success++;
        }
    elseif (
    strpos($return'Sorry, this username is already in use.'))
        {
        
    $as_log->log("Такой логин уже используется"'!');
        
    as_hlp::saveError($return'username');
        
    $as_log->cnt('fails');
        }
    else
        {
            
    $as_log->log("Что то не так обратитесь к разработчику"'*');
            
    as_hlp::saveError($return'error');
            
    $as_log->cnt('fails');
            
    $hz++;
        }
    $as_log->log("Переходим к второму этапу"'+');
    Заранее спасибо.
     
  4. A4S

    A4S Создатель

    Регистр.:
    22 апр 2009
    Сообщения:
    10
    Симпатии:
    0
    читай мануал на phpclub :)))
    похоже ты вообще не понимаешь в программировании.
    интересно как ты капчу в LJ обходить будешь? :)
     
  5. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    уже обошел :)
    Если вы умеете хорошо програмировать, то идите и пишите скрипты, о великий гуру. :)
     
  6. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    исходя из первого куска кода и последующего сообщения
    я предположил что будет проводиться много каких-то однотипных проверок ... и тогда выше приведенный мной код принцыпи в какой-то степени бы подошел ...
    но исходя из второго куска кода у вас происходит всего-лишь 2 проверки
    1) поиск строки соответствующей удачной аутентификации
    2) поиск строки соответствующей неудачной аутентификации
    я просто не особо представляю какие еще могут быть проверки здесь? ...

    или вам нужно расширить кусок кода добавив проверку аутентификации по другими признаками ?
     
Статус темы:
Закрыта.