diff --git a/Werwolf.php b/Werwolf.php index 4e581c3..77415c2 100644 --- a/Werwolf.php +++ b/Werwolf.php @@ -120,6 +120,8 @@ p#liste { //Schauen, ob wir uns bereits in einem Spiel befinden! if (isset($_COOKIE['SpielID']) && isset($_COOKIE['eigeneID'])) { + $_COOKIE['SpielID'] = (int)$_COOKIE['SpielID']; + $_COOKIE['eigeneID'] = (int)$_COOKIE['eigeneID']; $spielID = $_COOKIE['SpielID']; $eigeneID = $_COOKIE['eigeneID']; if (isset($_POST['spielLoeschen'])) @@ -140,7 +142,7 @@ p#liste { if(isset($alleres->num_rows)) { //Schauen, ob es auch mich als Spieler gibt und meine verifizierungsnr stimmt - $spielerResult = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE id = $eigeneID AND verifizierungsnr = ".$_COOKIE['verifizierungsnr']); + $spielerResult = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE id = $eigeneID AND verifizierungsnr = ".(int)$_COOKIE['verifizierungsnr']); if ($spielerResult->num_rows >= 1) { @@ -155,11 +157,14 @@ p#liste { //Nachschauen, ob ich Bürgermeister bin ... Dann nämlich anschreiben ... $buergermRes = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE buergermeister = 1"); - $buergermAss = $buergermRes->fetch_assoc(); - if ($buergermAss['id']==$eigeneID) + if ($buergermRes->num_rows > 0) { - //Ich bin Bürgermeister - echo "
Sie sind Bürgermeister
"; + $buergermAss = $buergermRes->fetch_assoc(); + if ($buergermAss['id']==$eigeneID) + { + //Ich bin Bürgermeister + echo "Sie sind Bürgermeister
"; + } } //Bevor wir noch auf die Phase schauen, schauen wir, ob irgendetwas unabhängig von der Phase ist @@ -205,7 +210,7 @@ p#liste { //Dann setze buergermeisterDarfWeitergeben wieder auf 0 $mysqli->Query("UPDATE $spielID"."_spieler SET buergermeisterDarfWeitergeben = 0, reload = 1 WHERE id = $eigeneID"); $mysqli->Query("UPDATE $spielID"."_spieler SET reload = 1"); - $neuerBuergermeister = $_POST['buergermeisterID']; + $neuerBuergermeister = (int)$_POST['buergermeisterID']; $mysqli->Query("UPDATE $spielID"."_spieler SET buergermeister = 1 WHERE id = $neuerBuergermeister"); toGameLog($mysqli,getName($mysqli,$neuerBuergermeister)." wurde als Nachfolger des Bürgermeisters eingesetzt"); toAllPlayerLog($mysqli,getName($mysqli,$neuerBuergermeister)." wurde als Nachfolger des Bürgermeisters eingesetzt"); @@ -473,7 +478,7 @@ p#liste { echo "Sie spielen nun gemeinsam mit Ihrem Geliebten, gehören Sie unterschiedlichen Gruppierungen an, gewinnen Sie nur, wenn Sie alle anderen Spieler töten. Ansonsten gewinnen Sie wie gewohnt mit Ihrer Gruppierung (Dorfbewohner, Werwölfe)
"; //Auch den Charakter anzeigen - $verliebtRes = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE id = ".$eigeneAssoc['verliebtMit']); + $verliebtRes = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE id = ".(int)$eigeneAssoc['verliebtMit']); $verliebtAss = $verliebtRes->fetch_assoc(); echo "Identität: ".nachtidentitaetAlsString($verliebtAss['nachtIdentitaet'])."
"; toPlayerLog($mysqli,getName($mysqli,$eigeneAssoc['verliebtMit'])." ist ".nachtidentitaetAlsString($verliebtAss['nachtIdentitaet']),$eigeneID); @@ -720,7 +725,7 @@ p#liste { if (isset($_POST['werwolfAuswahl']) && !$zeitAbgelaufen) { //einmal die Wahl eintragen - $wahlID = $_POST['werwolfID']; + $wahlID = (int)$_POST['werwolfID']; $mysqli->Query("UPDATE $spielID"."_spieler SET wahlAuf = $wahlID WHERE id = $eigeneID"); //Schauen, ob wir einstimmig sein müssen @@ -838,7 +843,7 @@ p#liste { $eigeneAssoc=eigeneAssoc($mysqli); if ($eigeneAssoc['hexeHeiltraenke']>0) { - $heilTraenkeNeu = $eigeneAssoc['hexeHeiltraenke']-1; + $heilTraenkeNeu = (int)$eigeneAssoc['hexeHeiltraenke']-1; $mysqli->Query("UPDATE $spielID"."_spieler SET hexeHeiltraenke = $heilTraenkeNeu, hexeHeilt = 1 WHERE id = $eigeneID"); toPlayerLog($mysqli,"1 Heiltrank verwendet",$eigeneID); toGameLog($mysqli,"Die Hexe heilt das Opfer der Werwölfe"); @@ -862,8 +867,8 @@ p#liste { $eigeneAssoc=eigeneAssoc($mysqli); if ($eigeneAssoc['hexeTodestraenke']>0) { - $todestraenkeNeu = $eigeneAssoc['hexeTodestraenke']-1; - $hexenOpfer = $_POST['toeten']; + $todestraenkeNeu = (int)$eigeneAssoc['hexeTodestraenke']-1; + $hexenOpfer = (int)$_POST['toeten']; $mysqli->Query("UPDATE $spielID"."_spieler SET hexeTodestraenke = $todestraenkeNeu, hexenOpfer = $hexenOpfer WHERE id = $eigeneID"); toPlayerLog($mysqli,"1 Todestrank verwendet für Spieler ".getName($mysqli,$hexenOpfer),$eigeneID); toGameLog($mysqli,"Die Hexe verwendet einen Todestrank, um ".getName($mysqli,$hexenOpfer)." zu töten"); @@ -1019,7 +1024,7 @@ p#liste { if (isset($_POST['buergermeisterWahlAuswahl'])) { //einmal die Wahl eintragen - $wahlID = $_POST['buergermeisterID']; + $wahlID = (int)$_POST['buergermeisterID']; $mysqli->Query("UPDATE $spielID"."_spieler SET wahlAuf = $wahlID WHERE id = $eigeneID"); //Dann schauen, ob wir schon eine Mehrheit haben $alleSpielerRes = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE lebt = 1"); @@ -1113,7 +1118,7 @@ p#liste { { //Ich klage gerade jemanden an if ($_POST['angeklagterID']!=-1) - $mysqli->Query("UPDATE $spielID"."_spieler SET angeklagtVon = $eigeneID WHERE id = ".$_POST['angeklagterID']); + $mysqli->Query("UPDATE $spielID"."_spieler SET angeklagtVon = $eigeneID WHERE id = ".(int)$_POST['angeklagterID']); } else { @@ -1182,7 +1187,7 @@ p#liste { if (isset($_POST['dorfWahlID'])) { //einmal die Wahl eintragen - $wahlID = $_POST['dorfWahlID']; + $wahlID = (int)$_POST['dorfWahlID']; $mysqli->Query("UPDATE $spielID"."_spieler SET wahlAuf = $wahlID WHERE id = $eigeneID"); //Dann schauen, ob wir schon eine Mehrheit haben $alleSpielerRes = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE lebt = 1"); @@ -1310,7 +1315,7 @@ p#liste { if (isset($_POST['dorfWahlID'])) { //einmal die Wahl eintragen - $wahlID = $_POST['dorfWahlID']; + $wahlID = (int)$_POST['dorfWahlID']; $mysqli->Query("UPDATE $spielID"."_spieler SET wahlAuf = $wahlID WHERE id = $eigeneID"); //Dann schauen, ob wir schon eine Mehrheit haben $alleSpielerRes = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE lebt = 1"); @@ -1460,7 +1465,10 @@ p#liste { //Wähle ein Verifizierungs-Passwort aus: //Dieses dient dazu, um festzustellen, ob es tatsächlich der richtige Spieler ist, der eine Seite lädt $verifizierungsnr = rand(2,100000); - $mysqli->Query("INSERT INTO $spielID"."_spieler"." (id, name , spielleiter, lebt, reload, verifizierungsnr) VALUES ( 0 , '".$_POST['ihrName']."', 1 , 0 , 1, $verifizierungsnr)"); + $stmt = $mysqli->prepare("INSERT INTO $spielID"."_spieler"." (id, name , spielleiter, lebt, reload, verifizierungsnr) VALUES ( 0 , ?, 1 , 0 , 1, ?)"); + $stmt->bind_param('si',$_POST['ihrName'],$verifizierungsnr); + $stmt->execute(); + $stmt->close(); $sql2 = " CREATE TABLE `$spielID"."_game` ( `spielphase` INT( 5 ) DEFAULT 0, @@ -1501,7 +1509,6 @@ p#liste { `letzterAufruf` BIGINT ) ;"; $mysqli->Query($sql2); - echo $mysqli->error; $mysqli->Query("INSERT INTO $spielID"."_game (spielphase, letzterAufruf) VALUES (0 , ".time().")"); //Die SpielID groß mitteilen @@ -1540,7 +1547,10 @@ p#liste { //Ein Spiel dieser Nummer existiert! $verboteneNamen = array("niemanden","niemand","keinen","keiner","dorfbewohner","werwolf","seher","seherin","hexe","hexer","jäger","amor","beschützer","paranormaler ermittler","lykantroph","lykantrophin","spion","spionin","mordlustiger","mordlustige","pazifist","pazifistin","alter mann","alter","alte","alte frau","die alten","alten"); //Nachschauen, ob mein Name noch nicht vorkommt... - $nameRes = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE name = '".$_POST['ihrName']."'"); + $stmt = $mysqli->prepare("SELECT * FROM $spielID"."_spieler WHERE name = ?"); + $stmt->bind_param('s',$_POST['ihrName']); + $stmt->execute(); + $nameRes = $stmt->get_result(); if ($nameRes->num_rows <= 0 && !in_array(strtolower($_POST['ihrName']),$verboteneNamen)) { //Name gültig @@ -1562,7 +1572,10 @@ p#liste { //Wähle ein Verifizierungs-Passwort aus: //Dieses dient dazu, um festzustellen, ob es tatsächlich der richtige Spieler ist, der eine Seite lädt $verifizierungsnr = rand(2,100000); // 0 als Standard darf nicht vorkommen - $mysqli->Query("INSERT INTO $spielID"."_spieler"." (id, name , spielleiter, reload, verifizierungsnr) VALUES ( $i , '".$_POST['ihrName']."', 0 , 1, $verifizierungsnr)"); + $stmt = $mysqli->prepare("INSERT INTO $spielID"."_spieler"." (id, name , spielleiter, reload, verifizierungsnr) VALUES ( ? , ?, 0 , 1, ?)"); + $stmt->bind_param('isi', $i, $_POST['ihrName'], $verifizierungsnr); + $stmt->execute(); + $stmt->close(); echo "Sie sind dem Spiel erfolgreich beigetreten!
"; setcookie ("SpielID", $spielID, time()+172800); setcookie ("eigeneID",$i, time()+172800); @@ -1589,6 +1602,7 @@ p#liste { { echo "Der angegebene Name ist bereits vorhanden oder ungültig
"; } + $stmt->close(); } else { @@ -1618,7 +1632,7 @@ p#liste { } ?>