所以投票页面位于点击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);
}
&GT?; 也不确定gethostbyname应该是什么...谢谢!
答案 0 :(得分:2)
所以...几条评论
首先,你不是sanitizing your data,这使你对SQL注入开放。
其次,您在代码示例中发布了数据库凭据。阅读此内容的任何人都可以看到并访问您的数据库编辑不会修复(仍将在历史记录中)所以我强烈建议您更改数据库凭据。下次您可能希望在发布之前删除它们。
第三,您需要停止使用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。