1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Синтаксис вопрос

Тема в разделе "Web Coding", создана пользователем genarator2003, 8 дек 2007.

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

    genarator2003 Постоялец

    Регистр.:
    23 авг 2007
    Сообщения:
    113
    Симпатии:
    8
    не понятен синтаксис что тут вообще происходит???
    PHP:
    $output str_replace('%'$number, ( false === $more ) ? __('% Comments') : $more);
    непонятна конструкция
    PHP:
    false === $more ) ? __('% Comments') : $more
    объясните плз что здесь происходит
    ЗЫ код из сорсов вордпресса
     
  2. RomAndry

    RomAndry Постоялец

    Регистр.:
    21 ноя 2007
    Сообщения:
    102
    Симпатии:
    24
    Это аналог IF ELSE
    в твоем случае:
    PHP:
    if ( false === $more ) {
      
    $foo __('% Comments');
    } else {
      
    $foo $more;
    }
    $output str_replace('%'$number$foo);
     
    genarator2003 нравится это.
  3. Vio

    Vio Создатель

    Регистр.:
    28 май 2007
    Сообщения:
    34
    Симпатии:
    2
    Неплохо кодеры в вордпресе пишут -)
    Вообще, такие конструкцие конечно короче, но гораздо менее читабельны, особенно спустя 6-10 месяцев, нифига не понятно =)
    Хотя сам так привык к ним, нада отучаться -)
     
  4. lan_

    lan_ Постоялец

    Регистр.:
    24 апр 2007
    Сообщения:
    171
    Симпатии:
    28
    PHP:
    if ($_POST)

    $error='';
    require(
    'config.php');
    require(
    "captcha.class.php");
    $user=$_POST['user'];
    $pass2=$_POST['pass2'];
    $pass=$_POST['pass'];
    $email=$_POST['email'];
    $name=$_POST['name'];
    $regdate=Date('Ymd');
    settype($regdate,"string");
     if (!
    KCAPTCHA::validate($_POST['confirmCode'])) $out='Wrong Captch!';
     else 
         { 
            if (
    $pass==$pass2){$pass=md5($pass2);}else{$error.='<br>pass';}
            
            
    $sql="SELECT * FROM ".$sql_pref."users WHERE usr=$user";
            
    $result=@mysql_query($sql,$con);
            
    $row = @mysql_num_rows($result);
            if (
    $row!=0){ $error.='<br>Exist';}

            if (
    $error==''){    
                
    $sql="INSERT INTO `".$sql_pref."users` ( `usr` , `pwd` , `regdate`,`email`,`name`)VALUES ('$user', '$pass','$regdate','$email', '$name');";
                @
    mysql_query($sql,$con);
                
    $out='ok';
                                } else {
    $out=$error;}
        }
    }
    Здраdствуйте, не происходит проверка $pass==$pass2
    Как исправить?
    Заранее спасибо!
     
  5. RomAndry

    RomAndry Постоялец

    Регистр.:
    21 ноя 2007
    Сообщения:
    102
    Симпатии:
    24
    Ну во первых, почему бы не создать в новой теме.
    Во вторых нужно научиться делать дебаг кода.
    для вышеуказанного случая просто вывести 2 переменные
    echo '<LI>'.$pass;
    echo '<LI>'.$pass2;
    и сразу будет видно все

    Удачи.

    по ходу, в коде идет УЖАСНАЯ проверка приходящих данных POST!
     
  6. lan_

    lan_ Постоялец

    Регистр.:
    24 апр 2007
    Сообщения:
    171
    Симпатии:
    28
    пеовернка на самом деле другая, просто это некоторое упрощение чтобы не постить все сразу.
     
  7. genarator2003

    genarator2003 Постоялец

    Регистр.:
    23 авг 2007
    Сообщения:
    113
    Симпатии:
    8
    PHP:
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    Вот ещё кусок альтернативного синтаксиса тож не ясно что делает получается что-то типа 2х else ??!!!:eek:

    Где можно почитать про сокращения и альтернативный синтаксис на русском?? А то теряюсь вообще.
     
  8. RomAndry

    RomAndry Постоялец

    Регистр.:
    21 ноя 2007
    Сообщения:
    102
    Симпатии:
    24
    это альтернативный синтаксис
    if () :
    endif;
    while () :
    endwhile;

    Перейти по ссылке
     
  9. bueno

    bueno Читатель

    Заблокирован
    Регистр.:
    7 май 2007
    Сообщения:
    236
    Симпатии:
    69
    echo '<pre>',var_dump($_POST),'</pre>'; ;)
     
  10. Alexitdv

    Alexitdv

    Регистр.:
    4 янв 2008
    Сообщения:
    161
    Симпатии:
    65
    НО одно но в этой конструкции: 'условие ? возвращаемое_значение1 : возвращаемое_значение' работает присваивание, т.е. это if можно присвоить переменной.
     
Статус темы:
Закрыта.