powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / переменные из формы, не отображают кавычек
13 сообщений из 13, страница 1 из 1
переменные из формы, не отображают кавычек
    #38502957
fedorov2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Помогите, завести.
Есть форма с 2умя полями и кнопкой "Запросить"
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<form  method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
...
<tr>
   <td>Поле 1</td>
   <td><input type="text" class="inputtext" name="f1"></td>
</tr>
<tr>
   <td>Поле 2</td>
   <td><input type="text" class="inputtext" name="f2"></td>
</tr>
<tr>
   <td></td>
   <td><input type="submit" name="send" value="Запросить"></td>
</tr>
...


С помощью кода php, значения полей сохраняю в переменные
if(isset($_POST["send"]))
{
$f1 = $_POST["f1"];
$f2 = $_POST["f2"];
}
В этом же коде php я написал так, что когда пользователь нажимает кнопку "Запросить", происходит проверка корректности данных, и если они не корректны, то в таблице отдельной строкой выводиться названия поля в котором допущена ошибка.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
function ShowForm ($f1, $f2) {
  echo('вывожу код html для построения нашей формы (таблицы) с 2умя полями, но также обращаюсь к переменным вот так' .$f1. 'к f1 и вот' .$f2 .'к f2'); //метка 1
...
  echo('<input type="text" class="inputtext" name="f1" value="' .$f1 .'"size="0">'); //метка 2
  return true;
}
if (empty($f1))
{
  echo("Неверно заполнено поле <strong>Поле 1'" . $f1."</strong>");
  ShowForm($f1, $f2);
}


так вот если в полях f1, f2 ввел строки с кавычками, то они превращаются в '\' если обратиться к этим переменными см. метку 1 и 2.
Как заставить корректно (с кавычками) выводиться переменные ?
...
Рейтинг: 0 / 0
переменные из формы, не отображают кавычек
    #38502965
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор"' .$f1 .'"
для людей которые пишут так есть отдельный котел в аду.
http://www.php.net/manual/en/function.htmlspecialchars.php
...
Рейтинг: 0 / 0
переменные из формы, не отображают кавычек
    #38503059
fedorov2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ.
ScareCrowдля людей которые пишут так есть отдельный котел в аду.

В смысле криво написано, а как тогда красиво написать?
...
Рейтинг: 0 / 0
переменные из формы, не отображают кавычек
    #38503111
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fedorov2012,

Например, так можно, без конкатенции:
Код: php
1.
    echo "Неверно заполнено поле <strong>Поле 1'", $f1, "</strong>";

Там еще почему-то кавычка-одиночка затесалась.

Или так:
Код: php
1.
2.
3.
    echo <<<HTML
<input type="text" class="inputtext" name="f1" value="${f1}" size="0">
HTML; //метка 1
...
Рейтинг: 0 / 0
переменные из формы, не отображают кавычек
    #38503213
fedorov2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleИли так:[src php]
echo <<<HTML
<input type="text" class="inputtext" name="f1" value="${f1}" size="0">
HTML; //метка 1

У меня броузер ругается на такую конструкцию.
Как быть?
...
Рейтинг: 0 / 0
переменные из формы, не отображают кавычек
    #38503278
fedorov2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleНапример, так можно, без конкатенции:
Код: php
1.
    echo "Неверно заполнено поле <strong>Поле 1'", $f1, "</strong>";




Пробую через данный стиль
echo "
<tr>
<td><input type='text' class='inputtext' name='f1' value='", $f1, "' size='0'></td>
</tr>

Ввожу к примеру в поле f1 значение, ООО "Меркурий", после нажатия кнопки
в это поле выводится
ООО \"Меркурий\"
т.е. лишние слэши
Как с этим бороться
...
Рейтинг: 0 / 0
переменные из формы, не отображают кавычек
    #38503476
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fedorov2012,

stripcslashes() можно пользовать.... а можно просто в htaccess прописать magic_quotes_gpc = Off. Это отключит автоматическое экранирование кавычек.
...
Рейтинг: 0 / 0
переменные из формы, не отображают кавычек
    #38503538
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёра можно просто в htaccess прописать magic_quotes_gpc = Off. Это отключит автоматическое экранирование кавычек.Ага, ненадолго
...
Рейтинг: 0 / 0
переменные из формы, не отображают кавычек
    #38503595
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleПрограмёра можно просто в htaccess прописать magic_quotes_gpc = Off. Это отключит автоматическое экранирование кавычек.Ага, ненадолго

фигасе )) Не знал, спасибо что сказали. А как кстати в будущем с этим бороться? Щас то мне не надо, так как просто занимаюсь расширением сайта компании, в которой работаю (большой проект в общем) потому и сервер личный и настроен под наши нужды полностью. Но вот, если вдруг случится, что надо будет свинтить сайт на сервере, доступа к настройкам которого нету, как тогда эту штуковину с экранированием обойти?
...
Рейтинг: 0 / 0
переменные из формы, не отображают кавычек
    #38503600
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёрvkleпропущено...
Ага, ненадолго

фигасе )) Не знал, спасибо что сказали. А как кстати в будущем с этим бороться? Щас то мне не надо, так как просто занимаюсь расширением сайта компании, в которой работаю (большой проект в общем) потому и сервер личный и настроен под наши нужды полностью. Но вот, если вдруг случится, что надо будет свинтить сайт на сервере, доступа к настройкам которого нету, как тогда эту штуковину с экранированием обойти?

тьху блин :) Испугали... Так ведь с версии 5.4 magic_quotes вообще признаны устаревшими, а потому начиная с версии 5.4 они отсутствуют в принципе. Я то думал, экранирование оставили, а возможность его отключить убрали
...
Рейтинг: 0 / 0
переменные из формы, не отображают кавычек
    #38503866
fedorov2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Програмёрstripcslashes() можно пользовать.... а можно просто в htaccess прописать magic_quotes_gpc = Off. Это отключит автоматическое экранирование кавычек.
stripcslashes - помог. Спасибо!
А как лучше все таки использовать stripcslashes() или magic_quotes_gpc = Off - в чём так сказать плюсы и минусы
...
Рейтинг: 0 / 0
переменные из формы, не отображают кавычек
    #38503889
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fedorov2012Програмёрstripcslashes() можно пользовать.... а можно просто в htaccess прописать magic_quotes_gpc = Off. Это отключит автоматическое экранирование кавычек.
stripcslashes - помог. Спасибо!
А как лучше все таки использовать stripcslashes() или magic_quotes_gpc = Off - в чём так сказать плюсы и минусы

Плюсы magic_quotes_gpc = Off в том, что полностью отключает эту бесполезную опцию )) минусов нету... поясню почему:
на практике, экранирование кавычек в запросе между клиентом и сервером не имеет смысла, так как если код пишется безопасно (без разных непонятных eval и т.п.), то в самом пхп неверная расстановка кавычек в запросе не сможет вызвать падение скриптов или дать какие-то доступы (данные) злоумышленникам.

Экранирование же при запросах в базу должно быть более широким, то есть не только кавычки и слэши, но и некоторые другие спец. символы языка sql, а потому опять же, нельзя не экранируя писать в запросе к базе полученные таким образом данные с клиента (то есть с экранированными только кавычками). Потому дополнительное экранирование всёровно надо будет проводить. А зачем эти мучения, если есть готовые функции производящие полное экранирование строк в запросах.

Потому у меня не было ещё ни одного случая, когда бы мне эта опция не мешала бы, потому на всех разрабатываемых мной сайтах я её сразу же отрубал в htaccess.
...
Рейтинг: 0 / 0
переменные из формы, не отображают кавычек
    #38506111
fedorov2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок, спасибо
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / переменные из формы, не отображают кавычек
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]