За последние 24 часа нас посетили 34295 программистов и 1709 роботов. Сейчас ищут 806 программистов ...

htmlspecialchars - что то делаю неверно

Тема в разделе "PHP для новичков", создана пользователем koopakaru, 13 сен 2008.

  1. koopakaru

    koopakaru Активный пользователь

    С нами с:
    12 мар 2008
    Сообщения:
    64
    Симпатии:
    0
    Адрес:
    Прибалтика
    Подскажите почему не работает htmlspecialchars в данном коде?

    Код (Text):
    1.  
    2. <?
    3. if (isset($_GET['post']))
    4.    {
    5.    $post=htmlspecialchars($_GET['post']);
    6.    }
    7.    else
    8.    $post='pustota';
    9. echo $post;
    10. ?>
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    а в чём это выражается? Результат преобразований виден в исходном html сформированной страницы.
     
  3. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    точно надо не $_POST?
     
  5. koopakaru

    koopakaru Активный пользователь

    С нами с:
    12 мар 2008
    Сообщения:
    64
    Симпатии:
    0
    Адрес:
    Прибалтика
    VS.
    Просто для Get это быстрее проверить, не надо писать скрипт под POST.
    neverlose
    Этот вариант я знаю, и он работает. Я просто хочу понять, почему не работает выше приведеный вариант. Хочется раобраться в ньюансах работы этой команды.
    Luge
    Так не работает, так и выводит с тегами: типа <b>tekst</b>

    И еще вопрос.
    Код (Text):
    1. (isset($_GET['post']) ? htmlspecialchars
    Что означает знак вопроса? Я понимаю что это сокращенный вариант какой-то команды, а чего именно? Может есть линк где об этом может почитать?
     
  6. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    не пойму…
    выводит
    или
    ?
     
  7. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    koopakaru
    С тегами и должно выводить, просто они не должны работать.
     
  8. koopakaru

    koopakaru Активный пользователь

    С нами с:
    12 мар 2008
    Сообщения:
    64
    Симпатии:
    0
    Адрес:
    Прибалтика
    Тогда не понимаю:
    В мануале на сайте написано:
    Код (Text):
    1.  
    2. <?php
    3. $new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
    4. echo $new; // &lt;a href='test'&gt;Test&lt;/a&gt;
    5. ?>
    насколько я понимаю должны выводится не теги а именно &lt; &gt и т.д.
     
  9. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
     
  10. koopakaru

    koopakaru Активный пользователь

    С нами с:
    12 мар 2008
    Сообщения:
    64
    Симпатии:
    0
    Адрес:
    Прибалтика
    Luge
    Это все понятно. но по моему мнению в коментариях было бы корректней выводить не код а результат, который видим на экране: то есть <a href='test'>test</a>
    Теперь поняла почему возникло непонимание. Буду в дальнейшем внимательней.
     
  11. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    результат выполнения php-скрипта чаще всего — html, а не то, как его отображает браузер