Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> logowanie
peterlan
post
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.10.2012

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


Witam, czy ktos moze mi pomoc,

mam cos takiego,

if($_SESSION["USER_AUTH"]==TRUE)
{
if ($login == 'piotr')
{
include("panel_admin.php");
}
else
{
include("panel_uzytkownik.php");
}
}

gdy podam login 'piotr', to laduje sie panel admin, ale po chwili przeskakuje na panel uzytkownika.

Jestem grafikiem, a w wolnej chwili probuje cos w php namieszac.
Go to the top of the page
+Quote Post
buliq
post
Post #2





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


Masz może namiary na sklep ze szklanymi kulami?

A zmienna $login to gdzie jest deklarowana?
Go to the top of the page
+Quote Post
kw95s
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 3
Dołączył: 10.07.2011

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


Czemu cały czas sprawdzasz czy $login = Piotr ?
Za pierwszym razem gdy przkazuhesz tę zmienną zawiera Piotr lecz po przejściu do panelu admina zmienna jest pusta i zgodnie z instrukcją przechodzi do panelu użytkownika.

Ten post edytował kw95s 30.07.2013, 11:27:18
Go to the top of the page
+Quote Post
peterlan
post
Post #4





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.10.2012

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


w login.php mam cos takiego:

<?php
echo"
<form action=\"index.php?action=login\" method=post>
<input class=login type=text name=login></input>
<input class=login type=password name=pass></input>
<input class=submit type=submit value=OK></input>
</form>
";

if($_GET['action']=="login")

{
$login = $_POST['login'];
$pass = md5($_POST['pass']);
$db = mysql_connect( $db_server, $db_user, $db_pass );
mysql_select_db( $db_name );
$query = "SELECT `password` FROM `users` WHERE `login`='$login'";
$query = mysql_query( $query );
$haslo = mysql_fetch_row( $query );

if( $haslo[0]==$pass )
{
login( $login );
echo"<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=index.php\">";
}

else{ echo"Zły login lub hasło!"; }

mysql_close( $db );
}
?>


Chodzi mi o to ze gdy ktos zaloguje sie jako piotr, to pokaze mu sie inny panel.
Go to the top of the page
+Quote Post
kw95s
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 3
Dołączył: 10.07.2011

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


Cytat(peterlan @ 30.07.2013, 12:31:11 ) *
w login.php mam cos takiego:

<?php
echo"
<form action=\"index.php?action=login\" method=post>
<input class=login type=text name=login></input>
<input class=login type=password name=pass></input>
<input class=submit type=submit value=OK></input>
</form>
";

if($_GET['action']=="login")

{
$login = $_POST['login'];
$pass = md5($_POST['pass']);
$db = mysql_connect( $db_server, $db_user, $db_pass );
mysql_select_db( $db_name );
$query = "SELECT `password` FROM `users` WHERE `login`='$login'";
$query = mysql_query( $query );
$haslo = mysql_fetch_row( $query );

if( $haslo[0]==$pass )
{
login( $login );
echo"<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=index.php\">";
}

else{ echo"Zły login lub hasło!"; }

mysql_close( $db );
}
?>


Chodzi mi o to ze gdy ktos zaloguje sie jako piotr, to pokaze mu sie inny panel.

Niezbyt to uporządkowane
Go to the top of the page
+Quote Post
peterlan
post
Post #6





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.10.2012

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


a wiesz moze jak to rzowiaza? ja pracuje na codzien w photoshopie (IMG:style_emoticons/default/tongue.gif)

rozwiazac.
Go to the top of the page
+Quote Post
kw95s
post
Post #7





Grupa: Zarejestrowani
Postów: 36
Pomógł: 3
Dołączył: 10.07.2011

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


nie mam tera dostępu do komputera, do tego czasu na pewno ktoś Ci pomoże (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
freemp3
post
Post #8





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

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


Można wrzucić login do sesji.
Go to the top of the page
+Quote Post
peterlan
post
Post #9





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.10.2012

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


dzieki wielkie, dziala
Go to the top of the page
+Quote Post
buliq
post
Post #10





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


Kod
$login = $_POST['login'];

POST jest przekazywany tylko raz, wrzuć to do sesji i wtedy sprawdzaj.
Go to the top of the page
+Quote Post
peterlan
post
Post #11





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.10.2012

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


w sesji mam cos takiego:

<?php
session_start();
function auth()
{
return $_SESSION["USER_AUTH"];
}
function login( $login )
{
$_SESSION["USER_AUTH"]=TRUE;
}
function logout()
{
$_SESSION["USER_AUTH"]=FALSE;
$_SESSION["USER_ID"]="";
}
if( $_GET['action']=="logout" ){ logout(); }
?>
Go to the top of the page
+Quote Post
freemp3
post
Post #12





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

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


Zapomniałeś o zapisaniu do sesji identyfikatora uzytkownika w funkcji login.
Go to the top of the page
+Quote Post
peterlan
post
Post #13





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.10.2012

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


mam tak wpisane:

$_SESSION["USER_ID"]=$login;

Go to the top of the page
+Quote Post
freemp3
post
Post #14





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

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


Więc powinno działać, w czym jest problem?
Go to the top of the page
+Quote Post
peterlan
post
Post #15





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.10.2012

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


dale mi to nie dziala:

if($_SESSION["USER_AUTH"]==TRUE)
if ($login=='piotr') {
include("panel_admin.php");
}
else{
include("panel_uzytkownik.php");
}

za kazdym razem skacze do else

moze to byc wina ze to robie na localu?
Go to the top of the page
+Quote Post
freemp3
post
Post #16





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

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


Nie działa ponieważ dalej porównujesz zmienną $login zamiast wartość z sesji.
Go to the top of the page
+Quote Post
peterlan
post
Post #17





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.10.2012

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


czyli jak np?

wow, dziala!! dzieki
Go to the top of the page
+Quote Post
freemp3
post
Post #18





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

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


Czyli zamiast:
  1. if ($login=='piotr') {

powinno powinno być:
  1. if ($_SESSION["USER_ID"]=='piotr') {
Go to the top of the page
+Quote Post
peterlan
post
Post #19





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.10.2012

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


witam jeszcze jedno pytanko:

jak dobrze zapisac takie cos?

  1. if($_SESSION["USER_AUTH"]==TRUE)
  2. if ($_SESSION["USER_ID"] == 'piotr')
  3. {
  4. include("panel_piotr.php");
  5. }
  6. elseif ($_SESSION["USER_ID"] == ('administrator' || 'remik'))
  7. {
  8. include("panel_administrator.php");
  9. }
  10. elseif ($_SESSION["USER_ID"] == 'neo')
  11. {
  12. include("panel_neo.php");
  13. }


nie wiem czy dobrze kombinuje, ale nie dziala mi to poprawnie.

chodzi mi dokladnie o ta linijke:

  1. elseif ($_SESSION["USER_ID"] == ('administrator' || 'remik'))
Go to the top of the page
+Quote Post
ssstrz
post
Post #20





Grupa: Zarejestrowani
Postów: 103
Pomógł: 17
Dołączył: 15.12.2012

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


musisz zastosować funkcję in_array
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 20:59