2013-09-23 74 views
-2

我想更新我的數據庫表的名字和姓氏,其中電子郵件等於會話電子郵件,但我不能更新表中的電子郵件等於登錄的電子郵件用戶請幫助我。有人可以請幫我這個更新表

<?php 

session_start(); 

if(!session_is_registered(email)){ 

header("location: login.html"); 

}?> 
<?php 
echo"<a href = logout.php> Logout </a>"; 
?> 
<?php 
include('config.php'); 

session_start(); 
if(isset($_SESSION['email'])) { 

echo "Welcome &nbsp;&nbsp;&nbsp;".$_SESSION['email'].""; 

} 


?> 
<?php 
    $dbhost = 'localhost'; 
    $dbuser = 'user'; 
    $dbpass = 'password'; 
    $conn = mysql_connect($dbhost, $dbuser, $dbpass); 
    if(! $conn) 
    { 
    die('Could not connect: ' . mysql_error()); 
} 

    $sql="UPDATE nametable SET fname='$fname', lname='$lname' WHERE email='" . $_SESSION  ['email'] . "'"; 

    echo $row['fname']." - ".$row['lname']. "<br />"; 
     if($result) { 
     echo "success"; 
    } else { 
     echo "no success"; 
    } 

    mysql_select_db('db'); 
    $retval = mysql_query($sql, $conn); 
    if(! $retval) 
    { 
    die('Could not update data: ' . mysql_error()); 
} 
    echo "Updated data successfully\n"; 
mysql_close($conn); 

?> 

這個ID,它是要根據名字和姓氏是將要被更新不擔心其他的標籤被提交的數據我只是把這個在一起,得到的一個想法到底是怎麼回事,上面的代碼進行更新,請告訴我,我做錯了什麼

<html> 
    <head> 
    <title>Update a Record in MySQL Database</title> 
    </head> 
    <body> 

    <form method="post" action="update1.php"> 
    <table width="400" border="0" cellspacing="1" cellpadding="2"> 
    <tr> 
    <td width="100"> first name</td> 
    <td><input name="fname" type="text" id="fname"></td> 
    </tr> 
    <tr> 
    <td width="100">last name</td> 
    <td><input name="lname" type="text" id="lname"></td> 
    </tr> 
<tr> 
    <td width="100"> </td> 
<td> </td> 
    </tr> 
    <tr> 
      <td width="100"> </td> 
     <td> 
    <input name="submit" type="submit" id="submit" value="submit"> 
    </td> 
    </tr> 
     </table> 
     </form> 

     </body> 
    </html> 
+0

目前是什麼情況?它更新,而不是更新,任何MySQL錯誤? etc – James

+0

新的數據fname和lname不會保存到表格中的電子郵件地址 – tazmania

+0

您是否將輸入元素封裝在'

'標籤中? – Konsole

回答

0

首先,你需要qoutes ""字串,在您的SQL

$sql="UPDATE nametable SET fname='$fname', lname='$lname' WHERE email='" . $_SESSION  ['email'] . "'"; 

應該

$sql='UPDATE nametable SET fname="'.$fname.'", lname="'.$lname.'" WHERE email="'.$_SESSION['email'].'"'; 

下一個,你是不是在執行查詢的。在下面的

echo $row['fname']." - ".$row['lname']. "<br />"; 
     if($result) { 
     echo "success"; 
    } else { 
     echo "no success"; 
    } 

覺得你真正的意思:

$result = mysql_query($sql); 
if (mysql_affected_rows()>-1) { 
    // success 
    // do here what you want 
} 
+0

沒有發生任何事情fname和lname未提交到表 – tazmania

0

我覺得session_is_registered功能已經過時,而不是

session_is_registered('email') 

你MIG所以HT想使用:

if (isset($_SESSION['email'])){} 

,並在PHP的一個頁面,你只能有1個session_start()函數。

如果它仍然無法正常工作,請嘗試打印出$ sql變量來調試您的代碼。

讓我知道是否有幫助。

+0

不,我沒有幫助我每次提交數據時都會繼續登錄 – tazmania

相關問題