Handle mysqli errors

- Handle mysql errors that are no longer silenced per default for new php versions
- Handled error when log file cannot be created
This commit is contained in:
foin137
2023-11-05 15:44:24 +01:00
parent 77b11c0ac2
commit 93b38cfc47
2 changed files with 78 additions and 46 deletions

View File

@@ -143,8 +143,14 @@ p#liste {
else
{
//Schauen, ob es auch einen Eintrag zu diesem Spiel in der Datenbank gibt...
$spiel_existiert = True;
try{
$alleres = $mysqli->Query("SELECT * FROM $spielID"."_spieler");
if(isset($alleres->num_rows))
}
catch (Exception $e) {
$spiel_existiert = False;
}
if($spiel_existiert && 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 = ".(int)$_COOKIE['verifizierungsnr']);
@@ -1513,8 +1519,14 @@ p#liste {
}
$spielID = rand(10000,99999);
//nachschauen, ob ein Spiel mit dieser Nummer bereits existiert
$existiert = False;
try {
$res = $mysqli->Query("SELECT * FROM $spielID"."_spieler");
if(isset($res->num_rows)){
}
catch (mysqli_sql_exception $e){
$existiert = True;
}
if(!$existiert && isset($res->num_rows)){
//Tabelle existiert
}else{
@@ -1635,8 +1647,14 @@ p#liste {
if ($_POST['ihrName'] != "" && strpos($_POST['ihrName'],"$")===false && strpos($_POST['ihrName'],";")===false && strpos($_POST['ihrName'],'"')===false && strpos($_POST['ihrName'],"'")===false && strpos($_POST['ihrName'],"=")===false)
{
//Name wurde eingegeben. Existiert auch ein Spiel dieser Nummer?
$existiert = False;
try{
$res = $mysqli->Query("SELECT * FROM $spielID"."_spieler");
if(isset($res->num_rows))
}
catch(mysqli_sql_exception $e){
$existiert = True;
}
if(!$existiert && isset($res->num_rows))
{
//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");
@@ -1645,6 +1663,7 @@ p#liste {
$stmt->bind_param('s',$_POST['ihrName']);
$stmt->execute();
$nameRes = $stmt->get_result();
$stmt->close();
if ($nameRes->num_rows <= 0 && !in_array(strtolower($_POST['ihrName']),$verboteneNamen))
{
//Name gültig
@@ -1696,7 +1715,6 @@ p#liste {
{
echo "<p class='error' >Der angegebene Name ist bereits vorhanden oder ungültig</p>";
}
$stmt->close();
}
else
{

View File

@@ -30,8 +30,14 @@ function loescheAlteSpiele($mysqli)
for ($i = 10000; $i<= 99999; $i++)
{
$existiert = True;
try{
$alleres = $mysqli ->Query("SELECT * FROM $i"."_game");
if(isset($alleres->num_rows))
}
catch (mysqli_sql_exception $e){
$existiert = False;
}
if($existiert && isset($alleres->num_rows))
{
$temp = $alleres->fetch_assoc();
if ($temp['letzterAufruf'] < $zeitpunkt)
@@ -1658,6 +1664,7 @@ function writeGameToLog($mysqli)
$spielID = $_COOKIE['SpielID'];
$fileName = "log/Werwolf_log_".date("Y_m").".log";
$myfile = fopen($fileName, "a");
if ($myfile){
fwrite($myfile,"\n--- SPIEL BEENDET --- \n");
fwrite($myfile,"SpielID: $spielID \n");
fwrite($myfile,"SpielEnde: ".date("d.m.Y, H:i:s")."\n");
@@ -1683,17 +1690,20 @@ function writeGameToLog($mysqli)
fwrite($myfile,"--- ENDE DES SPIELLOGS ---\n");
fclose($myfile);
}
}
function writeGameToLogSpielErstellen($mysqli, $spielID, $name)
{
$fileName = "log/Werwolf_log_".date("Y_m").".log";
$myfile = fopen($fileName, "a");
if ($myfile){
fwrite($myfile,"\n--- NEUES SPIEL ERSTELLT --- \n");
fwrite($myfile,"SpielID: $spielID \n");
fwrite($myfile,"Zeit: ".date("d.m.Y, H:i:s")."\n");
fwrite($myfile,"Name des Erstellers: $name \n");
fclose($myfile);
}
}
function checkeSiegbedingungen($mysqli)
{
@@ -1813,11 +1823,13 @@ function setBereit($mysqli,$spielerID,$bereit)
function gameAssoc($mysqli)
{
$spielID = $_COOKIE['SpielID'];
try{
if ($gameRes = $mysqli->Query("SELECT * FROM $spielID"."_game"))
{
$gameA = $gameRes->fetch_assoc();
return $gameA;
}
}catch(mysqli_sql_exception $e) {}
return false;
}
@@ -1835,11 +1847,13 @@ function getName($mysqli, $spielerID)
//Gibt den Namen des Spielers mit der $spielerID zurück
$spielID = $_COOKIE['SpielID'];
$spielerID = (int)$spielerID;
try{
if ($res = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE id = $spielerID"))
{
$temp = $res->fetch_assoc();
return $temp['name'];
}
} catch(mysqli_sql_exception $e) {}
return "Unknown";
}