Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Warning()! (sesja)
snaiper
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 20.12.2004

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


no wiec tak, zrobilem sobie (przy pomocy ksiazki :/) formularz logowania no i dziala on poprawnie tylko ze jak podam poprawne dane to opocz informacji ze sie dobrze zalogowalem wyswietla mi komunikat:

Warning: Unknown(): Your script possibly relies on a session side-effect which existed until php 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

no i nie wiem o co w nim chodzi sad.gif
Go to the top of the page
+Quote Post
tiraeth
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


wersja php questionmark.gif

i podaj kod skryptu....

Ten post edytował Tiraeth 3.01.2005, 14:14:34
Go to the top of the page
+Quote Post
Vertical
post
Post #3





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


To znaczy, że musisz włączyć register_globals
Go to the top of the page
+Quote Post
snaiper
post
Post #4





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 20.12.2004

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


mam php 4.3.9

autoryzacja.html
---------------------

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Logowanie</title>
</head>
<body>
<form method="POST" action="autoryzacja2.php">
<div align="center"><center>
<h2>Aby uzyskać dostęp do żadanych stron, proszę się zalogować</h2>
<table boder="1" width="200" cellpadding="2">
<tr>
<th width="18%" align="right">Login</th>
<td width="82%">
<input type="text" name="nick" size="8">
</td>
</tr>
<tr>
<th width="18%" align="right"> Hasło</th>
<td width="82%">
<input type="password" name="haslo" size="8">
</td>
</tr>
<tr>
<td width="100%" colspan="2" align="center">
<input type="submit" value="zaloguj" name"submit">
</td>
</tr>
</table></div>
</form>
</body>
</html>

-------------------
autoryzacja2.php
------------------

<?php
include "./autoryzacja3.php";
session_start();
if(!isset($nick)) {
$autoryzacja;
exit;
}
else {
session_register("nick", "haslo");
$nick = autoryzacja($nick, $haslo);
if(!$nick) {
session_unregister("nick");
session_unregister("haslo");
echo "Autoryzacja użytkownika nieudana. " . " Musisz podać poprawny login i hasło" . "<br>";
echo "<a href=\"$autoryzacja\">Logowanie</a>" . "<br>";
echo "Jeśli jeszce nie masz konta, zarejestruj się!" . "<br>";
echo "<a href= \"$rejestrowanie\">Rejestracja</a>";
exit;
}
else echo "Witaj, $nick!";
}
?>

---------------------
autoryzacja3.php
---------------------

<?php
include "./common_db.inc";
$rejestrowanie = "./formularz.html";
$autoryzacja = "./autoryzacja.html";

$nick = $_POST['nick'];
$haslo = $_POST['haslo'];

function autoryzacja($nick, $haslo) {
global $default_dbname, $user_tablename;
$link_id = db_connect();
$zapytanie = "SELECT nick FROM user WHERE nick = '$nick' AND haslo = password('$haslo')";
$wynik = mysql_query($zapytanie);
if(!mysql_num_rows($wynik)) return 0;
else {
$query_data = mysql_fetch_array($wynik);
return $query_data["nick"];
}
}
?>

i jescze jedno pytanie, co mam przekleic(napisac) zeby inne strony tez sprawdzaly poprawnosc autoryzacji questionmark.gif
Go to the top of the page
+Quote Post
ARJ
post
Post #5





Grupa: Zarejestrowani
Postów: 453
Pomógł: 22
Dołączył: 20.09.2004
Skąd: Kraków - NH -

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


używaj BBCODE. kod który wkleiłeś jest mało czytelny. zedytuj posta i kod php wstaw w odpowiednie znaczniki bbcode.


--------------------
Warsztat: Windows 7 Pro 64bit | Apache 2.2 | PHP 5.2 | MySQL 5.0 | PHPmyadmin 2.6.4
Go to the top of the page
+Quote Post
crash
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


autoryzacja2.php ma być:
  1. <?php
  2. include &#092;"./autoryzacja3.php\";
  3. ?>

Używaj BBCode!


--------------------
Go to the top of the page
+Quote Post
dee
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 23.11.2004

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


jesli chcialbym przerobic ten skrypt na to zeby dzialal u mnie to co musze jeszcze zmienic?ponizej zamieszczam kod bazy i kod tego co zmienilem(i nie dziala)

  1. CREATE TABLE `administrator` (
  2. `nr` int(5) NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(16) NOT NULL DEFAULT '',
  4. `haslo` varchar(16) NOT NULL DEFAULT '',
  5. PRIMARY KEY (`nr`)
  6. ) TYPE=MyISAM AUTO_INCREMENT=2 ;
  7.  
  8. --
  9. -- Zrzut danych tabeli `administrator`
  10. --
  11.  
  12. INSERT
  13. INTO `administrator` VALUES (1, 'admin', 'pass');

i to co zmienilemw kodzie php w autoryzacja3.php
  1. <?php
  2.  
  3. $rejestrowanie = &#092;"./formularz.html\";
  4. $autoryzacja = &#092;"./autoryzacja.html\";
  5.  
  6. $nazwa = $_POST['nazwa'];
  7. $haslo = $_POST['haslo'];
  8.  
  9. function autoryzacja($nazwa, $haslo) 
  10. {
  11. @ $polaczenie = mysql_pconnect('localhost','root','');
  12. if (!@polaczenie)
  13. {
  14. echo 'Nieudało sie polączenie z baza!';
  15. }
  16.  
  17. mysql_select_db('testy');
  18. $zapytanie = &#092;"SELECT nazwa FROM administrator WHERE nazwa = '$nazwa' AND haslo = password('$haslo')\";
  19. $wynik = mysql_query($zapytanie);
  20. if(!mysql_num_rows($wynik)) return 0;
  21. else {
  22. $query_data = mysql_fetch_array($wynik);
  23. return $query_data[&#092;"nazwa\"];
  24. }
  25. }
  26. ?>


co jest nietak?
Go to the top of the page
+Quote Post
crash
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


To ja się mogę spytać co jest nie tak tongue.gif Jaki błąd się pojawia?


--------------------
Go to the top of the page
+Quote Post
dee
post
Post #9





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 23.11.2004

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


W tym problem ze nie ma zadnego bledu biggrin.gif poprostu sie nieloguje, wyswietla ze nie ma takiego uzytkownika
Go to the top of the page
+Quote Post
crash
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Bo podajesz złe hasło. W bazie masz hasło pass, a Ty podajesz w zapytaniu hasło zakodowane funkcją PASSWORD().


--------------------
Go to the top of the page
+Quote Post
dee
post
Post #11





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 23.11.2004

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


Faktycznie teraz dzial smile.gif wiec mam kolejne pytanie co mam wkleic do innych plikow by sprawdzaly ze zainplementowano sesje?
Go to the top of the page
+Quote Post
crash
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Po poprawnym zalogowaniu ustaw jakąś zmienną sesyjną, np zawierającą login użytkownika. Na każdej stronie sprawdzaj czy taka zmienna jest ustawiona.


--------------------
Go to the top of the page
+Quote Post
dee
post
Post #13





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 23.11.2004

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


a moglbys mi napisac dla tego przykladu jak to zrobic?zeby w innych plikach sprawdzal czy ktos sie logowal bede bardzo wdzieczny.
Go to the top of the page
+Quote Post
crash
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Na początku pliku z logowaniem wywołaj:
  1. <?php
  2. ?>

po poprawnym zalogowaniu ustaw:
  1. <?php
  2. $_SESSION['login'] = $_POST['nazwa'];
  3. ?>


W każdym pliku, który ma sprawdzić czy użytkownik jest zalogowany sprawdzaj:
  1. <?php
  2.  
  3. if(empty($_SESSION['login']))
  4. {
  5.  echo 'Musisz się zalogować!'; // albo die();
  6. }
  7. else
  8. {
  9.  // blok wykonywany dla zalogowanego użytkownika.
  10. }
  11. ?>


--------------------
Go to the top of the page
+Quote Post
dee
post
Post #15





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 23.11.2004

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


dzeki dziala smile.gif
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 - 12:09