Данные:Форма PHP => электронная почта => база данных Access 2007

StackOverflow https://stackoverflow.com/questions/2163404

Вопрос

У меня есть форма, которая отправляется на страницу 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 будет кнопка.Эта кнопка будет отображать текстовое поле, человек, вводящий данные, просто вставит приведенный выше блок текста в поле и нажмет «ОК», а некоторый макрокод будет обрабатывать распаковку данных и заполнять формы.Тогда специалисту по вводу данных просто нужно будет убедиться, что все в порядке, и добавить запись в базу данных.

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top