Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] kolejny raz problem z sesją
Forum PHP.pl > Forum > Przedszkole
faflok
Witam

Próbuje stworzyć sesje ale jak dotąd nic mi nie wychodzi. Trochę poprzeglądałem to forum, ale wszystkie porady biorą w łeb. Po prostu sesja nie działa, albo to ja do dupy jestem sad.gif
Poniższy wzór znalazłem i trochę modyfikowałem, ale od samego początku nie wychodzi.

Oto plik index.php

Kod
<?php
session_start();
session_register("zalogowany");

if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]="0";

mysql_connect('localhost', '0000', '11111')or die("Nie można nawiązać połączenia z bazą");
mysql_select_db('xxxxxx')or die("Wystąpił błąd podczas wybierania bazy danych");

function ShowLogin($komunikat=""){
     echo "$komunikat<br>";
echo "<form action='index.php' method='post'>";
echo "<p style='margin-top: 0; margin-bottom: 0'>&nbsp;</p>";
echo "<p style='margin-top: 0; margin-bottom: 0' align='center'><b><font face='Tahoma'>Admin Login</font></b></p>";
echo "<p style='margin-top: 0; margin-bottom: 0'>&nbsp;</p>";

echo "<p align='center' style='margin-top: 0; margin-bottom: 0'><font face='Tahoma' size='2' color='#0000FF'><b>User name: &nbsp; &nbsp;

</b></font><label><input type='text' name='user'  size='30'/></label></p>";
echo "<p align='center' style='margin-top: 0; margin-bottom: 0'>&nbsp;</p>";

echo "<p align='center' style='margin-top: 0; margin-bottom: 0'><font face='Tahoma' size='2' color='#0000FF'><b>Wachtwoord:&nbsp; </b></font><label><input

type='password' name='wachtwoord'  size='30'/></label></p>";
echo "<p align='center' style='margin-top: 0; margin-bottom: 0'>&nbsp;</p>";

echo "<p align='center' style='margin-top: 0; margin-bottom: 0'><font face='Tahoma'><input type='submit' value='LOGIN' />&nbsp;&nbsp;<input type='reset'

value='CANCEL'></font></p>";
echo "</form>";
     echo "Jeśli nie jesteś zarejestrowany, <a href='rejestruj.php'>tu znajdziesz formularz</a>";
}

?>

<?php
if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
if($_SESSION["zalogowany"]!=1){
     if(!empty($_POST["user"]) && !empty($_POST["wachtwoord"])){
         if(mysql_num_rows(mysql_query("SELECT user, wachtwoord FROM users WHERE user = '".htmlspecialchars($_POST["user"])."' AND wachtwoord =

'".htmlspecialchars($_POST["wachtwoord"])."'"))){
             echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>";
             $_SESSION["zalogowany"]=1;
             }
         else echo ShowLogin("Podano złe dane!!!");
         }
     else ShowLogin();
}
else{
?>
Gratulacje! Zalogowałeś się pomyślnie! Możesz przejśc teraz do innych podstron, np. do <a href="stronka.php">tej</a>
<br><a href='index.php?wyloguj=tak'>wyloguj się</a>
<?php
}
?>

<?php mysql_close(); ?>


I kod sprawdzający admin.php

Kod
<?php
session_start();

if($_SESSION["zalogowany"]=="0"){echo "nie masz dostępu do tej części witryny. <a href='index.php'>Zaloguj się</a></body></html>;"; exit();}
?>


Po wyświeleniu index.php zaraz ma informacje:

Kod
[Warning:  session_start() [[url="http://dhup.nl/admin/net/function.session-start"]function.session-start[/url]]: Cannot send session cache limiter - headers already sent (output started at /home/dhupnl/public_html/admin/net/index.php:1) in /home/dhupnl/public_html/admin/net/index.php[/b] on line 2


Ta infomacja pojawiała mi się często jak próbowałem używać innych wzorów na sesje.


Mam nadzieje że znajdzie się ktoś cierpliwy smile.gif
JoShiMa
Wygląda jak by przed session_start(); coś było. Czy przed <?php coś jest?
mike
Cytat(faflok @ 3.06.2008, 12:29:45 ) *
Próbuje stworzyć sesje ale jak dotąd nic mi nie wychodzi. Trochę poprzeglądałem to forum, ale wszystkie porady biorą w łeb. Po prostu sesja nie działa, albo to ja do dupy jestem sad.gif
To drugie.
W dokumentacji czytamy:
Cytat
Uwaga

Przy korzystaniu z tablicy $_SESSION (lub $HTTP_SESSION_VARS) nie należy korzystać z funkcji session_register(), session_is_registered() i session_unregister().
JoShiMa
A może chodzi o to:
manual/pl/function.session-register.php" title="Zobacz w manualu PHP" target="_manual
Uwaga

Jeśli skrypt ma działać niezależnie od ustawienia register_globals, niezbędne jest użycie tablicy $_SESSION, jako że elementy $_SESSION są atomatycznie rejestrowane. Jeśli skrypt korzysta z session_register(), nie będzie on działać w środowisku z wyłączoną dyrektywą register_globals.
kszychu
faflok: ja tylko poproszę o poprawne używanie bbcode podczas pisania postów. Poprawi to ich czytelność.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.