Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как убрать экранирование при передаче POST данных снова в форму?
 
 автор: kis-kis   (12.01.2009 в 11:03)   письмо автору
 
 

Как убрать экранирование при передаче POST данных снова в форму?
Заранее спасибо.

  Ответить  
 
 автор: Trianon   (12.01.2009 в 11:08)   письмо автору
 
   для: kis-kis   (12.01.2009 в 11:03)
 

смотря откуда оно взялось

  Ответить  
 
 автор: kis-kis   (12.01.2009 в 11:12)   письмо автору
 
   для: Trianon   (12.01.2009 в 11:08)
 

Мастерхост добавляет :)

echo "<input type=\"text\" name=\"your_name\" value=\"".$_POST['your_name']."\">";

  Ответить  
 
 автор: assembler   (12.01.2009 в 11:21)   письмо автору
 
   для: kis-kis   (12.01.2009 в 11:12)
 

если из описанного правильно понял...
<?
$str 
"<input type=\"text\" name=\"your_name\" value=\"".$_POST['your_name']."\">";
echo 
stripslashes($str);
?>

  Ответить  
 
 автор: Trianon   (12.01.2009 в 11:22)   письмо автору
 
   для: assembler   (12.01.2009 в 11:21)
 

ответ неверный.

  Ответить  
 
 автор: Trianon   (12.01.2009 в 11:24)   письмо автору
 
   для: kis-kis   (12.01.2009 в 11:12)
 

Сам по себе?
Вот так вот сибят злые админы из Мастерхоста и добавляют?
Может всё же механизм магических кавычек добавляет?
get_magic_quotes_gpc()
stripslashes()

  Ответить  
 
 автор: kis-kis   (12.01.2009 в 11:29)   письмо автору
 
   для: Trianon   (12.01.2009 в 11:24)
 

stripslashes() - убирает весь текст из поля, т.е. если написать имя - "Сергей" - после передачи данных остается пустое поле... (
Я привел фрагмент кода, слеши дабавляются в переменную - $_POST['your_name']

  Ответить  
 
 автор: Trianon   (12.01.2009 в 11:38)   письмо автору
 
   для: kis-kis   (12.01.2009 в 11:29)
 

>Я привел фрагмент кода, слеши дабавляются в переменную - $_POST['your_name']
Я привел названия функций, которые потребуется применить, предварительно изучив мануал по ним.

  Ответить  
 
 автор: kis-kis   (12.01.2009 в 12:12)   письмо автору
 
   для: Trianon   (12.01.2009 в 11:38)
 


<?php
echo get_magic_quotes_gpc();         // 1
echo "<br>";
echo 
$_POST['lastname'];             // O\'reilly
echo "<br>";
echo 
stripslashes($_POST['lastname']); // O\\\'reilly
echo "<br>";
?>

<form name="form1" method="post" action="">
  <input type="text" name="lastname" value="<?php echo stripslashes($_POST['lastname']); ?>">
  <input type="submit" name="Submit" value="Submit">
</form>


Подскажите, почему здесь выводится как нужно - echo stripslashes($_POST['lastname']);
А здесь нет - value="<?php echo stripslashes($_POST['lastname']); ?>?

  Ответить  
 
 автор: Trianon   (12.01.2009 в 12:23)   письмо автору
 
   для: kis-kis   (12.01.2009 в 12:12)
 

Попробуйте написать тот же код HTML руками.

  Ответить  
 
 автор: kis-kis   (12.01.2009 в 12:35)   письмо автору
 
   для: Trianon   (12.01.2009 в 12:23)
 

Не совсем понял?

  Ответить  
 
 автор: Trianon   (12.01.2009 в 12:39)   письмо автору
 
   для: kis-kis   (12.01.2009 в 12:35)
 

попробуйте создать html-файл с текстом
<form name="form1" method="post" action="">
  <input type="text" name="lastname" value="*****">
  <input type="submit" name="Submit" value="Submit">
</form> 


Причем вместо звездочек вписать ту самую строку, которую желаете видеть.

Тогда, надеюсь, станет понятно, почему не показывает то что надо.

  Ответить  
 
 автор: kis-kis   (12.01.2009 в 12:42)   письмо автору
 
   для: Trianon   (12.01.2009 в 12:39)
 

Теперь понял, но используется файл с расширением *.php
Хорошо, ткните меня в ошибку, пожалуйста...

  Ответить  
 
 автор: Trianon   (12.01.2009 в 12:47)   письмо автору
 
   для: kis-kis   (12.01.2009 в 12:42)
 

Можете и с расширением .php создать. Дело не в расширении.
Что получилось?

  Ответить  
 
 автор: kis-kis   (12.01.2009 в 12:52)   письмо автору
 
   для: Trianon   (12.01.2009 в 12:47)
 

Если я вас правильно понял и вы имели ввиду это - то получилось то, что я написал в первом посте данной темы


test.php

<form name="form1" method="post" action="">
  <input type="text" name="lastname" value="<?php echo stripslashes($_POST['lastname']); ?>">
  <input type="submit" name="Submit" value="Submit">
</form>

  Ответить  
 
 автор: Trianon   (12.01.2009 в 12:55)   письмо автору
 
   для: kis-kis   (12.01.2009 в 12:52)
 

Я просил не php-скрипт вписать вместо звездочек, а реальный текст. Тот самый, который у Вас из поля формы получен.
Как Вы можете написать php-код, который формирует текст, если Вы сам текст вписать не в состоянии?

  Ответить  
 
 автор: kis-kis   (12.01.2009 в 13:02)   письмо автору
 
   для: Trianon   (12.01.2009 в 12:55)
 

-

  Ответить  
 
 автор: kis-kis   (12.01.2009 в 13:17)   письмо автору
 
   для: Trianon   (12.01.2009 в 12:55)
 

Если написать текст - (тест "Тест"), то слово тест в кавычках остается за value... И переменная имеет значение только первого слова тест, написанного без кавычек.

Вы это имели ввиду?

  Ответить  
 
 автор: Trianon   (12.01.2009 в 13:23)   письмо автору
 
   для: kis-kis   (12.01.2009 в 13:17)
 

Именно.

  Ответить  
 
 автор: kis-kis   (12.01.2009 в 13:26)   письмо автору
 
   для: Trianon   (12.01.2009 в 13:23)
 

Как это исправить, подскажите, пожалуйста?

  Ответить  
 
 автор: Trianon   (12.01.2009 в 13:47)   письмо автору
 
   для: kis-kis   (12.01.2009 в 13:26)
 

Berners-Lee & Connolly      Standards Track                    [Page 14]

RFC 1866            Hypertext Markup Language - 2.0        November 1995


3.2.4. Attributes

   In a start-tag, white space and attributes are allowed between the
   element name and the closing delimiter. An attribute specification
   typically consists of an attribute name, an equal sign, and a value,
   though some attribute specifications may be just a name token. White
   space is allowed around the equal sign.

   The value of the attribute may be either:

        * A string literal, delimited by single quotes or double
        quotes and not containing any occurrences of the delimiting
        character.

            NOTE - Some historical implementations consider any
            occurrence of the `>' character to signal the end of
            a tag. For compatibility with such implementations,
            when `>' appears in an attribute value, it should be
            represented with a numeric character reference. For
            example, `<IMG SRC="eq1.jpg" alt="a>b">' should be
            written `<IMG SRC="eq1.jpg" alt="a&#62;b">' or `<IMG
            SRC="eq1.jpg" alt="a&gt;b">'.

        * A name token (a sequence of letters, digits, periods, or
        hyphens). Name tokens are not case sensitive.

            NOTE - Some historical implementations allow any
            character except space or `>' in a name token.

   In this example, <img> is the element name, src is the attribute
   name, and `http://host/dir/file.gif' is the attribute value:

   <img src='http://host/dir/file.gif'>

   A useful technique for computing an attribute value literal for a
   given string is to replace each quote and white space character by an
   entity reference or numeric character reference as follows:

                     ENTITY      NUMERIC
           CHARACTER REFERENCE   CHAR REF     CHARACTER DESCRIPTION
           --------- ----------  -----------  ---------------------
             HT                  &#9;         Tab
             LF                  &#10;        Line Feed
             CR                  &#13;        Carriage Return
             SP                  &#32;        Space
             "       &quot;      &#34;        Quotation mark
             &       &amp;       &#38;        Ampersand




Berners-Lee & Connolly      Standards Track                    [Page 15]

RFC 1866            Hypertext Markup Language - 2.0        November 1995


   For example:

   <IMG SRC="image.jpg" alt="First &quot;real&quot; example">

   The `NAMELEN' parameter in the SGML declaration (9.5, "SGML
   Declaration for HTML") limits the length of an attribute value to
   1024 characters.

   Attributes such as ISMAP and COMPACT may be written using a minimized
   syntax (see 7.9.1.2 "Omitted Attribute Name" in [SGML]). The markup:

   <UL COMPACT="compact">

   can be written using a minimized syntax:

   <UL COMPACT>

   NOTE - Some historical implementations only understand the minimized
   syntax.

  Ответить  
 
 автор: kis-kis   (12.01.2009 в 14:10)   письмо автору
 
   для: Trianon   (12.01.2009 в 13:47)
 

С помощью str_replace заменить - " - на это - &quot;?

  Ответить  
 
 автор: Trianon   (12.01.2009 в 14:17)   письмо автору
 
   для: kis-kis   (12.01.2009 в 14:10)
 

для подобного рода замен в php предназначена функция htmlspecialchars()

  Ответить  
 
 автор: kis-kis   (12.01.2009 в 14:24)   письмо автору
 
   для: Trianon   (12.01.2009 в 14:17)
 

не помогает... (

  Ответить  
 
 автор: Trianon   (12.01.2009 в 15:12)   письмо автору
 
   для: kis-kis   (12.01.2009 в 14:24)
 

код в студию.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования