veritabanında değeri alamıyor ve tablosunu güncelleştirmek olamaz

1 Cevap php

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..

Burada kod:

<?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>

1 Cevap

Sen mysql_query function yanlış iki defa kullanıyorsanız, bu satırı kaldırın:

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

Kodunuzu aşağıdaki gibi görünmelidir:

$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"];

Bu şekilde mysql herhangi erorr olup olmadığını bilmek ve eğer varsa bu hataya bağlı olarak daha fazla devam gelecektir. Bu eserler veya bir mysql hatası varsa en bilsin.

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);