Tell me why voting buttons are displayed even after voting and how to fix it? The first time I work with cookies.

<?php function showRes() { $idZaNov = fopen('php/golos/zaNov.txt', 'r'); $infZaNov = fgets($idZaNov, 999); echo "<br />"."За Новороссию - ".$infZaNov."<br />"; $idZaUkr = fopen('php/golos/zaUkr.txt', 'r'); $infZaUkr = fgets($idZaUkr, 999); echo "За Единую украину - ".$infZaUkr; fclose($idZaNov); fclose($idZaUkr); } function addRes ($addTamp) { if($addTamp == 1) { $idZaNov = fopen('php/golos/zaNov.txt', 'r'); $infZaNov = fgets($idZaNov, 999); $oldResNov = $infZaNov; fclose($idZaNov); $idZaNov = fopen("php/golos/zaNov.txt", "w"); fwrite($idZaNov, $oldResNov+1); fclose($idZaNov); $_SESSION['golo'] == "Nov"; } else if ($addTamp == 2) { $idZaUkr = fopen('php/golos/zaUkr.txt', 'r'); $infZaUkr = fgets($idZaUkr, 999); $oldResUkr = $infZaUkr; fclose($idZaUkr); $idZaUkr = fopen("php/golos/zaUkr.txt", "w"); fwrite($idZaUkr, $oldResUkr+1); fclose($idZaUkr); $_SESSION['golo'] == "Ukr"; } } if ($_SESSION['golo'] == "Nov") { echo "Вы уже голосовали - за Новороссию"; showRes(); } elseif ($_SESSION['golo'] == "Ukr") { echo "Вы уже голосовали - за Новороссию"; showRes(); } elseif ($_SESSION['golo'] == NULL) { if(isset($_REQUEST['nov']) ) { echo('Вы проголосовали за: Новороссию'); showRes(); addRes (1); } else if (isset($_REQUEST['ukr'])) { echo('Вы проголосовали за: Единую Украины'); showRes(); addRes (2); } else { } ?> <form method="POST"> <input type='submit' name="nov" value="Новороссия" > <input type='submit' name="ukr" value="Объеденная Украина" > </form> <?PHP } ?> 
  • @mkrichet, If you are given a comprehensive answer, mark it as correct (click on the check mark next to the selected answer). - Nicolas Chabanovsky

1 answer 1

Everything is very bad. Let us drop a caustic comment that cheating the rating in the vote on cookies is a matter of only a small amount of time.

Let's get to the point.
1) If you do not have auto-session creation, you must register the function at the very beginning

 session_start(); 

Before any conclusion.
2) Nothing is entered into the session.

 $_SESSION['golo'] == "Ukr"; 

Will COMPARE the session variable and the string. You need one equal sign.

3)

  if ($_SESSION['golo'] == "Nov") { echo "Вы уже голосовали - за Новороссию"; showRes(); } elseif ($_SESSION['golo'] == "Ukr") { echo "Вы уже голосовали - за Новороссию"; showRes(); } 

Ukrainians who voted for Ukraine will be happy ...