Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]
Forum PHP.pl > Forum > Przedszkole
sobczyk
Witam. Jestem tu poraz 1 także prosze o wyrozumiałość =)
Mam taki kod logowania.
Kod
<?php
session_start();
session_register("zalogowany");

if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;

mysql_connect("localhost", "root", "")or die("Nie można nawiązać połączenia z bazą");
mysql_select_db("test")or die("Wystąpił błąd podczas wybierania bazy danych");

function ShowLogin($komunikat=""){
    echo "$komunikat<br>";
    echo "<form action='index.php' method=post>";
    echo "Login: <input type=text name=login><br>";
    echo "Hasło: <input type=text name=haslo><br>";
    echo "<input type=submit value='Zaloguj!'>";
    echo "</form>";
    echo "Jeśli nie jesteś zarejestrowany, <a href='rejestruj.php'>tu znajdziesz formularz</a>";
}

?>
<!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" xml:lang="pl" lang="pl">
<head>
    <title>Strona główna</title>
</head>
<body>
<?php
if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
if($_SESSION["zalogowany"]!=1){
    if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
        if(mysql_num_rows(mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){
            echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>";
            $_SESSION["zalogowany"]=1;
            }
        else echo ShowLogin("Podano złe dane!!!");
        }
    else ShowLogin();
}
else{
?>
Gratulacje! Zalogowałeś się pomyślnie! Możesz przejśc teraz do innych podstron, np. do <a href="stronka.php">tej</a>
<br><a href='index.php?wyloguj=tak'>wyloguj się</a>
<?php
}
?>

</body>
</html>
<?php mysql_close(); ?>

Po zalogowaniu zrobie sobie odnosnik do strony gdzie mozna zmienic haslo do konta.
I tak. Bedzie do tego formularz w którym podajesz nowe haslo i zmienia stare haslo na nowe.
Ale jak zrobic zeby zmienilo haslo w tym zalogowanym koncie?
MWL
a co to za problem, poprostu odpowiedniej zmiennej z sesji przypisujesz inną wartość
sobczyk
Mógłbyś mi to napisać?
Bardzo prosze.
Cysiaczek
Zainteresuj się zapyteniam UPDATE. Pobierasz to nowe hasło i wstawiasz za jego pomocą do bazy.
  1. $sql="UPDATE tabela SET haslo='".$noweHaslo."' WHERE email='".$email."'";
sobczyk
A mozna to jakoś zrobić zeby nie podawac zmiennej email tylko poprostu jest 1 pole formularza zmien haslo i zmienia w koncie? Tyko jak to zrobic zeby jakoś z tych sesji było wiadomo od razu w jakim koncie to zmienic?

Bo można by było zrobic 2 pola formularza: login i nowe haslo.
$sql="UPDATE tabela SET haslo='".$noweHaslo."' WHERE login='".$login."'";
Tyko wlasnie wolałbym żeby to samo zidentyfikowało kto jest zalogowany i zmienialo :/
Cysiaczek
Skoro jest zalogowany, to chyba wiadomo kto, prawda? e-mail to tylko przykład, równie dobrze może być login, ale id sesji, jeśli takowe przechowujesz w kolumnie w tabeli użytkowników.

Pozdrawiam.
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.