0

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

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

“我们将数据传递给客户的最常见方式是将我们的数据发布到您的系统。为此,我需要一个 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

4

2 回答 2

1

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']; 因此您只需更改从 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

于 2013-11-04T19:54:41.043 回答
0

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

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

客户端只会使用您的 URI 并发出 POST 或 PUT 请求来持久化或更新数据,并发出 GET 请求来获取数据并发出 DELETE 来删除数据。

于 2013-11-04T19:40:19.917 回答