Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   WWW (http://mangos.ytdb.ru/forumdisplay.php?f=23)
-   -   Личный кабинет. Смена пароля (http://mangos.ytdb.ru/showthread.php?t=5042)

Cruelwave 11.09.2011 10:34

Личный кабинет. Смена пароля
 
Скачал Личный кабинет от Timzs, возникла проблема с функцией "смена пароля", а именно сама смена проходит без ошибок, в лк входит под новым паролем, а вот в игру только под старым. Как быть? Нужно, чтобы в игру, естесственно, входило тоже под новым паролем.
Скрипт:
Код:

$oldpw = addslashes($_POST["oldpw"]);
 $newpw1 = addslashes($_POST["newpw1"]);
 $newpw2 = addslashes($_POST["newpw2"]);
 if ($oldpw == "" || $newpw1 == "" || $newpw2 == ""):
  $reason = "
  <form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">
  <table width=\"310\">
  <tr><td>".$write[26].":</td><td><input type=\"password\" name=\"oldpw\"></td></tr>
  <tr><td>".$write[27].":</td><td><input type=\"password\" name=\"newpw1\"></td></tr>
  <tr><td>".$write[28].":</td><td><input type=\"password\" name=\"newpw2\"></td></tr>
  <tr><td align=\"center\" colspan=\"2\"><br><input type=\"hidden\" type=\"submit\" value=\"\">
<input type=\"image\" src=\"img/changepass_buttom.png\" border=\"0\" onMouseMove=\"src='img/changepass_buttom_over.png'\" onMouseOut=\"src='img/changepass_buttom.png'\">
  </table>";

  else:

    $jmeno = strtoupper($uzivatel);
    $heslo = strtoupper($oldpw);
    $heslo = sha_password($jmeno,$heslo);

  selectDb('realmd');

  $sql="SELECT * FROM account WHERE username='".$uzivatel."' AND sha_pass_hash='".$heslo."'";
  $result = mysql_query($sql);
  $vysledek = mysql_num_rows($result);
    if ($vysledek != 1):
      $reason = "<img src='img/no.png'>&nbsp;&nbsp;".$write[29]."<br><br><a href=pass.php>".$write[49]."</a>";

    else:

    if ($newpw1 == $newpw2):

    $heslo = strtoupper($newpw1);
    $heslo = sha_password($jmeno,$heslo);

  $sql = "UPDATE account SET sha_pass_hash='$heslo' WHERE id=$id";
  mysql_query($sql) or die ('querry ...');
  $reason = "<img src='img/yes.png'>&nbsp;&nbsp;".$write[30];
  else:
  $reason = "<img src='img/no.png'>&nbsp;&nbsp;".$write[31]."<br><br><a href=pass.php>".$write[49]."</a>";
  endif;
  endif;
  endif;

 ?>

<img src="img/tbc.png" alt="The BURNING CRUSADE" vspace="15">
<table width="343" cellpadding="0" cellspacing="0" border="0" rules="none" align="center" style="background : url(img/typ_bg.jpg)">
<tr><td class="typ">&nbsp;&nbsp;&nbsp;<? echo $write[18]; ?></td></tr>
<tr><td align="center">
<table class="typ" valign="top" align="center">
<tr><td align="center"><br>
<? echo $reason; ?>



</td></tr>
</table><br>
</td></tr>
</table>
<br><br>

Инклуды конфигов не вставлял(в это сообщение), за ненадобностью. Извините если было, видел тему про восстановления пароля с такой же проблемой, но там совсем другой код, так что решил создать новую, не обессудьте.

brainreaver 11.09.2011 11:13

Код:

update account set sha_pass_hash='новыйхэш', s='', v=''

NeatElves 11.09.2011 11:13

Читайте
http://wiki.ytdb.ru/index.php/Account#v

Cruelwave 11.09.2011 20:32

Спасибо, поправил :) Думаю такая проблема еще не раз встанет перед теми, кто хочет такую функцию сделать. Если не опытный конечно.

NeatElves 11.09.2011 20:37

Год+ назад - http://www.ru-mangos.ru/showpost.php?p=7768&postcount=2, http://www.ru-mangos.ru/showpost.php...&postcount=121 и в поиске еще есть...

Mayss 19.11.2011 13:42

Нашел ЛК от TIMzs, стал править его под TBC, и выяснилось... то что в characters поле data была удалена в 3.3.3, но использую то я исходники TBC https://github.com/mangos-one/server , из http://wiki.ytdb.ru/index.php/Characters не особо понял где все таки data :sorry:, запрос такой.

PHP код:

SELECT name, class, totaltimeguidraceSUBSTRING(LPAD(HEX(CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(`data`,' ',37),' ',-1) AS UNSIGNED)),8,'0'),4,1) AS gender ,CASTSUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' '35), ' ', -1) AS UNSIGNED) AS level FROM `charactersWHERE account $id" ; 

Не стал создавать еще оду тему.

Код целиком.

Sid 19.11.2011 13:47

Да нет уже data давно. Ни в One ни в Zero.

Mayss 19.11.2011 13:54

Цитата:

Сообщение от Sid (Сообщение 25729)
Да нет уже data давно. Ни в One ни в Zero.

И как быть теперь?.

NeatElves 19.11.2011 14:36

Перечитать ту же вики - http://wiki.ytdb.ru/index.php/Character_data

Кот ДаWINчи 19.11.2011 16:26

Цитата:

Сообщение от Mayss (Сообщение 25730)
И как быть теперь?.

заменить в запросе то, что бралось из этого поля, на значения вновь появившихся полей. А там надо-то gender, level, money.


Текущее время: 04:45. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS