Nefunkční cekies u hlasování

Vyřešeno399 zhlédnutíWebhosting
0

Dobrý den, nán vytvořen skript pro hlasování bez cokies vše funguje. Pokud do daného kódu přidám cokies vykazuje mi to chybu. Může mi někdo poradit? Posílám pouze části kódu

Kód bez Cokies vše funguje

$uloz = $mysqli->query("UPDATE hitparada SET pocet_hlasu='$soucet_hlas' WHERE id = '".$hit."'") or die(mysqli_error());
  if ($uloz == 'true') 
{
echo "<div class='alert alert-success'>Váš hlas do hitparady byl uložen.</div>";
}
else
{
echo "<div class='alert alert-danger'>Váš hlas nebyl uložen.</div>";
}

Kód s Cokies

if (isset($_COOKIE["hit"])) {
    echo "Váš hlas byl již dříve započten.\n";
} else {
    setcookie("hit", $soucet_hlas, strtotime( '+30 days' ));
    $mysqli->query("UPDATE hitparada SET pocet_hlasu='$soucet_hlas' WHERE id = '".$hit."'");
}

Vykazuje mi to chybu na řádku

setcookie("hit", $soucet_hlas, strtotime( '+30 days' ));

Děkuji za pomoc.

Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
MB313456 Vybral nejlepší odpověď 27. 2. 2023
0

Posílám Vám k nahlédnuti celý zdrojový kód ke zpracovaní hlasu.

<?
$username = "****";
$password = "****";
$hostname = "****";
$db_name = "****";
             //connection to the database
$mysqli = new mysqli($hostname, $username, $password, $db_name );
mysqli_set_charset($mysqli,"utf8");    
 /* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}    
     $hit = $_GET['hit'];
 $members = $mysqli->query("SELECT * FROM RZH_hitparada WHERE id = '".$hit."'");
$edit = mysqli_fetch_assoc($members);
 $hlas = $edit["pocet_hlasu"];  
$soucet_hlas = $hlas + 1;
  if (isset("hit")) 
{
echo "Váš hlas byl již dříve započten.\n";
} 
else 
{
setcookie("hit", $soucet_hlas, time() + ( 86400 * 30 ), "/");
$mysqli->query("UPDATE RZH_hitparada SET pocet_hlasu='$soucet_hlas' WHERE id = '".$hit."'");
echo "Děkujeme Vám za Váš hlas.";
}
?>

Ukazuje mi to chybu na řádku 26

Fatal error: Cannot use isset() on the result of an expression (you can use „null !== expression“ instead) in /data/web/virtuals/19078/virtual/www/subdom/radio/hit-hlasuj.php on line 26

Role: Zákazník
MB313456 Změnil status na publikováno 10. 2. 2023
Prohlížíte 1 ze 4 odpovědí, klikněte zde pro zobrazení všech odpovědí.