Zablokowanie dostępu mimo spełnienia warunku.

0

Cześć. Mam sobie kod który wyświetla mi tekst i tworzy dwa buttony, jeden o nazwie 'Odrzuć' a drugi 'Akceptuj'. Problem polega na tym, że kiedy nacisnę jakiś guzik blokuje mi dostęp do strony.

if($row['rank'] != 0)

Oczywiście wcześniej pobieram dane z bazy i zapisuję do tablicy. Wszystko działa dopóki ktoś nie kliknie tego guzika. Proszę o pomoc, z góry dzięki.

1

Czyli Twój problem polega na tym, że nie wiesz jak odróżnić, który przycisk został wciśnięty?

W formularzu nazywasz sobie oba przyciski tak samo i nadajesz im inne wartości (value):

<input name="bsubmit" type="submit" value="Zatwierdz" />
<input name="bsubmit" type="submit" value="Odrzuc" />

W kodzie strony wyciągasz wartość przycisku

<?php
   $_GET('bsubmit');
?>

w zależności, czy będzie to "Zatwierdz", czy też "Odrzuc" będziesz wykonywał inną akcję.

Za mało kodu dałeś, aby określić przyczynę blokowania dostępu do strony.

0
<?php
include_once("inc/include.php");
session_start();
if($_SESSION['zalogowany'] != 0)
{	
	$sel = mysql_query("SELECT * FROM users WHERE id='".$_SESSION['id']."' ");
	$row = mysql_fetch_assoc($sel);

	if($row['rank'] != 0)
	{
		$na_stronie = 3; // ilość wpisów na 1 stronie
		$tabela = 'podania'; // tu wpisz nazwę tabeli, którą chcesz stronicować.
		$wynik = mysql_query("SELECT COUNT(id) FROM $tabela");
		$a = mysql_fetch_row($wynik);
		$liczba_wpisow = $a[0];
		$liczba_stron = ceil($liczba_wpisow / $na_stronie);
    
		if (isset($_GET['strona']))
		{
			if ($_GET['strona'] < 1 || $_GET['strona'] > $liczba_stron) $strona = 1;

			else $strona = $_GET['strona'];

		} else $strona = 1;

		$od = $na_stronie * ($strona - 1);

		$zapytanie = "SELECT title, content, status FROM $tabela ORDER BY id LIMIT $od , $na_stronie";

		$wynik = mysql_query($zapytanie);
		while($row = mysql_fetch_assoc($wynik))
		{
			$id = $row['id'];
			if($row['status'] == 1)
			{
				echo '';
			} else echo 'Link: '.$row['title'].'<br>Tresc: '.$row['content'].'<br><form method="post" action="check.php"><input type="submit" name="1" value="Akceptuj"> || <input type="submit" name="2" value="Odrzuć"><br>';
		}
		
		if($wynik == 0)
		{
			echo 'Nie ma żadnych podań!';
		}

		if ($liczba_wpisow > $na_stronie) {

			$poprzednia = $strona - 1;

			$nastepna = $strona + 1;



			if ($poprzednia > 0)
			{
			echo '<a href="check.php?strona='.$poprzednia.'">Poprzednia</a>';
			}
        

        if ($nastepna <= $liczba_stron)
		{
		echo '<a href="check.php?strona='.$nastepna.'">Następna</a>';
		}
		}
		
		if(isset($_POST['1']))
		{
			$sql = mysql_query("UPDATE podania SET status='1' WHERE id='".$id."' ");
		}
		if(isset($_POST['2']))
		{
			$sql = mysql_query("UPDATE podania SET status='2' WHERE id='".$id."' ");
		}

    } else echo 'Nie masz dostępu do tej strony';
} else echo 'Nie jesteś zalogowany!';
?>

Jest to mój cały kod. Jeśli nacisnę jakikolwiek guzik blokuje mi dostęp do strony mimo to że 'rank' w bazie danych jest nadal inny od 0.

1 użytkowników online, w tym zalogowanych: 0, gości: 1