Промяна на парола

SayliS

Registered
От часове се мъча с този скрипт и немога си намеря грешката...
Код:
<?php
include("config.inc.php");
include("auth_user.inc.php");
?>
<html>
  <title>Контролен панел на <?php echo  $_SESSION['user_logged']; ?></title>
   <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
   </head>
  <body>
   <h1>Обновяване на акаунта.</h1>
   <p>
    Тук може да промените данните в профила си.<br/><br/>



			<?php
		$pass = $_GET['o_password'];
		if (isset($_POST['submit']) && $_POST['submit'] == "Промени") {
		
    	if ($_SESSION['user_password'] = $pass) {
			
		
		$query_update = "UPDATE user_info SET  password = (md5('" . $GET['password'] . "'))
		WHERE username = '" . $_SESSION['user_logged'] . "' AND password = (md5('" . $_SESSION['user_password'] . "'))"; $result_update = mysql_query($query_update) or die (mysql_error());
		?>
		
	<form>
	<b>Паролата беше сменена успешно</b><br/><br/>
	<a href="user_personal.php">Обратно</a> към профила.<br/><br/>
	<form action="update_account.php" method="get">
	 Нова парола: <input type="password" name="password"><br/>
	 Стара парола: <input type="password" name="o_password"><br/>
	 <input type="submit" name="submit" value="Промени"> <input type="button" value="Откажи" onclick="history.go(-1);">
	</form>
	</p>
	<?php
	} else {
	?>

	<br/>
	<form>
	<b>Двете пароли несъвпадат!</b><br/><br/>
	<a href="user_personal.php">Обратно</a> към профила.<br/><br/>
	<form action="update_account.php" method="post">
	 Нова парола: <input type="password" name="password"><br/>
	 Стара парола: <input type="password" name="o_password"><br/>
	 <input type="submit" name="submit" value="Промени"> <input type="button" value="Откажи" onclick="history.go(-1);">
	</form>
	</p>
	<?php	
	}
	
	} else {
		?>
		    	<form>
	<b>Промяна на паролата</b><br/><br/>
	<a href="user_personal.php">Обратно</a> към профила.<br/><br/>
	<form action="update_account.php" method="get">
	 Нова парола: <input type="password" name="password"><br/>
	 Стара парола: <input type="password" name="o_password"><br/>
	 <input type="submit" name="submit" value="Промени"> <input type="button" value="Откажи" onclick="history.go(-1);">
	</form>
	<?php
	} 
?>
 </body>
</html>


Можете ли да ми помогнете да го подкарам... :cry:
 
<form action="update_account.php" method="post">

тук е формата за промяна на профила, задал си post, а тук:

$pass = $_GET['o_password']; е на get
 
jooorooo каза:
<form action="update_account.php" method="post">

тук е формата за промяна на профила, задал си post, а тук:

$pass = $_GET['o_password']; е на get

Същата работа и като го сложих на Пост навсякаде ;(
 
Код:
<?php
include("config.inc.php");
include("auth_user.inc.php");
?>
<html>
  <title>Контролен панел на <?php echo  $_SESSION['user_logged']; ?></title>
   <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
   </head>
  <body>
   <h1>Обновяване на акаунта.</h1>
   <p>
    Тук може да промените данните в профила си.<br/><br/>



         <?php
      $pass = $_POST['o_password'];
      if (isset($_POST['submit']) && $_POST['submit'] == "Промени") {
      
       if ($_SESSION['user_password'] = $pass) {
         
      
      $query_update = "UPDATE user_info SET  password = (md5('" . $_POST['password'] . "'))
      WHERE username = '" . $_SESSION['user_logged'] . "' AND password = (md5('" . $_SESSION['user_password'] . "'))"; $result_update = mysql_query($query_update) or die (mysql_error());
      ?>
      
   <form>
   <b>Паролата беше сменена успешно</b><br/><br/>
   <a href="user_personal.php">Обратно</a> към профила.<br/><br/>
   <form action="update_account.php" method="post">
    Нова парола: <input type="password" name="password"><br/>
    Стара парола: <input type="password" name="o_password"><br/>
    <input type="submit" name="submit" value="Промени"> <input type="button" value="Откажи" onclick="history.go(-1);">
   </form>
   </p>
   <?php
   } else {
   ?>

   <br/>
   <form>
   <b>Двете пароли несъвпадат!</b><br/><br/>
   <a href="user_personal.php">Обратно</a> към профила.<br/><br/>
   <form action="update_account.php" method="post">
    Нова парола: <input type="password" name="password"><br/>
    Стара парола: <input type="password" name="o_password"><br/>
    <input type="submit" name="submit" value="Промени"> <input type="button" value="Откажи" onclick="history.go(-1);">
   </form>
   </p>
   <?php   
   }
   
   } else {
      ?>
             <form>
   <b>Промяна на паролата</b><br/><br/>
   <a href="user_personal.php">Обратно</a> към профила.<br/><br/>
   <form action="update_account.php" method="post">
    Нова парола: <input type="password" name="password"><br/>
    Стара парола: <input type="password" name="o_password"><br/>
    <input type="submit" name="submit" value="Промени"> <input type="button" value="Откажи" onclick="history.go(-1);">
   </form>
   <?php
   }
?>
 </body>
</html>
 
Мерси за отговорите, но го пренаписах и сега работи
Код:
<?php //  CHANGE PASSWORD nachalo
    if (isset($_POST['submit_pass']) && $_POST['submit_pass'] == "Обнови") {
		$sesusername = $_SESSION['user_logged'];

		?>
		<form method="post" action="update_account.php"> 
		Нова парола: <input type="password" maxlength="25" name="password"><br/>
		Стара парола: <input type="password" maxlength="25" name="password_old"><br/>
<input type="submit" name="submit_pass" value="Обнови">
</form></center> 
<?php
   if (empty($_POST['password']) or empty($_POST['password_old'])) {
	echo "Моля попълнете полетата";
} else {
   if ((strlen($_POST['password']) >= 5)) {
   if($_SESSION['user_password'] == $_POST['password_old']) {
$query = "UPDATE `user_info` SET `password` = (md5('" . $_POST['password'] . "')) WHERE `username` = '$sesusername' LIMIT 1 ";
$result = mysql_query($query);
$_SESSION['user_password'] = $_POST['password'];
echo "<center>Паролата е сменена";
} else {
	echo "Паролите несъвпадат";
}
} else {
	echo "Паролата трябва да е по-дълго от 5 символа и по-късо от 25 символа.";
}
}
} else {
	?>
	<form method="post" action="update_account.php"> 
		Нова парола: <input type="password" maxlength="25"  name="password"><br/>
		Стара парола: <input type="password" name="password_old"><br/>
		<input type="hidden" name="redirect" value="<?php echo $redirect; ?>">
		<input type="submit" name="submit_pass" maxlength="25" value="Обнови">
</form></center> 
<?php
}
?>
   </body>
</html>


------------------------------------
Но имам друг проблем. Няма да пускам нова тема и ще питам тук.

Целта е ако несъм логнат да беда пренасочен към логин страницата и след логване да се върна към страницата където съм пробвал да влезна. Ако си напиша паролата и потребителското име от 1вия път всичко е ок, но ако ги сбъркам след това ме веъща към индекса. Идеи как да го поправя? ето кода:

Код:
<?php
session_start();
include "config.inc.php";
	if (isset($_POST['submit'])) {
  

$query = "SELECT username, password FROM user_info WHERE username = '" . $_POST['username'] . "'  AND password = (md5('" . $_POST['password'] 

. "'))";
  $result = mysql_query($query) or die (mysql_error());

  if (mysql_num_rows($result) == 1) {
  	$_SESSION['user_logged'] = $_POST['username'];
    $_SESSION['user_password'] = $_POST['password'];
    header ("Refresh: 5; URL=" . $_POST['redirect'] . "");
	echo "Ще бъдете препратен. <br/>";
	echo "Ако браузърат ви неподържа това натиснете <a href=\"" . $_POST['redirect'] . "\">тук</a>";
  } else {
?>

<html>
  <title>Потребителски вход</title>
   <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
   </head>
  <body>
   <p>
    Грешно потребителско име или парола<br/>
    Ако несте регистриран може да го направите <a href="register.php">тук</a>
  <form action="user_login.php" method="post">
    
<input type="hidden" name="redirect" value="<?php echo $_POST['redirect']; ?>">
 
     Потребителско име: <input type="text" name="username"><br/>
     Парола: <input type="password" name="password"><br/><br/>
     <input type="submit" name="submit" value="Влез">
  </form>
</p>
</body>
</html>
<?php
  }
} else {
  if 

(isset($_GET['redirect'])) {
    $redirect = $_GET['redirect'];
  } else {
    

$redirect = "index.php";
  }
?>
<html>
  <title>Потребителски вход</title>
   <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
   </head>
  <body>
   <p>
   Влезте в системата с потребителското си име и парола.<br/>
   Ако несте регистриран може да го направите <a href="register.php">тук</a>
  <form action="user_login.php" method="post">
    <input type="hidden" name="redirect" value="<?php echo $redirect; ?>">
         Потребителско име: <input type="text" name="username"><br/>
     Парола: <input type="password" name="password"><br/><br/>
     <input type="submit" name="submit" value="Влез">
    </form>
</p>
</body>
</html>
<?php
}
?>
 

Горе