Page 1 of 1

what is the problem why i cant display welcome the username

Posted: Sat Apr 02, 2011 2:40 am
by liyun88
hi, i hv some problem i dont know what is wrong about my coding..it look ok but not function that if user success login,it should be show welcome the username...but it not function at all and return to login section.can anyone help to solve my problem.thanks in advance..
below is my coding..
this one is application.php

Code: Select all

<?php include 'config.php' ;


session_start();

mysql_connect("localhost", "root", "")or die("cannot connect to server");
mysql_select_db("nagels")or die("cannot select db");

function redirect($url, $num = 307) {
   static $http = array (
       100 => "HTTP/1.1 100 Continue",
       101 => "HTTP/1.1 101 Switching Protocols",
       200 => "HTTP/1.1 200 OK",
       201 => "HTTP/1.1 201 Created",
       202 => "HTTP/1.1 202 Accepted",
       203 => "HTTP/1.1 203 Non-Authoritative Information",
       204 => "HTTP/1.1 204 No Content",
       205 => "HTTP/1.1 205 Reset Content",
       206 => "HTTP/1.1 206 Partial Content",
       300 => "HTTP/1.1 300 Multiple Choices",
       301 => "HTTP/1.1 301 Moved Permanently",
       302 => "HTTP/1.1 302 Found",
       303 => "HTTP/1.1 303 See Other",
       304 => "HTTP/1.1 304 Not Modified",
       305 => "HTTP/1.1 305 Use Proxy",
       307 => "HTTP/1.1 307 Temporary Redirect",
       400 => "HTTP/1.1 400 Bad Request",
       401 => "HTTP/1.1 401 Unauthorized",
       402 => "HTTP/1.1 402 Payment Required",
       403 => "HTTP/1.1 403 Forbidden",
       404 => "HTTP/1.1 404 Not Found",
       405 => "HTTP/1.1 405 Method Not Allowed",
       406 => "HTTP/1.1 406 Not Acceptable",
       407 => "HTTP/1.1 407 Proxy Authentication Required",
       408 => "HTTP/1.1 408 Request Time-out",
       409 => "HTTP/1.1 409 Conflict",
       410 => "HTTP/1.1 410 Gone",
       411 => "HTTP/1.1 411 Length Required",
       412 => "HTTP/1.1 412 Precondition Failed",
       413 => "HTTP/1.1 413 Request Entity Too Large",
       414 => "HTTP/1.1 414 Request-URI Too Large",
       415 => "HTTP/1.1 415 Unsupported Media Type",
       416 => "HTTP/1.1 416 Requested range not satisfiable",
       417 => "HTTP/1.1 417 Expectation Failed",
       500 => "HTTP/1.1 500 Internal Server Error",
       501 => "HTTP/1.1 501 Not Implemented",
       502 => "HTTP/1.1 502 Bad Gateway",
       503 => "HTTP/1.1 503 Service Unavailable",
       504 => "HTTP/1.1 504 Gateway Time-out"
   );
   header($http[$num]);
   header("Location: $url");
   exit;
}
//SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10;
//SELECT FOUND_ROWS();

function ecp_str($value)
{
  return mysql_real_escape_string($value);
}

function set_flash_note($message)
{
  $_SESSION["flash_note"] = $message;
}

function get_flash_note()
{
  
  $note = $_SESSION['flash_note'];
  unset($_SESSION['flash_note']);
  return $note; 
}

function get_id()
{
  return mysql_insert_id();
}

function findexts($filename) 
{ 
  
  $filename = strtolower($filename) ; 
  
  $exts = explode(".", $filename) ; 
  
  $n = count($exts)-1; 
  
  $exts = $exts[$n]; 
  
  return $exts; 

}

function is_login()
{
  if(array_key_exists('login',$_SESSION) && $_SESSION['login'] )
    return true;
  return false;
} 

function formatDate($val)
  {
	  return $date = date('F j, Y g:i a', strtotime('+8 hours'));
  }

?>
the one is header.php

Code: Select all

<?php require_once 'application.php';



?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css">
<title>.:: header ::.</title>
</head>
<body>

<table width="952" height="400" border="0"cellspacing="0" cellpadding="0" align="center" background="picture/bg1.jpg">
  <tr>
    <td valign="top"><table width="100%" border="0" align="center">
    <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><table width="100%" border="0">
      <tr>
        <td width="8%">&nbsp;</td>
                <td width="18%" align="left"><img src="picture/nail.jpg" width="250" height="300" /></td>
        <td width="55%" align="right" valign="top"><table width="100%" border="0" align="center">
        <tr>
            <td align="center"><a href="home.php"><img src="picture/logo.png"  border="0"/></a>&nbsp;<br/><br/><br/><br/><br/><br/></td>
          </tr>
          <tr valign="bottom">
            <td height="120" align="center"><table width="100%" border="0">
              <tr>
                            <td width="80"></td>
                 </tr>
              <tr>
                <td height="20">
				<div class="login">
				<?php 
				session_start(); 
              if(is_login())
             {
           ?>
            Welcome <?php echo $_SESSION["username"] ?> | <a href="controller/logout.php">Logout</a>
         <?php  
          } else {
           ?>
		<form action="login.php" method="post">
          <div>Username / Password</div>
          <input type="text" name="username">
          <input type="password" name="password"> 
          <input type="submit" value="login">
        </form>  
	 <?php
        }
      ?>
    </div>
    <div class="clear"></div>
   </td>
	</tr>
	<tr>
                <td width="8%" align="right"><a href="register1.php" class="registration">Registration</a></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
</table></td>
  </tr>
</table>

</body>
</html>
the one is login.php

Code: Select all

<?php include 'application.php' ?>
<?php

$username = $_REQUEST["username"];
$password = $_REQUEST["password"];
   
$query = 'SELECT * FROM register WHERE username = "'. ecp_str($username) . '"'; 

    $result = mysql_query($query);  

if ($data = mysql_fetch_object($result))
{
//  "test" => "$1$Z8lx9VAJ$g3LlupKz3Ur2c87SnXaDS."


//  crypt("test") == "$1$iPkeZ9gB$inaRU97n9o2tq5cbdMPcG0"  
  if(md5($password, $data->password) == $data->password)
  {
    session_start();
    $_SESSION["login"] = true;
    $_SESSION["username"] = $data->username;
  }
}

redirect('home.php'); 

?>
the one is home.php

Code: Select all

<?php include 'application.php' ;


session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css">
<title>.:: home ::.</title>
</head>
<body>
<table  width="952px" border="0" cellspacing="0" cellpadding="0" valign="top" align="center">
  <tr>
    <td align="center"><?php include "header.php"; ?></td>
  </tr>
  <tr><td><img src="picture/purple_line.jpg" /></td></tr>
  <tr>
    <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td  width="300px" height="600px" valign="top" align="center"> <?php include "menu.php";?>
        </td>
        <td width="12px">&nbsp;</td>
        <td width="630px"background="picture/content1.png" style="background-repeat:no-repeat;" valign="top"><table width="100%" border="0">
          <tr>
            <td><table width="100%" border="0" align="right">
              <tr>
              <td width="28%">&nbsp;</td>
                <td width="38%"><img src="picture/icon_cart.jpg" /></td>
              </tr>
          </table></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>

Re: what is the problem why i cant display welcome the usern

Posted: Sat Apr 02, 2011 3:53 pm
by social_experiment

Code: Select all

function is_login()
{
  if(array_key_exists('login',$_SESSION) && $_SESSION['login'] )
    return true;
  return false;
} 
Can you print this array to see what its contents are?

Re: what is the problem why i cant display welcome the usern

Posted: Sat Apr 02, 2011 7:48 pm
by liyun88
social_experiment wrote:

Code: Select all

function is_login()
{
  if(array_key_exists('login',$_SESSION) && $_SESSION['login'] )
    return true;
  return false;
} 
Can you print this array to see what its contents are?
sorry ya..can u help me how to print the array??i am beginner in php programming..this cide is copy from my demo..
i try the code he give and the function can run..but when i put some code and function from his code in my coding,cant run at all..
i dont know what is wrong actually..can u help me??thanks in advance.
the code below is my demo code.
the one is login.php

Code: Select all

<?php include $_SERVER['DOCUMENT_ROOT']  . '/common/application.php' ?>
<?php

$username = $_REQUEST["username"];
$password = $_REQUEST["password"];

$result = db_query("SELECT * FROM users WHERE username = '". ecp_str($username) . "'");

if ($data = db_fetch_row($result))
{
//  "test" => "$1$Z8lx9VAJ$g3LlupKz3Ur2c87SnXaDS."


//  crypt("test") == "$1$iPkeZ9gB$inaRU97n9o2tq5cbdMPcG0"  
  if(crypt($password, $data->password) == $data->password)
  {
    session_start();
    $_SESSION["login"] = true;
    $_SESSION["name"] = $data->name;
  }
}

redirect('../index.php'); 

?>
the one is application.php

Code: Select all

<?php include $_SERVER['DOCUMENT_ROOT']  . '/common/config.php' ?>

<?php
session_start();
db_connect();

function redirect($url, $num = 307) {
   static $http = array (
       100 => "HTTP/1.1 100 Continue",
       101 => "HTTP/1.1 101 Switching Protocols",
       200 => "HTTP/1.1 200 OK",
       201 => "HTTP/1.1 201 Created",
       202 => "HTTP/1.1 202 Accepted",
       203 => "HTTP/1.1 203 Non-Authoritative Information",
       204 => "HTTP/1.1 204 No Content",
       205 => "HTTP/1.1 205 Reset Content",
       206 => "HTTP/1.1 206 Partial Content",
       300 => "HTTP/1.1 300 Multiple Choices",
       301 => "HTTP/1.1 301 Moved Permanently",
       302 => "HTTP/1.1 302 Found",
       303 => "HTTP/1.1 303 See Other",
       304 => "HTTP/1.1 304 Not Modified",
       305 => "HTTP/1.1 305 Use Proxy",
       307 => "HTTP/1.1 307 Temporary Redirect",
       400 => "HTTP/1.1 400 Bad Request",
       401 => "HTTP/1.1 401 Unauthorized",
       402 => "HTTP/1.1 402 Payment Required",
       403 => "HTTP/1.1 403 Forbidden",
       404 => "HTTP/1.1 404 Not Found",
       405 => "HTTP/1.1 405 Method Not Allowed",
       406 => "HTTP/1.1 406 Not Acceptable",
       407 => "HTTP/1.1 407 Proxy Authentication Required",
       408 => "HTTP/1.1 408 Request Time-out",
       409 => "HTTP/1.1 409 Conflict",
       410 => "HTTP/1.1 410 Gone",
       411 => "HTTP/1.1 411 Length Required",
       412 => "HTTP/1.1 412 Precondition Failed",
       413 => "HTTP/1.1 413 Request Entity Too Large",
       414 => "HTTP/1.1 414 Request-URI Too Large",
       415 => "HTTP/1.1 415 Unsupported Media Type",
       416 => "HTTP/1.1 416 Requested range not satisfiable",
       417 => "HTTP/1.1 417 Expectation Failed",
       500 => "HTTP/1.1 500 Internal Server Error",
       501 => "HTTP/1.1 501 Not Implemented",
       502 => "HTTP/1.1 502 Bad Gateway",
       503 => "HTTP/1.1 503 Service Unavailable",
       504 => "HTTP/1.1 504 Gateway Time-out"
   );
   header($http[$num]);
   header("Location: $url");
   exit;
}

function db_connect()
{
  global $CONFIG;
  mysql_connect($CONFIG["db_host"], $CONFIG["db_username"], $CONFIG["db_password"]) or die(mysql_error());
  
  mysql_select_db($CONFIG["db_name"]) or die(mysql_error());
}


function db_query($query)
{
  $result = mysql_query($query) or die(mysql_error());
  return $result; 
}

//SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10;
//SELECT FOUND_ROWS();

function db_query_with_size($query)
{
  #add SQL_CALC_FOUND_ROWS
  $query = str_replace("SELECT", "SELECT SQL_CALC_FOUND_ROWS", strtoupper($query));
  $results = db_query($query);
  
  $result = db_query("SELECT FOUND_ROWS()");
  $result = mysql_fetch_row($result);
  return array("result" => $results, "size" => $result[0]); 
}

function db_fetch_row($result)
{
  return mysql_fetch_object($result);
}

function db_result_size($result)
{
  return mysql_num_rows($result);
}

function ecp_str($value)
{
  return mysql_real_escape_string($value);
}

function set_flash_note($message)
{
  $_SESSION["flash_note"] = $message;
}

function get_flash_note()
{
  
  $note = $_SESSION['flash_note'];
  unset($_SESSION['flash_note']);
  return $note; 
}

function get_id()
{
  return mysql_insert_id();
}

function findexts($filename) 
{ 
  
  $filename = strtolower($filename) ; 
  
  $exts = explode(".", $filename) ; 
  
  $n = count($exts)-1; 
  
  $exts = $exts[$n]; 
  
  return $exts; 

}

function is_login()
{
  if(array_key_exists('login',$_SESSION) && $_SESSION['login'] )
    return true;
  return false;
} 

?>
the one is config.php

Code: Select all

<?php

error_reporting(E_ALL &~E_NOTICE);
ini_set("display_errors", 1);



$CONFIG["db_host"] = "localhost";
$CONFIG["db_name"] = "phpdemo";
$CONFIG["db_username"] = "root";
$CONFIG["db_password"] = "";


  
?>
the one is header.php

Code: Select all

<?php require_once $_SERVER['DOCUMENT_ROOT']   . '/common/application.php' ?>
<html>
<head>
  <title>
  UPM Blog
  </title>

<link href="/common/style/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
  <div class="header">
    <div class="lheader">
      <div class="title">
        Welcome to UPM Blog!
      </div>
      <div class="nav">
        <ul>
          <li><a href="index.php">Home</a></li> | 
          <li><a href="reg_form.php">Sign up</a></li> |
          <li><a href="help.php">Help</a></li> |
          <li><a href="aboutus.php">About Us</a></li> |
          <li><a href="learn_about_cookie.php">Try out cookie</a></li> |
          <li><a href="file_upload.php">File upload</a></li> |
        </ul>
      </div>
    </div>
    
    <div class="login">
      <?php  
        if(is_login())
        {
      ?>
         Welcome <?php echo $_SESSION["name"] ?> | <a href="controller/logout.php">Logout</a>
      <?php  
        } else {
      ?>
        <form action="controller/login.php" method="post">
          <div>Username/Password</div>
          <input type="text" name="username">
          <input type="password" name="password"> 
          <input type="submit" value="login">
        </form>      
      <?php
        }
      ?>
    </div>
    <div class="clear"></div>
  </div>
<?php 
  $message = get_flash_note();
  if(isset($message))
  {
   echo "<div class='message'>" . $message . "</div>";   
  } 

?>
  
  <div class="body">

Re: what is the problem why i cant display welcome the usern

Posted: Sun Apr 03, 2011 12:12 am
by klandaika
One thing I noticed about many of your scripts is that you have session_start() after a regular output has already started.
session_start() should prety much be on the very first line of the script where you are going to use the session

Re: what is the problem why i cant display welcome the usern

Posted: Sun Apr 03, 2011 12:36 am
by klandaika
Sure. Here are 2 scenarios.

Session will not work here:

Code: Select all

<?php
    include "path_to_some_include.php";
    //everything after this line is standard output 
?>
<html>
<head>...</head>
<?php
    session_start(); //this will not work because you had html output before
    //if you have access to error log you will see errors that were created by session start()
    $_SESSION['username'] = "bob"; //this will not be saved
?>
Session will work here:

Code: Select all

<?php
     session_start(); 
    include "path_to_some_include.php";
    //everything after this line is standard output 
?>
<html>
<head>...</head>
<?php
  //some other php code you can read and write to session here 
    $_SESSION['username'] = "bob";
?>
Hope that makes more sense

Re: what is the problem why i cant display welcome the usern

Posted: Sun Apr 03, 2011 1:09 pm
by klandaika
Here are a few more suggestion for you that i came up when reviewing entire code:
1. if your php file contains only functions or class definitions such as application.php always use require_once instead or require or include.
2. If you are including a file such as header.php into another html file, the file header.php should not have <html>, <head>, and <body> tags, just the HTML that you want to be displayed in the location of the include (tables, divs, images, etc.)
3. session_start should be called only once otherwise there will be errors in the log. since application.php is never called directly and is only included, session_start should not appear in that file (same for header file, because it is never called directly).
4. start with something simple, don't go into the database right away, first make sure your logic works and run a few tests.

Here try using these scripts instead:

application.php

Code: Select all

<?php 
require_once 'config.php' ;

function redirect($url, $num = 307) {
   static $http = array (
       100 => "HTTP/1.1 100 Continue",
       101 => "HTTP/1.1 101 Switching Protocols",
       200 => "HTTP/1.1 200 OK",
       201 => "HTTP/1.1 201 Created",
       202 => "HTTP/1.1 202 Accepted",
       203 => "HTTP/1.1 203 Non-Authoritative Information",
       204 => "HTTP/1.1 204 No Content",
       205 => "HTTP/1.1 205 Reset Content",
       206 => "HTTP/1.1 206 Partial Content",
       300 => "HTTP/1.1 300 Multiple Choices",
       301 => "HTTP/1.1 301 Moved Permanently",
       302 => "HTTP/1.1 302 Found",
       303 => "HTTP/1.1 303 See Other",
       304 => "HTTP/1.1 304 Not Modified",
       305 => "HTTP/1.1 305 Use Proxy",
       307 => "HTTP/1.1 307 Temporary Redirect",
       400 => "HTTP/1.1 400 Bad Request",
       401 => "HTTP/1.1 401 Unauthorized",
       402 => "HTTP/1.1 402 Payment Required",
       403 => "HTTP/1.1 403 Forbidden",
       404 => "HTTP/1.1 404 Not Found",
       405 => "HTTP/1.1 405 Method Not Allowed",
       406 => "HTTP/1.1 406 Not Acceptable",
       407 => "HTTP/1.1 407 Proxy Authentication Required",
       408 => "HTTP/1.1 408 Request Time-out",
       409 => "HTTP/1.1 409 Conflict",
       410 => "HTTP/1.1 410 Gone",
       411 => "HTTP/1.1 411 Length Required",
       412 => "HTTP/1.1 412 Precondition Failed",
       413 => "HTTP/1.1 413 Request Entity Too Large",
       414 => "HTTP/1.1 414 Request-URI Too Large",
       415 => "HTTP/1.1 415 Unsupported Media Type",
       416 => "HTTP/1.1 416 Requested range not satisfiable",
       417 => "HTTP/1.1 417 Expectation Failed",
       500 => "HTTP/1.1 500 Internal Server Error",
       501 => "HTTP/1.1 501 Not Implemented",
       502 => "HTTP/1.1 502 Bad Gateway",
       503 => "HTTP/1.1 503 Service Unavailable",
       504 => "HTTP/1.1 504 Gateway Time-out"
   );
   header($http[$num]);
   header("Location: $url");
   exit;
}
//SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10;
//SELECT FOUND_ROWS();

function ecp_str($value)
{
  return mysql_real_escape_string($value);
}

function set_flash_note($message)
{
  $_SESSION["flash_note"] = $message;
}

function get_flash_note()
{
  
  $note = $_SESSION['flash_note'];
  unset($_SESSION['flash_note']);
  return $note; 
}

function get_id()
{
  return mysql_insert_id();
}

function findexts($filename) 
{ 
  
  $filename = strtolower($filename) ; 
  
  $exts = explode(".", $filename) ; 
  
  $n = count($exts)-1; 
  
  $exts = $exts[$n]; 
  
  return $exts; 

}

function is_login()
{
  if(array_key_exists('login',$_SESSION) && $_SESSION['login'] )
    return true;
  return false;
} 

function formatDate($val)
  {
          return $date = date('F j, Y g:i a', strtotime('+8 hours'));
  }

?>
header.php

Code: Select all

<?php 

require_once 'application.php';

?>
<table width="952" height="400" border="0"cellspacing="0" cellpadding="0" align="center" background="picture/bg1.jpg">
  <tr>
    <td valign="top"><table width="100%" border="0" align="center">
    <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><table width="100%" border="0">
      <tr>
        <td width="8%">&nbsp;</td>
                <td width="18%" align="left"><img src="picture/nail.jpg" width="250" height="300" /></td>
        <td width="55%" align="right" valign="top"><table width="100%" border="0" align="center">
        <tr>
            <td align="center"><a href="home.php"><img src="picture/logo.png"  border="0"/></a>&nbsp;<br/><br/><br/><br/><br/><br/></td>
          </tr>
          <tr valign="bottom">
            <td height="120" align="center"><table width="100%" border="0">
              <tr>
                            <td width="80"></td>
                 </tr>
              <tr>
                <td height="20">
                                <div class="login">
                                <?php 
              if(is_login())
             {
           ?>
            Welcome <?php echo $_SESSION["username"] ?> | <a href="controller/logout.php">Logout</a>
         <?php  
          } else {
           ?>
                <form action="login.php" method="post">
          <div>Username / Password</div>
          <input type="text" name="username">
          <input type="password" name="password"> 
          <input type="submit" value="login">
        </form>  
         <?php
        }
      ?>
    </div>
    <div class="clear"></div>
   </td>
        </tr>
        <tr>
                <td width="8%" align="right"><a href="register1.php" class="registration">Registration</a></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
</table></td>
  </tr>
</table>
login.php

Code: Select all

<?php 
session_start();

require_once 'application.php';

$username = $_REQUEST["username"];
$password = $_REQUEST["password"];
   
$_SESSION["login"] = true;
$_SESSION["username"] = $username;

redirect('home.php'); 

?>
home.php

Code: Select all

<?php 
session_start();
require_once 'application.php' ;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>.:: home ::.</title>
</head>
<body>
<table  width="952px" border="0" cellspacing="0" cellpadding="0" valign="top" align="center">
  <tr>
    <td align="center"><?php include "header.php"; ?></td>
  </tr>
  <tr><td></td></tr>
  <tr>
    <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td  width="300px" height="600px" valign="top" align="center">
        </td>
        <td width="12px">&nbsp;</td>
        <td width="630px"background="picture/content1.png" style="background-repeat:no-repeat;" valign="top"><table width="100%" border="0">
          <tr>
            <td><table width="100%" border="0" align="right">
              <tr>
              <td width="28%">Debugg Info:<pre><?php print_r($_SESSION); ?></pre></td>
                <td width="38%"><img src="picture/icon_cart.jpg" /></td>
              </tr>
          </table></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>
 
Once you make sure this works then you can go on into adding database test to check for valid username and password combination

Re: what is the problem why i cant display welcome the usern

Posted: Sun Apr 03, 2011 8:38 pm
by liyun88
i get something in the database retrieval code is wrong,

first of all md5() second parameter should not be your password, there should not be second parameter at all,

just to make sure the password in your database is stored as an MD hash already right?
the password in my database is stored as an MD hash,so get some problem cant show the welcome username..
below is correct code in login.php from an expert help me solve the problem..

Code: Select all

<?php
session_start();

require_once 'application.php';

$username = $_REQUEST["username"];
$password = $_REQUEST["password"];

$query = 'SELECT * FROM register WHERE username = "'. mysql_real_escape_string($username) . '"';

    $result = mysql_query($query);  

if ($data = mysql_fetch_object($result))
{

$_SESSION['dbhash'] = $data->password;
$_SESSION['checkhash'] = md5($password);

  if(md5($password) == $data->password)
  {
   $_SESSION["login"] = true;
  $_SESSION["username"] = $data->username;
  }
}
redirect('home.php');

?>