2012-02-15 3 views
0

У меня есть несколько страниц php, которые могут захотеть получить доступ к базе данных и вставить в нее данные. Теперь у меня есть PHP-скрипт (save_data.php), который делает вставку. Он получает вход через POST, а затем вставляет данные в базу данных.Вызов файла PHP из другого файла PHP

Я хочу, чтобы другие страницы могли звонить/удалять save_data.php и отправлять параметры через POST, чтобы эти страницы не имели прямого доступа к базе данных. После нажатия save_data.php другие страницы должны возобновить загрузку собственных кодов HTML.

Я читал о cURL на PHP и с помощью WebServices, но я не уверен, какой из них подходит или есть какой-либо другой способ? Благодарю.

+0

пример скручивания: http://stackoverflow.com/questions/2440252/php-curl-i-need-a-simple-post-request-and-retrival-of-page-example это быстрый способ обработки это. Веб-сервисы могут быть более уместными, если другим разработчикам в других компаниях необходимо использовать это – codercake

ответ

1

Основываясь на ваших комментариях к другим ответам, похоже, что вы хотите предоставить доступ к своим скриптам сохранения другим серверам и разработчикам. Стандартный способ наилучшей практики сделать это - предложить веб-службу. Или API, к которому можно получить доступ через cURL, REST или, возможно, даже открыть SOAP-сервер.

Есть старый школьный трюк, чтобы сделать некоторые из этих вещей, хотя, если вы ищете быстрый и простой способ разоблачить этот скрипт. Вы можете использовать встраивание изображений в HTML, вроде того, как работают старые счетчики сайтов школы.

страница содержит изображение:

<img src="http://yoursite.com/your_script.php" /> 

И your_script.php делает вашу логику записи базы данных, и отвечает соответствующему типу MIME, а также данные пустого GIF.

Это чаще всего используется для обмена куками по нескольким доменам и службам с использованием нескольких типов технологий, но может работать в вашем случае.

Я не рекомендую его ЛУЧШИЙ путь. Но это может сработать для вас.

Редактировать

Другая причина я изложил это решение, потому что это не требует PHP на начальной странице. Когда ваш вопрос заявил, что страницы могут быть загружены пользователями, я получил сердцебиение, думая о том, что пользователь загрузил PHP, включая ваш PHP. Пожалуйста, не позволяйте пользователям загружать и выполнять PHP-код. Пожалуйста, о, пожалуйста!

+0

Я думаю, что веб-сервис - это путь. Что вы подразумеваете, не позволяя им выполнять php-код? –

+0

Когда вы сказали: «Другие страницы могут быть разработаны другими пользователями, загруженными на сайт», я получил (возможно, ошибочно) впечатление, что вы позволите ненадежным пользователям загружать свои собственные PHP-страницы на ваш сервер, и это гигантская уязвимость системы безопасности. –

1

Почему вы не просто include сценарий и вызов функции в нем?

ОБНОВЛЕНИЕ: на основании ваших комментариев ниже я бы рекомендовал какой-то веб-сервис, а затем «страницы», которым нужен доступ к сохранению, могут использовать cURL.

+0

, другие страницы могут быть на разных серверах .. и другие страницы могут быть разработаны другими пользователями, загруженными на сайт, и мы просто хотим предоставить доступ к база данных по ссылке –

+0

Тогда вы должны быть яснее в своем вопросе. Вы не упомянули об этом. – Gregg

+0

Извините, что .. с помощью webservice, значит, мне нужно использовать SOAP? –

Смежные вопросы