我有一个基于web的,php,DB系统,使用mysql。用户登录,在表单中输入数据,单击submit,输入数据,可以读取、分析、报告等等。
现在,我们有了一个数据提供程序,它希望通过一个链接将数据发送到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提交,而不是从表单,而是直接从链接?
提亚
发布于 2013-11-04 19:54:41
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>一些帮助:httpmethods.asp
发布于 2013-11-04 19:40:19
您可以了解the服务和休息来实现它。
要持久化给定的数据,您应该通过POST请求而不是GET请求(或者如果是更新的话)。
客户机将只使用您的URI并发出POST或PUT请求来持久化或更新数据,并发出获取数据的GET请求和删除删除数据的请求。
https://stackoverflow.com/questions/19775486
复制相似问题