2010-02-05 235 views
0

我編輯我的應用程序form.So我在做什麼,告訴你here..I我已經登錄無法更新申請表

  • 首先,我給一個編輯鏈接的現存數據在我的主頁(edit_profile1.php)
  • 現在我再次要求用戶名和密碼,這樣未經授權的用戶無法在您的個人資料進行編輯
  • 現在edit_profile1.php我檢查用戶名和密碼由用戶發送到存儲在數據庫中的用戶名和密碼
  • 如果用戶名和密碼是正確的,然後我重定向到edit_profile2.php
  • 這裏我創建一個與填寫申請表時使用的文本框相同的表單(我使用的是同名的框)。這裏是一個名稱更新爲

對於edit_profile3.php我給這裏coading

<?php 

    $con=mysql_connect("localhost","root",""); 
     if(!$con) 
     { 
     die('Could Not Connect:'.mysql_error()); 
     } 
     mysql_select_db("tcs",$con); 

$usr=$_POST["username"];     
$pwd=hash('sha1',$_POST['password']); 

$query="select * from employee where Username='$usr' and Password='$pwd'"; 

$result=mysql_query($query,$con); 


if ($result) 
{ 

$row=mysql_fetch_array($result); 
$sql="update employee set ($row['Username']=$usr,$row['Password']=$pwd"); 

$deepak=mysql_query($sql,$con); 

if($deepak) 
{ 
    echo "Updation Successfull" 
} 

}
?>

最後一頁現在,當我EXCUTE這個錯誤就要這樣 解析錯誤:語法錯誤,意想不到的T_ENCAPSED_AND_WHITESPACE,F中期待T_STRING或T_VARIABLE或T_NUM_STRING:\學習材料\ Linux的\ XAMPP \ htdocs中\ edit_profile3.php第21行

Line number 21 is 
$sql="update employee set ($row['Username']=$usr,$row['Password']=$pwd"); 

現在我沒有得到我在哪裏得到錯誤.Plz還告訴我,是否有任何其他方法更新應用程序表單的任何其他邏輯。Plz檢查上面。

回答

1

除了別人已經指出的圓括號的問題,不應該是這樣嗎?

"update employee set password=$pwd WHERE username=$usr" 

如果你也想改變用戶名,做這樣的事情:

"update employee set username=$new_username, password=$pwd WHERE username=$old_username" 

的語法的說明,請參見UPDATE documentation for MySQL。另外,把這樣的字符串直接放到SQL查詢中是有風險的 - 如果你不小心,你可能會留下SQL注入的刀槍不入。你應該使用查詢參數來確保你的代碼是安全的。從this question on StackOverflow瞭解更多關於它的信息。

+0

好吧,我刪除了報價問題,但仍然是相同的錯誤..並plz che出正常我想做編輯evrything不僅密碼,而且用戶名這就是爲什麼我給命令 $ sql =「更新員工設置($行['用戶名'] =美元,$行['密碼'] = $ pwd)「 這是行不通的 – 2010-02-05 20:13:25

+0

@Deepak:對不起,但你做錯了。你曾經在SQL中使用過UPDATE嗎?我建議你閱讀文檔(參見我更新後的答案中的鏈接)和一些教程,並嘗試在查詢瀏覽器中使用UPDATE,直到你理解它爲止。 – 2010-02-05 20:19:47

+0

謝謝你的建議先生,今後我會跟着它肯定。但現在它的緊急先生這就是爲什麼我這麼堅持在這裏.. 關於問題 可能是我無法正確地告訴你我wnat.Ok PLZ首先,我將所有表單數據從dataabse提取到表單中。我的表單有兩個字段用戶名和密碼。現在我想更改用戶名和密碼... 這就是爲什麼我要寫$行['用戶名'](舊值)= $ usr(新值)和$ row ['密碼'](舊值)= $ pwd(新值).. plz告訴我正確的代碼一次,以便我可以抓住它並可以實現到我的project.plz中 – 2010-02-05 20:42:54

0

您的右括號)位於查詢字符串之外。

使用語法高亮顯示的PHP編輯器,它們可以幫助您立即看到這些問題。

the PHP manual是非常好的,總是很好用得心應手。

0

聲明不正確寫入:

$sql="update employee set ($row['Username']=$usr,$row['Password']=$pwd)"; 

的報價必須是 ')' 之後。