Dzień dobry :)
Byłbym bardzo wdzięczny, jeśli by ktoś zechciał poświęcić parę chwil na analizę i naprawę tego kodu, bo nie mam pojęcia gdzie szukać błędu.
/*Plik 'game.php':*/
<div id="setwindow" title="Ustawienia" style="width: 600px; height: 400px; background-color: #050505; color: #00ffff;">
<div class="setwindow-head">Ustawienia loginu i hasła</div>
<div class="setwindow-body">
<div>
<div style="font-size: 19px;">Zmiana nazwy:</div>
<div style="float: left; width: 200px; height: 70px;">
Obecna nazwa użytkownika: <a style="color: #00ffff;"><?php echo $_SESSION['user']; ?></a>
</div>
<div style="float: left; margin-left: 20px; width: 320px; height: 30px;">
<form action="setnewlogin.php" id="zmiana-nazwy" method="post">
Nowa nazwa: <input type="text" class="input-text1" name="chgname" placeholder="<?php echo $_SESSION['id']; ?>" />
<input type="submit" name="submit-zmiana-nazwy" value="Zmień" class="input-button1" />
<?php
if (isset($_SESSION['err-username'])){
echo '<div class="register-input-error">'.$_SESSION['err-username'].'</div>';
unset ($_SESSION['err-username']);}
if (isset($_SESSION['err1-username'])){
echo '<div class="register-input-error">'.$_SESSION['err1-username'].'</div>';
unset ($_SESSION['err1-username']);}
if (isset($_SESSION['err2-username'])){
echo '<div class="register-input-error">'.$_SESSION['err2-username'].'</div>';
unset ($_SESSION['err2-username']);}
?>
</form>
</div>
<div style="clear: both;"></div>
</div>
/*A to plik zawierający skrypt mający zaktualizować nazwę w bazie danych 'setnewlogin.php':*/
<?php
session_start();
require_once "connect.php";
$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
$id = $_SESSION['id'];
if (isset($_POST['chgname']))
{
$chgname = $_POST['chgname'];
$udalo_sie = true;
if ((strlen($chgname)<4) || (strlen($chgname)>20))
{
$udalo_sie = false;
$_SESSION['err-chgname'] = "Nazwa musi posiadać od 5 do 20 znaków!";
}
if (ctype_alnum($chgname)==false)
{
$udalo_sie = false;
$_SESSION['err1-chgname'] = "Nazwa nie może zawierać polskich znaków ani cyfr!";
}
mysqli_report(MYSQLI_REPORT_STRICT);
try
{
$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
if ($polaczenie->connect_errno!=0)
{
throw new Exception(mysqli_connect_errno());
}
else
{
$result = $polaczenie->query("SELECT user FROM uzytkownicy WHERE user = '$chgname'");
if(!$result) throw new Exception($polaczenie->error);
$ile_loginow = $result->num_rows;
if($ile_loginow>0)
{
$udalo_sie = false;
$_SESSION['err2-nickname'] = "Taka nazwa już istnieje!";
}
if ($udalo_sie == true)
{
if($polaczenie->query("UPDATE uzytkownicy SET user='$chgname' WHERE id='id'"))
{
$_SESSION['Uzytkownik-zarejestrowany'] = true;
header('location: game.php');
}
else
{
throw new Exception($polaczenie->error);
}
}
mysqli_close($polaczenie);
}
}
catch(Exception $err)
{
echo '<span style="position: absolute; color: red;">'."Błąd serwera. Przepraszamy za niedogodności.".'</span>';
//echo '<br />Info dla dev.<br />'.$err;
}
}
?>
Dziękuję i pozdrawiam, przepraszam za możliwą nieczytelność postu.. Uczę się ;)