Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Открытие окна и запись (https://javascript.ru/forum/misc/58304-otkrytie-okna-i-zapis.html)

aleksandr8i 16.09.2015 13:03

Цитата:

Сообщение от laimas
enctype="multipart/form-data"

Данный код был скопирован из браузера
в исходном файле это выглядит так <form class="g-form-m g-form-m_main" action="{site_url('feedback')}" method="post">
Цитата:

Сообщение от laimas
PS. И не name="imia", а name="name"

Понятно ;) Просто есть модуль который создает нужные поля для формы а это "imia" генерируется в зависимости от названия самого поля :) Ох и глазастый вы :)

laimas 16.09.2015 13:08

Ну так какие проблемы. Вы передаете на адрес /feedback два GET параметра, title и text. На севере они будут доступны в массиве $_GET:

if($_GET AND $_GET = array_diff(array_map('htmlspecialchars', array_map('trim', $_GET)), array('')) AND count($_GET)==2) { 
    //если этот обработчик принимает только эти два параметра
    //здесь формируем форму, в которую и вставляем $_GET['title'] и $_GET['text']
    //как значения в соответствующие ее поля, и отдаем форму пользователю
    //то есть выводим страницу    
}

laimas 16.09.2015 13:10

Цитата:

Сообщение от aleksandr8i
а это "imia" генерируется в зависимости от названия самого поля


Это не имя, среди чинного name="title" imia как жаргон четкого пацанчика ), да и адрес пишется address.

aleksandr8i 16.09.2015 13:51

laimas, спасибо большое ;)

nesnayka 16.09.2015 14:13

aleksandr8i,
Т.к. эти данные никуда не вставляются (SQL-запрос и т.п.), а просто передаются на страницу, то можете еще проще написать:
<?php $_GET = array_diff(array_map('htmlspecialchars', array_map('trim', $_GET)), array('')); ?>
...
<input value="<?=$_GET['title']; ?>" .../>
<input value="<?=$_GET['text']; ?>" .../>
....

laimas 16.09.2015 14:21

Не за что, так как это упрощенный пример, а в реальности вам нужно ответить гораздо на больше вопросов при приеме данных, нежели тех, что приписаны в условии: достоверность ключей, либо, и что обязательно, их значений. Добавление на карту объектов, это смотря каких, и коли добавили свои, то их не только Яшка должен хранить в своем справочнике, но и вы должны вести учет их, но как, если у вас ничего и не где не храниться. Что же мне мешает вам прислать два значения - "Привед", "Медвед", и ваш администратор или кто-то иной это схвает.

А если есть ошибки, то это уже диалог клиент-сервер, а это уже напрямую касается вопроса "да вы все усложняете". За кажущейся простотой могут скрывать большие проблемы.

laimas 16.09.2015 14:23

Цитата:

Сообщение от nesnayka
Т.к. эти данные никуда не вставляются (SQL-запрос и т.п.), а просто передаются на страницу, то можете еще проще написать:


А вы попробуйте так делать, до первой XSS атаки может и попрет, а там дай бог задумаетесь. И запомните обязательное золотое правило - сервер обязан проверять все данные пришедшие извне, хоть там на клиенте вплоть до нижнего белья их проверяли. Проверять нужно все. Безопасность не тот вопрос, в котором "проще значит лучше". К тому же вот такая безобидная вставка < может испортить все

nesnayka 16.09.2015 14:43

laimas,
Ну безобидная вставка "<" , '"' и даже "><iframe src=..." ничего не сделает в данном случае, т.к. все из адресной строки вставляется в value input'а.
А вообще, да, я в курсе. ))

laimas 16.09.2015 15:20

А в курсе, значит и базарить нечего об этом.


Часовой пояс GMT +3, время: 15:41.