W swojej aplikacji webowej chciałbym dokonywać możliwości zmian pól w bazodanowej tabeli poprzez wysyłanie zapytań za pomocą języka SQL do bazy MySQL, wykorzystując xampp/php-my-admin. Wybór nazwy avatara odbywa się za pomocą formularza z radio-buttonami, które dzięki stylizacji w CSS są obrazkami.
Nie potrafię znaleźć luki w moim kodzie, bo jakkolwiek zapytanie nie jest realizowane w bazie, nie dostaję również informacji o błędzie lub niezdefiniowaniu zmiennych, w odróżnieniu od np. dodawania użytkowników przy rejestracji, które łączy się z bazą i działa poprawnie. Próbowałem umieszczać instrukcję zapytania w instrukcji warunkowej, użycia funkcji mysqli_query oraz umieszczania kodu .php w oddzielnym pliku z uwzględnieniem pola action, jednak bezskutecznie...
<?php
session_start();
if (!isset($_SESSION['logged'])) {
header('Location: get-to-know-squash-court-better');
exit();
}
require_once "connect.php";
mysqli_report(MYSQLI_REPORT_STRICT);
if (isset($_POST['avatar'])) {
try {
$connection = new mysqli($host, $dbUser, $dbPassword, $dbName);
if ($connection->connect_errno != 0)
throw new Exception(mysqli_connect_errno());
else {
$new_avatar = $_POST['avatar'];
$nick = $_SESSION['nick'];
$connection->query("UPDATE players SET avatar='$new_avatar' WHERE nick='$nick'");
$connection->close();
}
} catch (Exception $exception) {
$_SESSION['error_login'] = "Server error: $exception. Update avatar another time, please...";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/women.css">
<title>Title</title>
</head>
<body>
<form method="post">
<div class="selector">
<input id="woman1" type="radio" name="avatar" value="woman1.png"
<?php echo ($_SESSION['avatar'] == 'woman1.png') ? 'checked' : '' ?>/>
<label class="face woman1" for="woman1"></label>
<input id="woman2" type="radio" name="avatar" value="woman2.png"
<?php echo ($_SESSION['avatar'] == 'woman2.png') ? 'checked' : '' ?>/>
<label class="face woman2" for="woman2"></label>
<input id="woman3" type="radio" name="avatar" value="woman3.png"
<?php echo ($_SESSION['avatar'] == 'woman3.png') ? 'checked' : '' ?>/>
<label class="face woman3" for="woman3"></label>
<input id="woman4" type="radio" name="avatar" value="woman4.png"
<?php echo ($_SESSION['avatar'] == 'woman4.png') ? 'checked' : '' ?>/>
<label class="face woman4" for="woman4"></label>
<input id="woman5" type="radio" name="avatar" value="woman5.png"
<?php echo ($_SESSION['avatar'] == 'woman5.png') ? 'checked' : '' ?>/>
<label class="face woman5" for="woman5"></label>
<input id="woman6" type="radio" name="avatar" value="woman6.png"
<?php echo ($_SESSION['avatar'] == 'woman6.png') ? 'checked' : '' ?>/>
<label class="face woman6" for="woman6"></label>
<input id="woman7" type="radio" name="avatar" value="woman7.png"
<?php echo ($_SESSION['avatar'] == 'woman7.png') ? 'checked' : '' ?>/>
<label class="face woman7" for="woman7"></label>
<input id="woman8" type="radio" name="avatar" value="woman8.png"
<?php echo ($_SESSION['avatar'] == 'woman8.png') ? 'checked' : '' ?>/>
<label class="face woman8" for="woman8"></label>
<input id="woman9" type="radio" name="avatar" value="woman9.png"
<?php echo ($_SESSION['avatar'] == 'woman9.png') ? 'checked' : '' ?>/>
<label class="face woman9" for="woman9"></label>
<input id="woman10" type="radio" name="avatar" value="woman10.png"
<?php echo ($_SESSION['avatar'] == 'woman10.png') ? 'checked' : '' ?>/>
<label class="face woman10" for="woman10"></label>
<input id="woman11" type="radio" name="avatar" value="woman11.png"
<?php echo ($_SESSION['avatar'] == 'woman11.png') ? 'checked' : '' ?>/>
<label class="face woman11" for="woman11"></label>
<input id="woman12" type="radio" name="avatar" value="woman12.png"
<?php echo ($_SESSION['avatar'] == 'woman12.png') ? 'checked' : '' ?>/>
<label class="face woman12" for="woman12"></label>
<input id="woman13" type="radio" name="avatar" value="woman13.png"
<?php echo ($_SESSION['avatar'] == 'woman13.png') ? 'checked' : '' ?>/>
<label class="face woman13" for="woman13"></label>
<input id="woman14" type="radio" name="avatar" value="woman14.png"
<?php echo ($_SESSION['avatar'] == 'woman14.png') ? 'checked' : '' ?>/>
<label class="face woman14" for="woman14"></label>
<input id="woman15" type="radio" name="avatar" value="woman15.png"
<?php echo ($_SESSION['avatar'] == 'woman15.png') ? 'checked' : '' ?>/>
<label class="face woman15" for="woman15"></label>
<input id="woman16" type="radio" name="avatar" value="woman16.png"
<?php echo ($_SESSION['avatar'] == 'woman16.png') ? 'checked' : '' ?>/>
<label class="face woman16" for="woman16"></label>
<input id="woman17" type="radio" name="avatar" value="woman17.png"
<?php echo ($_SESSION['avatar'] == 'woman17.png') ? 'checked' : '' ?>/>
<label class="face woman17" for="woman17"></label>
<input id="woman18" type="radio" name="avatar" value="woman18.png"
<?php echo ($_SESSION['avatar'] == 'woman18.png') ? 'checked' : '' ?>/>
<label class="face woman18" for="woman18"></label>
<input id="woman19" type="radio" name="avatar" value="woman19.png"
<?php echo ($_SESSION['avatar'] == 'woman19.png') ? 'checked' : '' ?>/>
<label class="face woman19" for="woman19"></label>
<input id="woman20" type="radio" name="avatar" value="woman20.png"
<?php echo ($_SESSION['avatar'] == 'woman20.png') ? 'checked' : '' ?>/>
<label class="face woman20" for="woman20"></label>
<br /><br /><br />
<input type="submit" value="Update avatar">
</div>
</form>
</body>
</html>