Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Logowanie
gallardo83
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 5.11.2007

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


Witam wszystkich
Dlaczego jak sie loguję to formularz, który z założenia ma być dostępmy dopiero po zalogowaniu pojawia sie i owszem - ale dopiero jak sie zaloguje i odświerzę stronę.
Co może być przyczyną ?
Pozdrawiam i czekam na info
Go to the top of the page
+Quote Post
b_chmura
post
Post #2





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


prawdopodobnie coś źle zrobiłeś

kurde daj jakiś kod skąd kto ma wiedzieć co Ty tam napisałeś
Go to the top of the page
+Quote Post
deirathe
post
Post #3





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

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


Podejrzewam że za późno do kodu dostarczasz zmienna mówiącą że uzyszkodnik jest zalogowany, ale podzielam opinie kolegi wyżej daj kod, bo nikt tu wróżką nie jest i kuli też nie mamy...


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
Blodo
post
Post #4





Grupa: Zarejestrowani
Postów: 51
Pomógł: 1
Dołączył: 1.02.2005

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


gallardo83: Cos z cookiesami na 99%. Wez poprostu po logowaniu strzel redirecta za pomoca header() i tyle.
Go to the top of the page
+Quote Post
gallardo83
post
Post #5





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 5.11.2007

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


Ok oto kody:
skrypt logowania:
CODE

<?php
$login_check = $_POST['login_check'];
$pass_check = $_POST['pass_check'];
$_SESSION['login']=$_POST['login_check'];
$_SESSION['password']=$_POST['pass_check'];
if (!file_exists("users/$login_check.dat")):
echo("Błędne dane");
elseif (file_exists("users/$login_check.dat")):
include("users/$login_check.dat");
if(($_SESSION['login'] == $login_check) && ($_SESSION['password'] == $pass_check)):
$_SESSION['rights'] = $rights;
print $_SESSION['rights'].'<br>';
echo ("witamy\n");
echo $_SESSION['login'];
echo("\nZalogowałeś si&#281!!");
else:
echo("niepoprawny login lub/i haslo");
endif;
endif;

?>

A oto skrypt formularza który ma byc dostępny po zalogowaniu:
CODE
<?php session_start();
if(isset($_SESSION['rights']) && $_SESSION['rights']=='user')
{
?>

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formularz HTML-owy</title>


</head>

<body>

<form action="index.php?page=formularzPHP" method="post" enctype="multipart/form-data" name="formularzHTML-owy" class="style1" id="formularzPHP">



<table bgcolor="#999999" width="791" border="0" align="center" cellpadding="2" cellspacing="0" id="1">
<tr>
<td colspan="4"></td>
</tr>
<tr>
<td colspan="4"><div align="center">
<h2>Zamawianie ł&oacute;żka </h2>
</div></td>
</tr>
<tr>
<td colspan="4"><hr size="2" color="#FFFFFF"/></td>
</tr>
<tr>
<td width="11%"><label>
<div align="left">Imie:</div>
</td>
<td width="40%" align="left"><input name="imie" type="text" size="35" />
</td>

...


a własciwie to chodzi mi o to aby w menu po lewo pokazał sie linik do formularza który wyświetli się po prawej stronie
A oto menu
CODE
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Menu</title>
<style type="text/css">
<!--
.style1 {font-size: 36}
-->
</style>
</head>

<body>


<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span class="style1"><a href="index.php?page=witam">Witam na mojej stronie</a></span></p>
<p align="left" class="style1"><a href="index.php?page=strona1">Strona 1</p>
<!-- <p align="left" class="style1"><a href="index.php?page=strona2">Strona 2 </p> -->

<?
if(isset($_SESSION['rights']) && $_SESSION['rights']=='admin')
print '<p align="left" class="style1"><a href="index.php?page=strona2">Admin </p>';
if(isset($_SESSION['rights']) && $_SESSION['rights']=='user')
print '<p align="left" class="style1"><a href="index.php?page=formularz">Formularz </p>';
?>

<?php
header("Location: http://stud.ics.p.lodz.pl/~avathav/pai/tmp/");
?>

</body>
</html>


i co pomożecie ?
Z góry Dziękuję
Go to the top of the page
+Quote Post
rzymek01
post
Post #6





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


po pierwsze primo:
na moje to user zawsze będzie zalogowany, bo najpierw przypisujesz:
Kod
$login_check = $_POST['login_check'];
$pass_check = $_POST['pass_check'];
$_SESSION['login']=$_POST['login_check'];
$_SESSION['password']=$_POST['pass_check'];


a zaraz potem sprawdzasz:
Kod
if(($_SESSION['login'] == $login_check) && ($_SESSION['password'] == $pass_check))


tongue.gif

po drugie primo:
wypadałoby użyć session_start(); na początku 1 i 3 kodu, który podałeś (w 2 juz jest)

po trzecie primo:
trzymaj się jednej pisowni. Jak już piszesz if ...: endif; to rób tak wszystkie warunki. Używaj albo print, albo echo. Pisz albo <?, albo <?php :]


--------------------
:]
Go to the top of the page
+Quote Post
deirathe
post
Post #7





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

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


A nie łatwiej i bezpieczniej Ci będzie z sql?
  1. <?php
  2. session_start();//rozpoczynamy sesje
  3. mysql_connect();//podajemy dane potrzebne do polaczenia sie z baza
  4. $user = mysql_real_escape_string($_POST['user']);
  5. $pwd = mysql_real_escape_string($_POST['pwd']);
  6. $query = "SELECT id FROM users WHERE user='".$user."' AND password='".$pwd."';";
  7. $valid = mysql_num_rows(mysql_query($query));
  8. if($valid) $_SESSION['valid'] = true;
  9.  
  10. if($_SESSION['valid']]){
  11. //to co ma byc widoczne dla zalogowanego uzytkownika
  12. }
  13.  
  14. ?>

Wg mnie to jest łatwiejszy sposób i bardziej bezpieczny od plików.
Pisane z palca także proszę uważać


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 09:33