Przekazywanie sesji logowania przestało działać,proszę o pomoc.próbowałem metodą POST też nie działa.
?php include("config.php");
$nick = $_SESSION['nick'];
$haslo = $_SESSION['haslo']; if ((empty($nick)) AND (empty($haslo))) {
echo '
Nie byłe¶ zalogowany albo zostałe¶ wylogowany
Strona Główna
';
exit;}if(isset($_GET['nick']))
$nick=$_GET['nick']; $user = mysql_fetch_array(mysql_query("SELECT * FROM uzytkownicy WHERE `nick`='$nick' LIMIT 1"));
if (empty($user[id]) OR !isset($user[id])) {
echo '
Nieprawidłowe logowanie.
';
exit;
}
// tresc dla zalogowanego uzytkownika
echo 'Ogl±dasz profil: '.$user[nick].'';
[/code]
flaszer
(flaszer)
15 Sierpień 2011 08:23
#2
Na początku każdej strony musisz mieć zadeklarowane:
session_start();
Potem do konkretnej wartości sesyjnej odwołujesz się, bez żadnych POSTów:
$_SESSION['nazwa_zmiennej'];
ok działa,tylko jak teraz wyświetlić usera,jeśli wcześniej sprawdzałem tak z logowania:
$user = mysql_fetch_array(mysql_query("SELECT * FROM uzytkownicy WHERE `nick`='$nick' LIMIT 1"));
if (empty($user[id]) OR !isset($user[id])){
echo '
Nieprawidłowe logowanie.
';
exit;
}// tresc dla zalogowanego uzytkownika
echo 'Ogl±dasz profil: '.$user[nick].'';
,teraz to nie działa.
flaszer
(flaszer)
15 Sierpień 2011 09:17
#4
Zwraca Ci “Nieprawidłowe logowanie”? Pozbyłeś się tych wszystkich “$_GET[‘nick’]”?
Tak usunąłem
session_start(); include("config.php"); $nick = $_SESSION['nick'];
$haslo = $_SESSION['haslo'];
echo 'Witaj '.$user.'';
tylko jak teraz wyświetlę usera??echo ‘Witaj ‘.$user.’’;
flaszer
(flaszer)
15 Sierpień 2011 09:36
#6
Kiedy użytkownik jest już zalogowany, na każdej z podstron wystarczy wpisać:
<?php
session_start();
$nick = $_SESSION['nick'];
echo 'Witaj '.$nick;
Raz działa,a raz nie działa przekazywania sesji.Nie wyświetla zalogowanego usera.Wyświetla tylko jak przechodzi z profili,czyli z:
session_start(); include("config.php"); $nick = $_SESSION['nick'];
$haslo=$_SESSION['haslo']; echo 'Witaj '.$nick;
do
session_start(); include("config.php");
$nick = $_SESSION['nick'];
$haslo = $_SESSION['haslo'];
if(isset($_GET['nick']))
$nick = $_GET['nick']; echo 'Ogl±dasz profil: '.$nick;
,z linków nie działa,co grane???
flaszer
(flaszer)
15 Sierpień 2011 13:38
#8
Po pierwsze, co masz na myśli mówiąc - z linków nie działa? Po drugie, pokaż kod uwierzytelniania. Po trzecie - na każdej stronie startujesz sesje? I ostatnie, ale i najważniejsze - zacznij lepiej formatować kod który tu wysyłasz bo nie da się go czytać.
Zgadza się na każdej podstronie startuje sesję,przedtem sprawdzałem tak jak napisałem w poście wyżej i działało do teraz.Jeśli chodzi o kod uwierzytelniania to nie wiem jak to zapisać.Może jakieś przykłady.ostatnia sprawa o to formatowanie na forum,bo wklejając kod rozsypuje się,może powinienem zmienić edytor kodu"aleykode".Co zrobić z tą sesją bo nie wyświetla usera,wyświetla tylko jak się przechodzi z profili w dany profil,gdzie jest
include("config.php");
$nick = $_SESSION['nick'];
$haslo = $_SESSION['haslo'];
if(isset($_GET['nick']))
$nick = $_GET['nick'];
GET.
masters87
(Masters87)
16 Sierpień 2011 09:31
#10
coś ten system logowania jest skopany:
$nick = $_SESSION['nick'];
$haslo = $_SESSION['haslo'];
if(isset($_GET['nick']))
$nick = $_GET['nick'];
nie rozumiem po co pobierasz nick z tablicy GET, wcześniej odczytujesz ten nick z tablicy SESSION
Poczytaj najpierw o sposobach autoryzacji…
batmomobil
(batmomobil)
16 Sierpień 2011 10:55
#11
Chyba skopany jest system logowania
<?php session_start(); include("config.php");
$login = $_POST['login'];
$haslo = $_POST['haslo'];
$haslo = addslashes($haslo);
$login = addslashes($login);
$login = htmlspecialchars($login);
if ($_GET['login'] != '') { //jezeli ktos przez adres probuje kombinowac
exit;
}
if ($_GET['haslo'] != '') { //jezeli ktos przez adres probuje kombinowac
exit;
}
$haslo = md5($haslo); //szyfrowanie hasla
if (!$login OR empty($login)) {
echo '
Wypełnij pole z loginem!';
include("login.php");
exit;
}
if (!$haslo OR empty($haslo)) {
echo '
Wypełnij pole z hasłem!';
include("register.php");
exit;
}
$istnick = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `uzytkownicy` WHERE `nick` = '$login' AND `haslo` = '$haslo'")); // sprawdzenie czy istnieje uzytkownik o takim nicku i hasle
if ($istnick[0] == 0) {
echo 'Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.';
} else {
$_SESSION['nick'] = $login;
$_SESSION['haslo']=$haslo; if ((empty($login)) AND (empty($haslo))) {
echo '
Nie byłeś zalogowany albo zostałeś wylogowany
Strona Główna
';
exit;
}
$user = mysql_fetch_array(mysql_query("SELECT * FROM uzytkownicy WHERE `nick`='$login' AND `haslo`='$haslo' LIMIT 1")); if(empty($user[id])OR!isset($user[id])) {
echo '
Nieprawidłowe logowanie.
';
exit;
}
// tresc dla zalogowanego uzytkownika
[/code]