Здание электронной коммерции - PullRequest
0 голосов
/ 17 сентября 2011

Я начинаю с разработки MySQL и собираюсь создать свой собственный сайт электронной коммерции.

  1. Если я хочу сохранить список пожеланий клиента в таблице, должен ли я это сделать, например, в первом столбце есть идентификатор пользователя, а во втором - идентификаторы продукта, разделенные как product0|product1|product2, или есть ли более эффективный способ сделать это в MySQL?
  2. Стоит ли хранить данные пользователя навсегда или удалить их после обработки заказа?
  3. Достаточно ли безопасной функции для удаления опасных символов из пользовательского ввода:

    <code>function siisti($str){
    $str = strip_tags($str);
    $str = htmlentities($str);
    $str = trim($str);
    $str = htmlspecialchars($str);
    $str = mysql_real_escape_string($str);
    $str = str_replace(array("&auml;", "&ouml;"), array("ä", "ö"), $str);
    return $str;
    }
  4. Есть ли еще что-то, на что я должен смотреть при его создании?

EDIT: Еще один вопрос Это хороший способ сделать страницы:

up.php

Content to be inserted top of all pages


 | Some Site
etc.

down.php Content to be inserted footer of all pages some copyright notes etc. <pre><code><./body> <./html>

somepage.php

i.nclude ( "up.php"); некоторый контент здесь

По какой-то причине обработка кода вообще не работает! Так что просто нажмите изменить, чтобы увидеть, что я имею в качестве кода. Эта ошибка действительно должна быть исправлена ​​на этом сайте.

Ответы [ 2 ]

4 голосов
/ 17 сентября 2011
  1. Используйте таблицу со столбцами customer и product и вставьте несколько строк для каждого клиента - по одной для каждого принадлежащего ему продукта.

    +-----------+----------+
    | customer  | product  |
    +-----------+----------+
    | customer0 | product0 |
    | customer0 | product1 |
    | customer0 | product2 |
    | customer1 | product2 |
    | customer2 | product0 |
    +-----------+----------+
    
  2. Как правило, не удаляйте строки. Просто отметьте их как обработанные. Это позволяет проводить аудит системы.

  3. Используйте mysql_real_escape_string или параметризованные запросы при доступе к базе данных. Используйте функции экранирования HTML при написании HTML. Нет такой вещи как «опасные символы», только «опасное программирование». Никогда Попробуй самостоятельно написать "очистительные" функции. Использование общих функций очистки делает вас ленивым. Вы не поймете, что делаете, и это приведет к ошибкам.

1 голос
/ 17 сентября 2011

1: НЕТ НЕТ НЕТ НЕТ, не делай этого. Иметь отдельную таблицу для продуктов, иметь таблицу с именем «корзина» или что-то с двумя столбцами ... один для идентификатора клиента и один для идентификатора продукта. Количество и цена в корзине также могут быть вам полезны.

2: Вы должны сохранить некоторые данные на потом. Не храните информацию о кредитной карте. Читайте о соответствии PCI .

3: Не делай этого. Вы исправляете свои данные без возможности восстановления. Используйте функции по мере необходимости, когда они необходимы.

4: Учитывая вопросы, которые вы задаете, и тот факт, что это колесо было изготовлено 100 раз, остановитесь сейчас, измените существующее решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...