所以投票页面在Click here 用户名应输入文本框,在两台服务器上投票后,它应将用户名发送到数据库。
<form name="vote" class="short style" method="post" target="_blank">
<input name="username" type="text" size="30" maxlength="30" placeholder="Username"><button id="nextbutton" type="button" onClick="next();">Next</button>
<div style="display: none;" id="button" class="button"><button type="submit" onClick="changeAction('http://www.rune-server.org/toplist.php?do=vote&sid=8289&name=');")>Rune-Server</button><button type="submit" onClick="changeAction('http://www.runelocus.com/toplist/index.php?action=vote&id=30838&id2=');")>RuneLocus</button></div>
</form><br>
我不知道要添加什么,我想我需要使用下一个按钮做一些事情..但是请帮忙!另一件事是它是 html...应该是 php 吗? 但 mysql 工作正常并且正在发送到客户端。 它只是将用户名发送到数据库, 这是检查投票
if (!$con) {
die("Could not connect to database: " . mysql_error());
}
mysql_select_db("a5999082_oxidepk", $con);
$username = mysql_escape_string($_GET['username']);
if (isset($_GET['username'])) {
$result = mysql_query("SELECT * FROM `votes` where username = '$username'") or die(mysql_error());
$row = mysql_fetch_array($result);
if($row['username'] == $username) {
mysql_query("DELETE FROM `votes` where username = '$username'");
echo "true";
} else {
echo "false";
}
}
mysql_close($con);
然后是回调
<?php
$rspscoding = gethostbyname("http://www.oxidepkz.net63.net");
if($_SERVER['REMOTE_ADDR'] == $rspscoding) {
$con = mysql_connect("mysql1.000webhost.com", "a5999082_oxidepk", "password");
if (!$con) {
die("Could not connect to database: " . mysql_error());
}
mysql_select_db("a5999082_oxidepk", $con);
$username = mysql_escape_string($_GET['username']);
if (isset($_GET['username'])) {
mysql_query("INSERT INTO `votes` (username) VALUES ('$username')") or die(mysql_error());
}
mysql_close($con);
}
?> 也不确定 gethostbyname 应该是什么...谢谢!
最佳答案
所以...一些评论
首先,你不是sanitizing your data ,这会让您容易遭受 SQL 注入(inject)。
其次,您在代码示例中发布了数据库凭据。任何阅读本文的人都可以看到它们并访问您的数据库。编辑无法解决这个问题(仍将成为历史),因此我强烈建议您更改数据库凭据。下次您可能想在发布之前删除这些内容。
第三,您需要停止使用mysql
并切换到mysqli
Why shouldn't I use mysql_* functions in PHP?
第四,你正在使用(以一种令人困惑的方式)
$rspscoding = gethostbyname("http://www.oxidepkz.net63.net");
if($_SERVER['REMOTE_ADDR'] == $rspscoding) { }
这永远不会成功,因为 $_SERVER['REMOTE_ADDR']
包含用户的 IP,而不是主机名(并且您的用户也不会从您的服务器发帖,这就是我假设 $rspscoding
是)。查看PHP $_SERVER reference .
关于php - 网站未将投票存入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20013910/