Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]sesja logowanie
Forum PHP.pl > Forum > Przedszkole
olszam
mam pytanie mam taki plik konfiguracyjny w którym mogę się połączyć z bazą mysql i tak się zastanawiam czy można zrobić coś takiego logowania w sesji że tam gdzie wpisuje użytkownika i hasło do połączenia się z bazą wpisać np. $_POST['login'] $_POST['haslo'] i wcześniej zrobić taki formularz na logowanie.
mniej więcej tak by wyglądał plik na połączenie z bazą chodź wiem że brakuje jeszcze parę linijek kodu związanego z sesją.
  1. <head>
  2. <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
  3. <meta http-equiv="Content-Language" content="pl" />
  4. </head>
  5. <?php
  6. $polacz = mysql_connect('localhost', '$_POST['login']', '$_POST['hasło']) or die('Błąd: '.mysql_error()); // nawiazujemy polaczenie w przypadku niepowodznie wyświetlamy komunikat
  7. //echo "Udało się połączyć z serwerem!";// połączenie nawiązane ;-)
  8. $db = mysql_select_db('olszam', $polacz) or die('Błąd: '.mysql_error());// nawiązujemy połączenie z bazą danych w przypadku niepowodzenia wyświetlamy komunikat
  9. //echo "Udało się połączyć z bazą dancych!";// połączenie nawiązane ;-)
  10. ?>


mam nadzieje że jakoś dobrze to opisałem
a oczywiście dodam że nie chce logowania który wczytuje login i hasło z tabeli np. użytkownik
prowseed
Czlowieku chyba nie wiesz o co cho, to jest login i haslo dla uzytkownika bazy danych...
Ilware
Możesz, tylko po co? Musiał byś się strasznie nakombinować potem żeby utrzymać połączenie z DB, albo zapisać te zmienne w session , albo w pliku tmp, ale gdzieś je przechować. Będzie to równie praktyczne i przydatne jak zbieranie kurzu grabiami...
untorched
Kod
<?php

$user = $_POST['user'];
if(empty($user)) $user = $_SESSION['user'];

$pass = $_POST['pass'];
if(empty($pass)) $pass = $_SESSION['pass'];

$conn = @mysql_connect('localhost', $user, $pass);
$db = @mysql_select_db('olszam', $conn);

if($_SESSION['login'] === TRUE)
{    
    if((!$conn) or ($db === FALSE))
    {
        unset($_SESSION['user'], $_SESSION['pass']);
        $_SESSION['login'] = FALSE;
        die('Błąd połączenia mysql: '.mysql_error());
    }
    
    echo 'Jesteś zalogowany i połączony : ))';
}
else
{
    if(isset($_POST['submit'))
    {
        if((!$conn) or ($db === FALSE))
        {
            unset($_SESSION['user'], $_SESSION['pass']);
            $_SESSION['login'] = FALSE;
            die('Błąd połączenia mysql: '.mysql_error());
        }
        else
        {
            $_SESSION['user'] = $user;
            $_SESSION['pass'] = $pass;
            $_SESSION['login'] = TRUE;
            
            echo 'Zostałeś zalogowany!';
    }
    else
    {
        echo '<form method="POST">';
        echo 'User: <input name="user"><br>';
        echo 'Hasło: <input type="password" name="pass"><br>';
        echo '<input type="submit" name="submit" value="submit"></form>';
    }
}


Czegoś takiego pragniesz? sorki za mało profesjonalny kod, ale późna godzina i mi się już nie chce myśleć ;D

Zastanawiam się tylko pocóż Ci coś takiego? o_O
Niktoś
Trochę session fixation, i jestem bogiem twojej aplikacji.Tak jak Prowseed mówi,zastanów się człowieku co ty robisz.Czytałeś jakieś tutoriale ,przeglądałeś forum,fora.Wszyscy krzyczą,aby nie przechowywać taki danych w sesjach,nie robią chyba tego po złości -nie uważasz?
untorched
No fakt, przetrzymywanie takich danych w taki sposób, to porażka. Chciał chłopak by wyglądało to tak, to mu napisałem, a co on z tym zrobi to jego wybór. Całkiem możliwe, że on coś "tworzy" na własny użytek i nie udostępni tego nikomu, lecz kto zna jego zamiary...
olszam
thx za napisanie kodu i powinno być ok ale nie rozumiem dlaczego przy ostatnim else wywala mi błąd?
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.