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

时间:2013-11-04 19:28:46

标签: php mysql

我有一个基于web,php,DB系统使用mysql。用户登录,在表格中输入数据,点击提交,输入数据,可以阅读,分析,报告等等。

现在我们有一个数据提供者想要通过链接将数据发送到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>

data.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>

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

TIA

2 个答案:

答案 0 :(得分:1)

GET方法将数据发送到链接中。你的应该看起来像这样:

<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'];来获取这些变量 因此,您只需要更改data.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

答案 1 :(得分:0)

您可以了解网络服务,REST可以了解这一点。

要保留给定的数据,您应该通过POST请求而不是GET请求(或PUT,如果它是更新)来执行此操作。

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