简体   繁体   中英

cannot retrieve value in database and cannot update the table

situation: i have changepass page to change password. but the page cannot retrieve and display the value in the database. i want to display the ID, name and department that have been stored in the db. the newpasswword also cannot be update...plz..help me..

here's the code:

<?php 
    session_start();
    $username = $_SESSION["username"];

?>
<?php 
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("fyp", $con);

    $username=$_SESSION["username"];


    $query = "SELECT * from access WHERE username = '$username'";
    $result = @mysql_query($query);
    $row = mysql_fetch_array($result);
    $username           =   $row["username"];
    $name               =   $row["name"];
    $department         =   $row["department"];

    mysql_query($query) or die ("Query Failed".mysql_error());

    //mysql_close($link);


if(isset($_POST['submit']))
{
if (!$_POST['newpassword'])
        {
            echo "<script language='Javascript'>alert(' Please Enter The New Password');</script>";
        } 
    else
    {
    $newpassword=$_POST['newpassword'];
    if(!eregi("^[[:alnum:]]{6,12}$", $newpassword)) 
        { 
            echo "<script language='Javascript'>alert(' New Password must be 6-12 element');</script>";
        }
    else {
    $query1 = "UPDATE access SET password=$newpassword WHERE username = '$username'";
    mysql_query($query1) or die ("Query Failed".mysql_error());

  echo "<script> alert('Change Password Success. Please Login With The New Password.');
    document.location.href='login.php?mosmsg=Please enter the value'</script>\n";
        }
    }
}
?>  

<font face= "arial" size="2" font color="black">
<center>
<h3 align=center> Change Password </h3>
<table width="500" height="100" border="0" cellspacing="0" cellpadding="2">

<tr>
      <tr>
           <td align="left">User ID</td>
           <td>: <? {echo "$username"; } ?></td>
      </tr>  

      <tr>
        <td align="left">Name </td>
        <td>: <? {echo "$name"; } ?></td>
    </tr>       

         <tr>
           <td align="left">Department  </td>
           <td>: <?php echo $row['department']; ?> </td>      
         </tr>

         <tr>
           <td align="left">New Password </td>
           <td>: <input name="newpassword" type="password" id="newpassword" size="20" ></td>
      </tr>

You are using mysql_query function two times which is wrong, remove this line:

mysql_query($query) or die ("Query Failed".mysql_error());

Your code should look like this:

$query = "SELECT * from access WHERE username = '$username'";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
$username           =   $row["username"];
$name               =   $row["name"];
$department         =   $row["department"];

This way you will come to know if there is any erorr from mysql and proceed further depending on that error if one is there. Let's know if this works or there is a mysql error.

EDIT: Couple of things, first you are missing the form tag in your html, two put these lines at the start of the script to know what errors you receive.

ini_set('display_errors', true);
error_reporting(0);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM