简体   繁体   English

PHP-Dreamweaver身份验证代码不起作用

[英]PHP - dreamweaver authentication code not working

I am new to php. 我是php新手。 I am using DW to auto generate the code for user authentication from mySQL. 我正在使用DW从mySQL自动生成用于用户身份验证的代码。 But, the generated code does not direct me to the next page even if the username and password are correct instead it remain on the same page. 但是,即使用户名和密码正确,生成的代码也不会将我定向到下一页,而是将其保留在同一页面上。 Can u suggest me the problem ? 你能建议我这个问题吗?

Here in my index file 在我的索引文件中

<?php require_once('Connections/idea.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['username'])) {
  $loginUsername=$_POST['username'];
  $password=$_POST['password'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "home.html";
  $MM_redirectLoginFailed = "home.html";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_idea, $idea);

  $LoginRS__query=sprintf("SELECT username, password FROM `user` WHERE username=%s AND password=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 

  $LoginRS = mysql_query($LoginRS__query, $idea) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";

    if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;       

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];  
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Welcome to the Idea</title>
<meta charset="utf-8">
<link href="css/style.css" rel='stylesheet' type='text/css' />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href='http://fonts.googleapis.com/css?family=Open+Sans:600italic,400,300,600,700' rel='stylesheet' type='text/css'>
</head>
<body>
<div class="main">
  <div class="login-form">
    <h1>Member Login</h1>
    <div class="head"> <img src="images/user.png" alt=""/> </div>
    <form ACTION="<?php echo $loginFormAction; ?>" METHOD="POST" id="login">
      <input id="username" type="text" class="text" placeholder="USERNAME">
      <input id="password" type="password" placeholder="PASSWORD">
      <div class="submit">
        <input type="submit" onclick="myFunction()" value="LOGIN" >
      </div>
      <p><a href="#">Forgot Password ?</a></p>
    </form>
  </div>
</div>
</body>
</html>

And here the connection file 这是连接文件

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_idea = "localhost";
$database_idea = "idea";
$username_idea = "root";
$password_idea = "";
$idea = mysqli_connect($hostname_idea, $username_idea, $password_idea) or trigger_error(mysql_error(),E_USER_ERROR); 
?>

You are redirecting to home page for both condition. 您都将同时重定向到主页。

$MM_redirectLoginSuccess = "home.html";  
$MM_redirectLoginFailed = "home.html";

Just change the location for $MM_redirectLoginSuccess . 只需更改$MM_redirectLoginSuccess的位置。

If you want to redirect to admin.php page when you authentication success 验证成功后,如果要重定向到admin.php页面

$MM_redirectLoginSuccess = "admin.php";

That should do the trick Good Luck 那应该可以解决问题

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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