Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zalogowany jako:, Problem z logowaniem
rafcio1410
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.04.2011

Ostrzeżenie: (0%)
-----


Witam,
Nazywam sie Rafal i jestem nowy na forum. Jezyk php znam srednio wiec zarejestrowalem sie na waszym forum w celu doskonalenia swojej wiedzy, a zarazem uzyskania odpowiedzi na niektore tematy od was.

W tym temacie moj problem polega na tym, ze nie wiem jak zrobic po zalogowaniu aby wyswietlal sie napis "zalogowany jako: i name usera w tym miejscu."
Kod dziala tak ze po poprawnym zalogowaniu dalem header na index.php z msg==2 i chcialbym zeby w tym miejscu zostal wyswietlony ten napis.Dacie jakies wskazowki jak to sie robi?

kod z login.php :
Kod
<?php
session_start();

//Połączenie z bazą
if (@!include('connect.php')) die("Wystąpił błąd, spróbuj później");

//Sprawdzam czy jest ktoś zarejestrowany
$sql = mysql_query("SHOW TABLES LIKE 'users'");    
if(!mysql_num_rows($sql) == 0)
{
//Sprawdzam czy użytkownik próbuje się zalogowac
if ($_POST['zaloguj'])
    {
        if (empty($_POST['log']) || empty($_POST['pass']))
            {
                $msg = "Nie wypełniłeś wszystkich pól !";
            }
        else
            {        
                $log = mysql_real_escape_string(htmlspecialchars( trim($_POST['log']) ));
                $pass = sha1( mysql_real_escape_string (htmlspecialchars( trim($_POST['pass']) ) ));
                
                //Sprawdzam czy dane użytkownika pasują do tych z rejestracji
                $sql = mysql_query("SELECT count(*) as ile FROM `users` WHERE name='$log' and hashed_psw='$pass'");        
                $row = mysql_fetch_array($sql);
                if ($row['ile'] == 1)
                    {
                        $msg = 'Za 5 sekund zostaniesz przeniesiony do panelu sterowania';
                        $_SESSION['id'] = session_id();
                        $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];                                                 
                        header("refresh:3;url=index.php?msg=2");
                    }
                else
                    {
                        $msg = 'Wpisano zły login lub hasło';
                    }
        
                
            }
    }
}
else
{
    $msg = 'Musisz się zarejestrować przed zalogowaniem !';
}

    
?>


Ten post edytował rafcio1410 18.04.2011, 12:12:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rafcio1410
post
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.04.2011

Ostrzeżenie: (0%)
-----


filip nie wiem czy dobrze zrozumialem ale czy tak mialem przerobic kod?
Kod
<?php
session_start();

//Połączenie z bazą
if (@!include('connect.php')) die("Wystąpił błąd, spróbuj później");

//Sprawdzam czy jest ktoś zarejestrowany
$sql = mysql_query("SHOW TABLES LIKE 'users'");    
if(!mysql_num_rows($sql) == 0)
{
//Sprawdzam czy użytkownik próbuje się zalogowac
if ($_POST['zaloguj'])
    {
        if (empty($_POST['log']) || empty($_POST['pass']))
            {
                $msg = "Nie wypełniłeś wszystkich pól !";
          
            }
        else
            {        
                $log = mysql_real_escape_string(htmlspecialchars( trim($_POST['log']) ));
                $pass = sha1( mysql_real_escape_string (htmlspecialchars( trim($_POST['pass']) ) ));
                
                //Sprawdzam czy dane użytkownika pasują do tych z rejestracji
                $sql = mysql_query("SELECT count(*) as ile FROM `users` WHERE name='$log' and hashed_psw='$pass'");        
                $row = mysql_fetch_array($sql);
                if ($row['ile'] == 1)
                    {
                        $sql2 = mysql_query("SELECT * FROM `users` WHERE name='$log' and hashed_psw='$pass'");        
                        $dane = mysql_fetch_array($sql2);                      
                        $_SESSION['id'] = session_id();
                        $_SESSION['name'] = $dane['name'];
                        $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];                                                 
                                                
                    }
                else
                    {
                        $msg = 'Wpisano zły login lub hasło';
                    }
        
                
            }
    }
}
else
{
    $msg = 'Musisz się zarejestrować przed zalogowaniem !';
}

    
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
    <title></title>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta name="Keywords" content="wyraz1, wyraz2, wyraz3..." />
    <meta name="description" content="Opis strony" />

    
</head>

<body>

<?php echo "<font color=red>";  if (isset($msg)) echo $msg; echo "</font>"; ?>
  <?php if(isset($_SESSION['id'])){
    
    echo $_SESSION['name'];
    }else {
    
      
      
  echo'<form id="login" action="" method="post">
                    
        <div><label for="log">Login:</label><input type="text" name="log" id="log" maxlength="35"/></div>
        <div><label for="pass">Hasło:</label><input type="password" name="pass" id="pass" maxlength="35"/></div>
        <input type="submit" id="zaloguj" name="zaloguj" value="Zaloguj" />
        <a id="register" href="register.php">Zarejestruj się</a>
        <a id="remind" href="przypomnij.php">Zapomniałem hasła</a>
        
  </form>';
}
    ?>
    

    

</body>

</html>



Wszystko na stronie dziala poprawnie, z tym ze bedzie pokazywalo login uzytkownika az do momentu kiedy nie wcisne wyloguj, czyli nie zakoncze sesji. Zatem mam pytanie jak zrobic aby po okreslonym czasie bezruchu nastepowalo wylogowywanie samoistnie?
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 23:53