Może kilka słow wyjasnienia aby było łatwiej zrozumieć sens.
Kod odpowiedzialny jest za oddanie głosu na człowieka który wyświetla się w jakimś miejscu strony.
Każdy człowiek ma w "bazie" danych swój numer, który jest w kodzie umieszczany w zmiennej q.
Oddanie głosu poprzez wciśnięcie buttona ma za zadanie dopisać 1 głos do tabeli "baza" w rekordzie człowieka o nr q, w polu "nie".
Na początku kodu ustawione jest wywołanie sesji, które przekazuje login użytkownika.
Ograniczeniem kodu ma być możliwość oddania jednego głosu przez jednego użytkownika.
Wciśnięcie buttona nie przenosi nas do żadnej strony. Przechodzi jedynie do pętli if gdzie następuje sprawdzenie czy ten login oddał już głos (dzięki zmiennej $nie_chk1) i następnie wykonuje stosowne wpisy do bazy, bądź wyświetla komunikaty.
Może teraz będzie Ci łatwiej coś zasugerować. To co widzisz to kompletny kod.
Pozdrawiam
Jarek
Kod
<?php
session_start();
?>
<?php
include('db_fns.php');
$glos=$q;
$nie_check1=mysql_query("SELECT * FROM glos_nie WHERE ip='".$glos."' AND login='".$_SESSION['login']."'");
$nie_chk1=mysql_num_rows($nie_check1);
echo "$nie_chk1";
echo "'".$_SESSION['login']."'";
echo ".$glos.";
?>
<a align="right"><form id="form2" name="form2" method="get"><input type="submit" style="color:#FFFFFF; background-color:#9D080D;" id="button_2" name="button_2" value=" NIE " /></form></a>
<?php
if(isset($_GET['button_2']) && $_SESSION['zalogowany']==1 && $nie_chk1==0)
{
$mod_nie=mysql_query("UPDATE baza SET `nie`=`nie`+1 WHERE id='".$glos."';");
$ip_nie=mysql_query("INSERT INTO glos_nie VALUES('".$glos."','".$_SESSION['login']."')");
echo "Głos został oddany";
}
elseif(isset($_GET['button_2']) && $_SESSION['zalogowany']==1 && $nie_chk1!=0){
echo "Oddano już głos na tę osobę";
}
elseif(isset($_GET['button_2']) && !isset($_SESSON['zalogowany'])){
echo "Nie jesteś zalogowany. Aby zagłosować<br>zaloguj się";
}
mysql_close();
?>