我正在尝试使用MySQL数据库来验证用户是否从我的网站购买了一个程序。我不需要使用数据库,但这是我可以实现的最简单的方法(对于完成购买验证系统的不同方法的任何建议都非常感激。)
我目前的算法:
我必须使用HTTP请求,因为只有服务器才能编辑数据库。我的网站使用共享托管,因此我无法直接修改任何本地用户的数据库。
我以前从未使用过数据库,但我知道我必须使用INSERT
,CREATE TABLE
,UPDATE
和SELECT
命令。另外,我从未直接使用HTTP请求。
HTTP请求应该如何,以及如何在服务器上处理它们?关于如何使用数据库的任何其他提示也将不胜感激。
注意:我可能会使用PHP(服务器端)和Python(客户端)。
答案 0 :(得分:1)
你的HTML看起来像这样
<html>
<body>
<form action="validate.php" method="post">
Name: <input type="text" name="name"><br>
unique string: <input type="text" name="uniqueString"><br>
<input type="submit">
</form>
</body>
</html>
在服务器端,您的validate.php看起来像这样。
<?php
$name = $_POST["name"];
$unqString = $_POST["uniqueString"];
//connect to your DB
mysql_connect("your.hostaddress.com", "username", "password") or die(mysql_error());
mysql_select_db("Database_Name") or die(mysql_error());
$data = mysql_query("SELECT uniqueStringUsedFlag FROM <stringTableName> WHERE uniqueString='.$unqString.'")
or die(mysql_error());
while($info = mysql_fetch_array( $data )) {
if $info['uniqueStringUsedFlag']==1{
return 'Error Message';
}else
{
mysql_query("update <stringTableName> set uniqueStringUsedFlag =1 where uniqueString='.$unqString.'");
return 'Success';
}
}
//if the control comes here, it means the record was not found.
return 'Error message'
?>
替换&lt; stringTableName&gt;用你的实际表名。 并对列也做同样的事情。 PS:此代码未经测试。并且请进行适当的验证等。此处未包含此内容。 让我知道这个是否奏效。