1. PHP / Говнокод #10409

    +64

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    /*
     *---------------------------Темка на одном seo форуме...
     *Проблемка вот в чём:
     *используется такая конструкция
    */
    
    echo '<td class="play"><span class="doRadio" onclick="doRadio('.$row['alt_name'].', '.$row['name'].');">Play</span></td>';
    
    /*
     *при правильном раскладе должно получиться так
     *<span class="doRadio" onclick="doRadio('kissfmua', 'KISS FM');">Play</span>
     *но теряются одиночные кавычки ('kissfmua', 'KISS FM') как я не менял выдает ошибку
     *подскажите!
    */
    
    /*
     *---------------------------Ответ одного формучанина
    echo '<td class="play"><span class="doRadio" onclick="doRadio(\''.$row['alt_name'].'\', \''.$row['name'].'\');">Play</span></td>';

    Я просто в ахуе...

    Запостил: kise97, 29 Мая 2012

    Комментарии (24) RSS

    • уже и кавычки не осиливают? куда катится мир...
      Ответить
      • Популярность пыха привела к тому, что он становится первым языком который пытаются освоить юные прогеры и как видно, Зря.
        Ответить
        • Причём те, кто делает это неудачно, это мягко говоря не очень умные люди, и непонятно, как они вообще выживают, и почему именно на нашу святую область деятельности обрушивается ТАКОЕ их количество...
          Ответить
        • пожалуй, если так и дальше пойдет, рискуем увидеть "стать настоящимпрограммистом на php за 24 часа, не написав ни строчки кода, по методу Зелены Длявидувой: быстро, весело, прибыльно"
          Ответить
          • Да, где в конце книги идёт более сложный материал, а именно - что такое компьютер.
            Ответить
    • А чем неправилен ответ?
      Ответить
      • А зачем городить кучу слешей и т.п.?
        Ответить
        • Кучу - это четыре?
          И т.п. - что?
          Как бы вывели вы?
          Через HEREDOC?
          Ответить
          • показать все, что скрытоecho "<td class='play'><span class='doRadio' onclick='doRadio(".$row['alt_name'].", ".$row['name'].");'>Play</span></td>";

            или, например

            <td class="play"><span class="doRadio" onclick="doRadio('<?=$row['alt_name']?>', '<?=$row['name']?>');">Play</span></td>
            Ответить
            • В вашем первом варианте не хватает кавычек вокруг аргументов doRadio.
              Ответить
              • ну Х с ними. главное, что смысл понятен.
                Ответить
                • В варианте с <?= => да. А в том - вы тупо поменяли ' и " местами, и их точно также придется заэкранировать (да да, четырьмя слешами)
                  Ответить
            • Shorttags зло
              Ответить
              • как раз длинные - зло. и зло, что короткие можно через конфигу отключить.
                Ответить
                • <?xml version="1.0"?>
                  Ничего не напоминает?
                  Ответить
                  • <%
                       String name = request.getParameter( "username" );
                       session.setAttribute( "theName", name );
                    %>
                    <%= session.getAttribute( "theName" ) %>
                    в JSP теги злом никто не называет
                    Ответить
                    • во-первых, их нельзя перепутать с инструкциями xml
                      во-вторых, xml-теги вроде как являются предпочтительной формой
                      <c:set var="name" value="${param.username}"/>
                      Ответить
                • а вот так
                  <? MyScript detail="2"?>
                  каково?
                  причем, это вполне себе xml,
                  или так
                  <?ScriptA emphasize="yes" ?>
                  Ответить
                • Да, согласен, но надо было сделать их через % вместо ?.

                  P.S. Шаблон на PHP с длинными тегами смотрится как г-но.
                  Ответить
          • echo "траляля тралаля '{array[$i]}' {array[$j]} траляля"; вот и читаемо и нетбианс нормально подсвечивает переменные, да и в блокноте видно. И городить кучу слешей не надо.
            Ответить
            • И чем это поможет в случае с тремя уровнями кавычек?
              Первый уровень - кавычки от эха.
              Второй уровень - кавычки от атрибута.
              Третий уровень - кавычки от параметра doRadio.

              Так?
              echo "<td class='play'><span class='doRadio' onclick='doRadio(\"{$row['alt_name']}\", \"{$row['name']}\");'>Play</span></td>";


              Предлагаю думать, и возможно даже писать пример, прежде чем писать, что "городить кучу слешей не надо".
              Ответить
    • Все было бы красиво, если не использовать такую связку php и javascript.
      var player_control = {};
      player_control.play = document.getElementById('player_play');
      player_control.play.onclick = function(){
      	window.doRadio('<?=$row['alt_name'];?>','<?=$row['name'];?>');
      	return false;
      }

      Используем httprequest + json блеать.

      Если мы не знаем, что такое шаблонизатор:
      echo '<td class="play"><span id="player_play" class="doRadio">Play</span></td>';


      Если мы знаем:
      <td class="play"><span class="doRadio" onclick="doRadio('{alt_name}', '{name}');">Play</span></td>
      Ответить
      • Дело глаголишь, Зинка
        сам хотел об этом написать, но поленился
        Ответить

    Добавить комментарий