"PHP" / Говнокод #10409 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 kise97, (Updated )

Комментарии (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.
            Ответить
              • В варианте с <?= => да. А в том - вы тупо поменяли ' и " местами, и их точно также придется заэкранировать (да да, четырьмя слешами)
                Ответить
            • как раз длинные - зло. и зло, что короткие можно через конфигу отключить.
              Ответить
                • <%
                     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>
    Ответить

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

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8