使用链接将数据从外部源发布到 MySQL DB


post data to mysql DB from external source using a link

我有一个使用mysql的基于Web的php数据库系统。 用户登录,在表单中输入数据,单击提交,然后输入数据,可以读取,分析,报告等。

现在我们有一个数据提供者,他想通过链接将数据发送到 MySQL DB,从未登录系统的源向数据库提交外部

"我们将数据传输给客户的最常见方法是将我们的数据发布到您的系统。为此,我需要一个 URL 来将数据发布到 以及必填字段名称。

我不太确定这意味着什么。

http://mysite.com/data.php?first_name=bob&last_name=smith  // ??

在上面的示例中,如何设置 data.php,以便数据提供者可以通过链接输入,而不必发布到表单中?

通常,我有一个这样的 html 表单,在我们称之为 form1.php 的页面上:

<html><body>
<form method="POST" NAME="form1" action="data.php">
<input type='text' name='first_name'>
<input type='text' name='last_name'>
<input type=submit value="Submit">
</form>
</body></html>

数据.php如下所示:

<?
include("dbinfo.inc.php"); // has the access info for the DB, how to connect
$first_name = mysql_real_escape_string($_POST['first_name']);
$last_name = mysql_real_escape_string($_POST['last_name']);
$query = "INSERT INTO table1 (first_name, last_name) VALUES ('$first_name','$last_name')";
mysql_query($query);
mysql_close();
?> 

<html>
<head>
<meta HTTP-EQUIV="REFRESH" content="0; url=form1.php">
</head>
</html>

但在此示例中,用户必须登录并发布到表单。 用户通过什么方式生成包含相关数据的链接,并通过数据提交.php不是从表单,而是直接从链接提交?

蒂亚

GET 方法将数据发送到链接中。您的 for 应如下所示:

<form method="GET" NAME="form1" action="data.php">
<input type='text' name='first_name'>
<input type='text' name='last_name'>
<input type=submit value="Submit">
</form>

例如,这会将浏览器发送到http://mysite.com/data.php?first_name=bob&last_name=smith

在 PHP 中,您可以使用 $lastname=$_GET['last_name']; 获取这些变量因此,您只需更改从数据中的表单中获取数据的方法.php:

<?
include("dbinfo.inc.php"); // has the access info for the DB, how to connect
$first_name = mysql_real_escape_string($_GET['first_name']);
$last_name = mysql_real_escape_string($_GET['last_name']);
$query = "INSERT INTO table1 (first_name, last_name) VALUES ('$first_name','$last_name')";
mysql_query($query);
mysql_close();
?> 

<html>
<head>
<meta HTTP-EQUIV="REFRESH" content="0; url=form1.php">
</head>
</html>

一些帮助:http://www.w3schools.com/tags/ref_httpmethods.asp

你可以了解Web服务和REST来做到这一点。

要持久化给定的数据,您应该通过 POST 请求而不是 GET 请求(如果是更新,则使用 PUT)来完成。

客户端将仅使用您的 URI 并发出 POST 或 PUT 请求来保存或更新数据,并发出 GET 请求以获取数据并发出 DELETE 请求以删除数据。