За последние 24 часа нас посетили 18728 программистов и 1603 робота. Сейчас ищут 868 программистов ...

Передача данных через хтмл форму

Тема в разделе "PHP для новичков", создана пользователем Tinvul, 11 июн 2009.

  1. Tinvul

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

    С нами с:
    13 мар 2009
    Сообщения:
    31
    Симпатии:
    0
    Адрес:
    Хабаровск
    Добрый день!

    Совсем запутался, обьясните пожалуйста, каким оператором преобразовывать полученную из формы текст, чтоб можно было записать в бд, и небыло проблем с символами (чтоб не было проблем с пропажей символов кавычек и т.д... чтоб они не вызывали ошибки в скриптахБ которые этот текст обрабатывают в дальнейшем.).
    И второе. надо ли вообще чемнибудь преобразовывыть хтмл код для записи в бд, и соответсвенно получения из бд? (пользуюсь редактором TinyMCE)
     
  2. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Tinvul
    trim, mysql_real_escape_string, nl2br, htmlspecialchars
     
  3. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    1. http://ru2.php.net/manual/ru/security.database.php
    2. Вообще так как в форму могут записать, что угодно, то надо проверять все поля на соответствие пришедших данных ожидаемым. Например:
    PHP:
    1. $a=$_POST["age"]+0
    дает уверенность, что в $a будет число. При желании можно проверить, что $a находится в нужных пределах.
    То же самое с текстовыми данными их стоит проверить как минимум на не превышение максимальной длины (и на не пустоту, если данные обязательно должны быть).
    3. Какая БД? И как осуществляется подключение. Для sqlite, например: http://ru2.php.net/manual/ru/function.sqlite-escape-string.php. Аналогичное есть для других баз.
    4. Учитывать, если не совпадают кодировки БД и страницы.
     
  4. Tinvul

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

    С нами с:
    13 мар 2009
    Сообщения:
    31
    Симпатии:
    0
    Адрес:
    Хабаровск
    Volt(220)
    форма в админской части, соединение какое незнаю... просто модуль пишу к нему... БД -mysql...
    Собствено в бд должно сохранять новости. вопрос возник из-за символов ковычек разных и апострофов. я не знаю как на это отреагирую скрипты...
    там поля заголовка и остального передаются через пост, и сами формы ограничены на количество знаков
     
  5. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    1.
    Пока не проверишь не узнаешь. :D
    2.
    Могу предположить что смотреть надо в сторону функций указанных выше:
    trim, mysql_real_escape_string
    3.
    Каким образом?
    Если идет проверка php алгоритмом, тогда ладно.
    Если стоит нечто вроде maxlength или проверка JS, то можно банально скопировать форму, убрать эти проверки и отослать форму...
     
  6. Tinvul

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

    С нами с:
    13 мар 2009
    Сообщения:
    31
    Симпатии:
    0
    Адрес:
    Хабаровск
    Volt(220)
    еще раз повторюсь - формы в админской части... защита от самих себя нужна))) а вообще в php скрипте делал валидацию через ajax на правильность заполнения
     
  7. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Не правильно Вас понял. Снимаю третье замечание :)