Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Pytanie na temat logowania

Ostatnio zmodyfikowano 2014-02-05 15:45
Autor Wiadomość
Nekronomik
Temat założony przez niniejszego użytkownika
Pytanie na temat logowania
» 2014-02-01 17:15:06
Witam, chodzi mi o to że czy jak się loguje na mojej stronie to powinno być przekierowanie na inną stronę, czy może być na tej samej np; loguje się na index.php to czy dane na temat użytkownika powinny być na index.php czy np: na użytkownik.php i żeby nie miał możliwości w momencie gdy jest zalogowany przejść na stronę index.php, chyba że postanowi się wylogować ?
No i mam jeszcze takie drobne pytanie dlaczego gdy użytkownik jest automatycznie wylogowany a stronę odświeżam to jego dane i tak są wyświetlane mimo że $_SESSION['zalogowany']=0;.
Moja strona http://www.moje1991.aq.pl/.
P-103764
MrPoxipol
» 2014-02-01 17:22:21
login.php
Strona, na której operujesz w logowaniu. Jeśli się powiedzie - przekieruj na główną, jeśli nie - wypluj błąd.
Co do 2. to potrzebny kod. Coś przekombinowałeś.
P-103768
Nekronomik
Temat założony przez niniejszego użytkownika
» 2014-02-01 17:35:05
<?php
    session_start();
    session_register("zalogowany");
session_register("login");
session_register("id");
session_register("email");
if(empty($_SESSION["zalogowany"]))
{
    $_SESSION["zalogowany"]=0;
}
$laczenie=mysql_connect('localhost','root','');
$baza=mysql_select_db('moje',$laczenie);
?>
<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8">
    <title>Zaczynamy !</title>
<meta http-equiv="Refresh" content="100" />
<link href="arkusz.css" rel="stylesheet" />
</head>
<body>
    <div id="karta">
    <div id="naglowek">Naglówek</div>
<div id="logowanie_pasek">
    <form id="logowanie" method="post">
        Login :<input type="text" name="login" maxlength="20"/>
Hasło :<input type="password" name="haslo" maxlength="20"/>
<input type="submit" value="Zaloguj" />
</form>
    <div id="rejestracja"><a href="stworzkonto.php">Stwórz konto</a></div>
</div>
<div id="lewa_kolumna">
    <div id="lewa_kolumna_m_w" onclick="location.href='phpinfo.php'">dane</div>
<div id="lewa_kolumna_m_w">2</div>
<div id="lewa_kolumna_m_w">3</div>
<div id="lewa_kolumna_m_w">4</div>
<div id="lewa_kolumna_m_w">5</div>
<div id="lewa_kolumna_m_w">6</div>
</div>
<div id="prawa_kolumna">
    <?php
    if($_SESSION["zalogowany"]==0)
{
    $login=$_POST['login'];
$haslo=$_POST['haslo'];
if(empty($_POST["login"])==0 && empty($_POST["haslo"])==0)
{
    $rezultat = mysql_query("SELECT * FROM konta WHERE Login='$login' AND Haslo='$haslo'");
//$czy_istnieje_login = mysql_query("select Login from konta where Login='$login'");
//$czy_istnieje_haslo = mysql_query("select Haslo from konta where Haslo='$haslo'");
if(mysql_num_rows($rezultat)==true)
//if(czy_istnieje_login==false && $czy_istnieje_haslo==false)
{
    $row = mysql_fetch_array($rezultat);
    $_SESSION["zalogowany"]=1;
$_SESSION["login"]=$row['Login'];
$_SESSION["id"]=$row['id'];
$_SESSION["email"]=$row['Email'];
}
else
{
    echo 'Dane logowania są niepoprawne<br/>';
}
mysql_close();
}
//else echo 'Dane są puste';
}
    //$imie='Daniel';
if($_SESSION["zalogowany"]==1)
{
echo('Witaj '.$_SESSION["login"].'<br/>Twój ID to: '.$_SESSION["id"].'<br/> Twój email to: '.$_SESSION["email"].'<br/><br/>');
}
else
{
    echo('Witaj nieznajomy');
}
if($_SESSION["zalogowany"]==1)
{
    $_SESSION["zalogowany"]=0;
$_SESSION["login"]='';
$_SESSION["id"]='';
echo('Właśnie zostałes automatycznie wylogowany');
}
    ?>
</div>
<div id="pasek">Pasek</div>
</div>
</body>
</html>
Logowanie jest na głównej stronie, czyli mam użytkownika po zalogowaniu przenieść na inna stronę  bez możliwości wejścia na główną ?
P-103770
MrPoxipol
» 2014-02-01 17:37:31
Logowanie jest na głównej stronie, czyli mam użytkownika po zalogowaniu przenieść na inna stronę  bez możliwości wejścia na główną ?
Includuj forma z logowaniem, a jako action podaj stronę do logowania.
PS Nie chciałbym mieć konta w Twoim serwisie, w serwisie, w którym admin ma dostęp do haseł użytkowników.. (PR0TIP: twórz hasha md5)
PPS SQL injection.. (filtruj dane od użytkownika)
PPPS mysql jest przestarzałe i zaleca się używać mysqli.
P-103771
Nekronomik
Temat założony przez niniejszego użytkownika
» 2014-02-02 13:39:35
Zrobiłem szyfrowanie md5(), ale jak admin i tak bardzo by chciał to się dowie jakie hasło ma użytkownik.
A że php i mysql to dla mnie nowość to nie rozumiem co napisałeś
"Includuj forma z logowaniem, a jako action podaj stronę do logowania."
P-103853
xevuel
» 2014-02-02 13:50:04
Zrobiłem szyfrowanie md5(), ale jak admin i tak bardzo by chciał to się dowie jakie hasło ma użytkownik.
To nie jest zabezpieczenie przed tym który ma dostęp do kodu strony, ale przed wyciekiem bazy. Poza tym, MD5 jest słabe, a brak solenia hasła powoduje że używanie hashy nie ma dużego sensu.

"Includuj forma z logowaniem, a jako action podaj stronę do logowania."
http://www.php.net/manual/en​/function.include.php
http://www.w3schools.com/tags​/att_form_action.asp
Chociaż akurat tworzenie osobnej strony do logowania/przyjmowania formularza jest moim zdaniem bez sensu, bo tylko zwiększa ilość potencjalnych requestów (jeśli użytkownik loguje się ze strony X, a ta go przekieruje na Y, to w dużej ilości wypadków zechce on powrócić na X).
P-103854
Nekronomik
Temat założony przez niniejszego użytkownika
» 2014-02-02 18:53:15
Logowanie zrobiłem na tej samej stronie, include wykorzystam do zachowania danych logowania na podstronach.
A to że wyświetlały mi się dane użytkownika po wylogowaniu to dlatego że w złej kolejności był kod wykonywany.
<?php
    session_start();
    session_register("zalogowany");
session_register("login");
session_register("id");
session_register("email");
if(empty($_SESSION["zalogowany"]))
{
    $_SESSION["zalogowany"]=0;
}
$laczenie=mysql_connect('localhost','root','');
$baza=mysql_select_db('moje',$laczenie);
?>
<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8">
    <title>Zaczynamy !</title>
<meta http-equiv="Refresh" content="100" />
<link href="arkusz.css" rel="stylesheet" />
</head>
<body>
    <?php
if(isset($_POST['wylogowywanie']))
{
$_SESSION["zalogowany"]=0;
$_SESSION["login"]='';
$_SESSION["id"]='';
}
if($_SESSION["zalogowany"]==0)
{
    $login=$_POST['login'];
$haslo=md5($_POST['haslo']);
if(empty($_POST["login"])==0 && empty($_POST["haslo"])==0)
{
    $rezultat = mysql_query("SELECT * FROM konta WHERE Login='$login' AND Haslo='$haslo'");
if(mysql_num_rows($rezultat)==true)
{
$row = mysql_fetch_array($rezultat);
$_SESSION["zalogowany"]=1;
$_SESSION["login"]=$row['Login'];
$_SESSION["id"]=$row['id'];
$_SESSION["email"]=$row['Email'];
}
}
}
?>
    <div id="karta">
    <div id="naglowek">Naglówek</div>
<div id="logowanie_pasek">
    <form id="logowanie" method="post">
        Login :<input type="text" name="login" maxlength="20"/>
Hasło :<input type="password" name="haslo" maxlength="20"/>
<input type="submit" value="Zaloguj" />
</form>
    <div id="rejestracja">
<?php
    if($_SESSION["zalogowany"]==0)
{
    echo '<a href="stworzkonto.php">Rejestracja</a>';
}
else
{
    echo '<form method="post"><input type="submit" name="wylogowywanie" value="Wyloguj" /></form>';
}
?>
</div>
</div>
<div id="lewa_kolumna">
    <div id="lewa_kolumna_m_w" onclick="location.href='phpinfo.php'">dane</div>
<div id="lewa_kolumna_m_w">2</div>
<div id="lewa_kolumna_m_w">3</div>
<div id="lewa_kolumna_m_w">4</div>
<div id="lewa_kolumna_m_w">5</div>
<div id="lewa_kolumna_m_w">6</div>
</div>
<div id="prawa_kolumna">
    <?php
    if($_SESSION["zalogowany"]==0)
{
    $login=$_POST['login'];
$haslo=md5($_POST['haslo']);
if(empty($_POST["login"])==0 && empty($_POST["haslo"])==0)
{
    $rezultat = mysql_query("SELECT * FROM konta WHERE Login='$login' AND Haslo='$haslo'");
if(mysql_num_rows($rezultat)==false)
{
    echo 'Dane logowania są niepoprawne<br/>';
}
}
}
if($_SESSION["zalogowany"]==1)
{
echo('Witaj '.$_SESSION["login"].'<br/>Twój ID to: '.$_SESSION["id"].'<br/> Twój email to: '.$_SESSION["email"].'<br/><br/>');
}
else
{
    echo('Witaj nieznajomy');
}
    ?>
</div>
<div id="pasek">Pasek</div>
</div>
</body>
</html>
.
Moja strona http://www.moje1991.aq.pl/.
P-103886
MrPoxipol
» 2014-02-04 17:07:51
Hah, do localhosta nam dałeś link? :) (http://pl.wikipedia.org/wiki​/Localhost).
P-103967
« 1 » 2
  Strona 1 z 2 Następna strona