2014-02-13 21 views
0

我遇到了問題。我正在爲我的網站開發自定義CMS,並且出於某種原因,用戶不會在管理控制檯中進行更新。它拉出那裏的ID並在適當的字段中顯示信息,但它不會更新,我不知道爲什麼。它只是刷新相同的信息,不更新我的數據庫或任何東西。我試圖解決這個問題,但它不會工作。我做了不同的更改,但都失敗了,所以我決定只發佈一個原始版本,並修正了一些與更新過程無關的錯誤。Php/html/mysql用戶更新不起作用

繼承人的整個代碼:

<?php 
$id = $_GET['id']; 
$result = $db->query("SELECT * FROM users WHERE Id = '".$id."'"); 

if(isset($_POST['submit'])) 
{ 
    $username1 = $_POST['Username']; 
    $email1 = $_POST['Email']; 
    $password1 = $_POST['Password']; 
    $f_name = $_POST['FName']; 
    $l_name = $_POST['LName']; 
    $rank1 = $_POST['Rank']; 
    $skype1 = $_POST['SkypeID']; 

    $db->query("UPDATE users SET (Email, Username, FName, LName, Rank, SkypeID) VALUES(''.$email1.'', ''.$username1.'', ''.$f_name.'', ''.$l_name.'', ''.$rank1.'', ''.$skype1.'') WHERE Id = ".$id.""); 
} 

?> 
<b>Update User</b> 


<?php 
$id = $_GET['id']; 
$result = $db->query("SELECT * FROM users WHERE id='$id'"); 
while($row = $result->fetch_assoc()) 
{ 
    $username = $row['Username']; 
    $email = $row['Email']; 
    $fname = $row['FName']; 
    $lname = $row['LName']; 
    $rank = $row['Rank']; 
    $skype = $row['SkypeID']; 
} 
?> 
<form method="POST"> 
    Username: <input type="text" name="username" value="<?php echo($username); ?>"><br> 
    Email: <input type="email" name="email" value="<?php echo($email);?>"><br> 
    Passowrd: <input type="password" name="password"><br> 
    First Name: <input type="text" name="f_name" value="<?php echo($fname);?>"><br> 
    Last Name: <input type="text" name="l_name" value="<?php echo($lname); ?>"><br> 
    Rank: <input type="text" name="rank" value="<?php echo($rank); ?>"><br> 
    Skype: <input type="text" name="rank" value="<?php echo($skype); ?>"> 
    <button type="submit" name="submit">Update User</button> 
</form> 

配置文件/ $ DB:

<?php 

$db = new mysqli('localhost', 'user', 'pass', 'database'); 

function registerSession($name, $value) 
{ 
    $_SESSION[$name] = $value; 
} 
?> 

UPDATE

我有固定的問題,我改變了查詢本

$db->query("UPDATE users SET Email= '$email1' , Username= '$username1' , FName= '$f_name' , LName= '$l_name', Rank= '$rank1' , SkypeID= '$skype1' WHERE Id = ".$id."") or die (mysql_error()); 
+0

你在更新提交按鈕表?再次調用同一個php? –

+0

我正在更新已經存在的表格 – user3051246

+0

echo $ id在第一行看看你是否正在編號 –

回答

0

當我看到這個,我畏縮不...

$id = $_GET['id']; 
$result = $db->query("SELECT * FROM users WHERE id='$id'"); 

因爲你還沒有告訴我們什麼$db是,基於物聯網我要去猜測它是一個mysql_*功能長相?我會喜歡看一個SQL注入這個!向我們展示$db是如何創建的(最好至少爲mysqli,如果不是PDO!如果不是,請使用Google「mysqli」或「PDO」)?

很難說出你的問題是什麼。

+0

沒有顯示任何錯誤它的一個mysqli函數 – user3051246

+0

你能告訴我們你的配置文件,這樣我們可以更好地理解'$ db'是什麼嗎? –

+0

是的,我現在更新了原始帖子 – user3051246