Данные: форма PHP => электронная почта => база данных Access 2007 - PullRequest
0 голосов
/ 29 января 2010

У меня есть форма, которая отправляется на страницу PHP. Данные из формы необходимо добавить в базу данных Access, однако веб-сайт размещен, а база данных Access находится на сетевом диске. Итак, на данный момент форма просто отправляет данные по электронной почте тому, кто вводит их вручную. Мы пытаемся улучшить этот процесс.

Таким образом, у страницы PHP нет прямого доступа к файлу .mdb.

Моя идея состоит в том, чтобы страница PHP каким-то образом создала блок закодированных данных, возможно, со скрытой контрольной суммой, и отправила по электронной почте нашему сотруднику по вводу данных. Это письмо будет выглядеть примерно так:

===== BEGIN FORM DATA =====
oipcxunrhunt5klejswtnlerj,m,nxupogxjidoh
jpos89760aq2y984hu5nw3jnm4tiopanj5kjny;s
ljknm;l5nkl;ksnm;linjtg89jx9070g89xc6dgh
890unysl;ne.lmsjo8r7g9n0cf9ogumhlkod9ysd
8hj7pc9pg8uopcfmity68od7r9pyh9pm9pfghpju
ypxdekopslp4mpsmkl;4m;slkmk;smjilenmuops
inuobnuiou5io5nuosiun5oin5u4oinu5oiwnu3o
in2oinounion0uonio76n598n109yb9705btbsnb
===== END FORM DATA =====

UUencoding приходит на ум, хотя на самом деле, я думаю, мне просто нужен какой-то алгоритм шифрования, который легко реализовать как в PHP, так и в Access (VBScript).

Последняя часть, конечно, в форме ввода Access, там будет кнопка. Эта кнопка открывала бы текстовое поле, человек, который вводит данные, просто вставлял вышеуказанный блок текста в поле и нажимал кнопку ОК, а некоторый макрос-код обрабатывал бы распаковку данных и заполнял формы. Тогда сотруднику по вводу данных нужно будет просто проверить, что все в порядке, и добавить запись в базу данных.

Этот процесс звучит как самый эффективный? Какой алгоритм вы бы порекомендовали создать этот блок текста и легко распаковать его в форму доступа?

Кстати, я очень хорошо разбираюсь в PHP, а не в Access / VBScript. Пожалуйста, будьте многословны о доступной стороне вещей. Спасибо!

Ответы [ 2 ]

0 голосов
/ 29 января 2010

Размышляя о том, что предложил @theMike, я бы предложил полностью обойти электронную почту.

Имейте в виду, что Access может напрямую взаимодействовать с библиотекой MS XMLHTTP, чтобы он мог напрямую общаться с веб-страницей. Таким образом, вы должны настроить PHP-скрипты, которые Access может загружать, которые возвращают контент, который Access должен обработать. Один из моих клиентов загружает на свой веб-сайт инвентарь из своей базы данных Access, используя эту функцию. Он также может работать в противоположном направлении (т.е. загрузка).

Хотите ли вы сохранить результаты из формы ввода в базе данных или просто в текстовых файлах, зависит от того, доступна ли вам база данных. Если вы используете базу данных, это довольно легко. Если вы используете текстовые файлы, я бы предложил один результат для каждой формы, а не добавлять каждый результат формы в виде строки в одном текстовом файле, поскольку обрабатывать отдельные файлы намного проще, чем работать с несколькими строками текстового файла. Однако, если у вас уже есть слой абстракции базы данных, расположенный под вашими PHP-страницами, вы вполне можете использовать его для работы с текстовыми файлами через SQL (если ваш уровень абстракции поддерживает это).

0 голосов
/ 29 января 2010

Может быть, вы можете решить проблему по-другому? Пусть PHP выгрузит свои данные в базу данных MySQL, а затем сторона доступа получит новые данные из базы данных при загрузке.

...