Stworzyłem sobie stronkę gdzie potrzebny jest dostęp. Problem w tym, że mi się loguje tylko na raz (aż nie przejdę na inną strone lub ją odświeżę):
<?php
$title='Instrukcje';
include ('dodatki/bonus.php');
include ('meta.php');
include ('gora_logo.php');
lewe_menu ();
open_title();
polacz_baza();
if(!isset($_SESSION["instrukcje"])) {
$_SESSION["instrukcje"]=0;
}
function logowanie () {
echo 'W celu dostępu do działu plików należy się zalogować.<form action="instrukcje.php" method="post"> Login: <input type="text" name="login" /><br />
Hasło: <input type="password" name="haslo" /><br />
<input type="submit" name="submit" value="wyślij" />
</form>';
}
if($_SESSION["instrukcje"]!=1)
{
if(!empty($_POST["login"]) || !empty($_POST["haslo"])) {
if($licz_pyt>0)
{
$_SESSION["instrukcje"]=1;
}
else
{
logowanie();
echo 'Podano złe dane!!!'; }
}
else
{
logowanie();
}
}
if($_SESSION["instrukcje"]==1)
{
$strona = $_GET['strona'];
if($strona == FALSE)
{
$strona = 0;
}
$ile_na_stronie = 5;
$query = mysql_query("SELECT * FROM instrukcje"); //zamienić * na id $strony = ceil($wszystkie/$ile_na_stronie);
{
echo 'Strona nie istnieje'; }
else
{
$instrukcje = mysql_query("SELECT * FROM instrukcje ORDER by tytul ASC LIMIT ".$strona.", ".$ile_na_stronie.";"); //zmienna $rekord jest przypisana wierszowi (rekordowi) zmiennej $news a następnie pobieranie danych z konkretnych kolumn (komórka po komórce)
{
{
$tytul = $rekord['tytul'];
$opis = $rekord['opis'];
$wykladowca = $rekord['wykladowca'];
$plik = $rekord['plik'];
$rozmiar = $rekord['rozmiar'];
//funkcja nl2br odpowiada za odpowiednie wyświetlanie po przez użycie np. znaków następnej linii
echo '<table align="center" border="1" width="90%" style="border: 2pt dotted #4169E1;"><tr><td class="text"><font color="#FF0000"-><h2>_||_ '.$tytul.' _||_</h2></font> Informacje: '.($opis).'
<a href="./upload/'.($plik).'"><img src="./grafika/pobierz.gif" align="right" border="0"></a><br />
Wykładowca: '.($wykladowca).'<br />
Rozmiar: '.($rozmiar).' kB<br />
</td></tr></table><br />';
echo("<p align=\"center\"><br />| "); for($i = 0; $i < $strony; $i++)
{
$int = $i+1;
echo "<a href=instrukcje.php?strona=".$i*$ile_na_stronie.">".$int."</a> | "; }
}
}
else
{
echo 'Chwilowo nie ma dostępnych plików'; }
}
}
close_title();
include ('./stopka.php');
?>
Z kolei gdy zamienię ten urywek kodu np. na echo 'aaaa'; to już nie ma problemu. Można przejśc na inną stronę lub odświeżyć i problem znika:
$strona = $_GET['strona'];
if($strona == FALSE)
{
$strona = 0;
}
$ile_na_stronie = 5;
$query = mysql_query("SELECT * FROM instrukcje"); //zamienić * na id $strony = ceil($wszystkie/$ile_na_stronie);
{
echo 'Strona nie istnieje'; }
else
{
$instrukcje = mysql_query("SELECT * FROM instrukcje ORDER by tytul ASC LIMIT ".$strona.", ".$ile_na_stronie.";"); //zmienna $rekord jest przypisana wierszowi (rekordowi) zmiennej $news a następnie pobieranie danych z konkretnych kolumn (komórka po komórce)
{
{
$tytul = $rekord['tytul'];
$opis = $rekord['opis'];
$wykladowca = $rekord['wykladowca'];
$plik = $rekord['plik'];
$rozmiar = $rekord['rozmiar'];
//funkcja nl2br odpowiada za odpowiednie wyświetlanie po przez użycie np. znaków następnej linii
echo '<table align="center" border="1" width="90%" style="border: 2pt dotted #4169E1;"><tr><td class="text"><font color="#FF0000"-><h2>_||_ '.$tytul.' _||_</h2></font> Informacje: '.($opis).'
<a href="./upload/'.($plik).'"><img src="./grafika/pobierz.gif" align="right" border="0"></a><br />
Wykładowca: '.($wykladowca).'<br />
Rozmiar: '.($rozmiar).' kB<br />
</td></tr></table><br />';
echo("<p align=\"center\"><br />| "); for($i = 0; $i < $strony; $i++)
{
$int = $i+1;
echo "<a href=instrukcje.php?strona=".$i*$ile_na_stronie.">".$int."</a> | "; }
}
}
else
{
echo 'Chwilowo nie ma dostępnych plików'; }
Mi się wydaje, że po prostu w tym kawałku gubi
Kod
$_SESSION["instrukcje"]=1;
, ale nie wiem dlaczego
Ten post edytował radziowie 19.01.2011, 21:03:36