Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Update hasla
Forum PHP.pl > Forum > Przedszkole
xSlash
Chce zrobic aktualizacje hasla i napisałem cos takiego:


Kod
<?

               /* ZMIANA HASLA NA NOWE */
 echo('<form action="" method="POST">
             Hasło: <input type="text" name="wpisane">
   <br>Stare hasło: <input type="text" name="stare">
   <br>Nowe hasło: <input type="text" name="nowe">
   <br><input type="submit" name="ok" value="zmień"></form>');


   $wpisane = $_POST['wpisane'];
     if(isset($_POST['ok']))
        {
         if($_POST['wpisane'] == $_POST['stare'])
          {
              $updateE = mysql_query("UPDATE `loginy` SET `haslo` = ".$wpisane." WHERE `id`=".$_SESSION['loginUsera']"");
   exit;
          }
    }


?>


Ale cos nie działa... bo jest blad wyskakujacy w tej linijce z $updateE. Prosze o poprawe skryptu i zeby było wszystko wiadomo to zamieszczam screen z bazy.

 
kefirek
Brakowało ci kropki na końcu po $_SESSION['loginUsera']

  1. <?php
  2. $updateE = mysql_query("UPDATE `loginy` SET `haslo` = ".$wpisane." WHERE `id`=".$_SESSION['loginUsera']."");
  3. ?>
bounty
A może tak apostrofy jakieś byś wstawił...
w sql to zapytanie wyglćda tak przykład
  1. UPDATE `loginy` SET `haslo` = jakishaselko WHERE `id` = login;

A powinno być tak
  1. UPDATE `loginy` SET `haslo` = 'jakishaselko' WHERE `id` = 'login';

Więc to powinno śmigać:
Kod
$updateE = mysql_query("UPDATE `loginy` SET `haslo` = '".$wpisane."' WHERE `id`='".$_SESSION['loginUsera']."'");
kantek
Daj sobie tak zapytanie:
  1. <?php
  2. "UPDATE loginy SET haslo='$wpisane' WHERE id={$_SESSION['loginUsera']}"
  3. ?>


Pozdrawiam
xbigos
  1. <?php
  2. mysql_query("UPDATE loginy SET `haslo` = '$nowe_haslo.' WHERE `login` = '$_SESSION['loginUsera']'")
  3. ?>


może najpierw warto sprawdzic nazwy tabel jakie są w klauzuli WHERE. NIE JEST TO id tylko login.
Taka mała rada. Postaraj się do haseł używać szyfrowania md5 lub sha1. Nikt Ci nie zarzuci potem pracy na odpierdziel.
Sprawdz sobie w manualu np. md5 to naprawdę nic trudnego.
Legion
A gdzie session_start() się podziało?
bounty
To tylko wkleił część kodu ...
Login i hasło do sql też miał podać ...
xSlash
zrobiłem (tak) i działa:


Kod
  /* ---------------------------------------------ZMIANA HASLA NA NOWE------------------------------------------------ */
                   /* ZAPISYWANIE HASLA DO ZMIENNEJ */
                   $pass = mysql_fetch_assoc(mysql_query("SELECT * FROM loginy WHERE login='".$_SESSION['loginUsera']."';"));
                   $haslo = $pass['haslo'];
                   /* </>ZAPISYWANIE HASLA DO ZMIENNEJ */
   $nowe = $_POST['nowe'];
  if(isset($_POST['ok']))
    {
   if($_POST['stare1'] == $_POST['stare2'])
      {
    if($_POST['stare2'] == $pass['haslo'])
       {
        $updateE = mysql_query("UPDATE `loginy` SET `haslo` = '".$nowe."' WHERE `login`='".$_SESSION['loginUsera']."'");
        die('Haslo zostalo zmienione poprawnie!');
exit;
       }
        else
       {
        die('Stare haslo jest niepoprawne!');
       }
      }
        else
       {
        die('Podane hasla nie sa takie same!');
       }
    }
    echo('<form action="" method="POST">
     <table>
       <tr><td class="tekst">Stare haslo:         </td><td><input type="password" class="text" name="stare1"></td></tr>
       <tr><td class="tekst">Powtorz stare hasło: </td><td><input type="password" class="text" name="stare2"></td></tr>
       <tr><td class="tekst">Nowe hasło:          </td><td><input type="password" class="text" name="nowe"></td></tr>
       <tr><td><input type="submit" class="buttonHaslo" name="ok" value=""></td></tr>
     </table>
          </form>');
bounty
@xSlash
czyli tak jak ci napisałem tongue.gif
@Legion
Po co ma podawac ci cały kod jeżeli problem leży w tym miejscu ...
xbigos
@bounty. Jednak nie tak jak mu napisałeś. smile.gif To takie małe sprostowanie.smile.gif Bo moja wersja została użyta:)
Niby nic ale nie lubie jak ktoś przypisuje sobie zasługi.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.