所以這是完美的,直到一個小時前,從那時起我絞盡腦汁修復它並沒有得到任何東西,也許我錯過了明顯的(通常是這種情況)。PHP的MySQL雖然沒有分配變量對應的數據庫密鑰
該代碼打印出一個用戶列表和一個按鈕來禁止他們在一個表中,但問題是,如果你點擊禁止說......第34個用戶它禁止第一,然後如果你點擊56號禁令用戶禁止第二個用戶。如果你看到我的代碼,你應該看到,這不應該是這樣的(注意,所有其他細節都是完全正確的除了UID):
$query = mysql_query("SELECT id, full_name, banned, username from `tblUsers`");
while($row = mysql_fetch_array($query)){
$uID = $row['id'];
if($row['banned'] == '0'){
$banBool = '<form id="ban" method="post" action="ban.php?uid='.$uID.'">
<input type="hidden" name="ban" value="" />
<a onclick="document.getElementById(\'ban\').submit();">Ban</a>
</form>'; }else{
$banBool = '<form id="unban" method="post" action="unban.php?uid='.$uID.'">
<input type="hidden" name="name" value="" />
<a onclick="document.getElementById(\'unban\').submit();">UnBan</a>
</form>' ;
}
if($row['banned'] == '1'){
$status = 'Banned';
}else{
$status = 'Active';
}
echo "<tr><td>" . $row['username'] . " " . $uID . "</td><td>" . $banBool . "</td><td>" . $status . "</td><td>" . $row['full_name'] . "</td></tr>";
}
的問題是在行動=「unban.php UID? = '$ UID。'當我跟蹤路徑的ID始終是最低的數字(頂部結果)
ban.php
<?php
include '../../includes/dataBase.class.php';
sql::connect();
if(!sql::checkAdmin() == 1){
header("Location: ../myaccount.php");
}
if(!isset($_GET['uid'])){
header("Location: users.php?action=1");
}
$uid = $_GET['uid'];
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query("INSERT INTO `uipBan` (`ip`) VALUES ('$ip')")or die(mysql_error());
mysql_query("UPDATE tblUsers SET banned = '1' WHERE id = '$uid'")or die(mysql_error());
//header("Location: users.php?action=1");
echo $uid;
?>
您隱藏的輸入是什麼意思?你能發佈生成的HTML嗎? – j08691 2012-04-09 20:38:43
隱藏的輸入只是使它成爲一個「按鈕」,但看起來像一個超鏈接。這是輸出http://i40.tinypic.com/2wqua07.jpg忽略juy只是一些調試的東西,名稱旁邊的數字是從每個帳戶的數據庫的ID – zomboble 2012-04-09 20:41:45
事實上,什麼是點表格,甚至?你不能直接生成鏈接嗎?你似乎在使用GET和POST請求的混合,這必然會導致一些麻煩:) – Daan 2012-04-09 20:43:37