Cześć, dlaczego ten skrypt nie działa. Chodzi mi przede wszystkim o walidacje.
<?php
session_start();
if (isset($_POST['massage']))
{
//Udana walidacja? Załóżmy, że tak!
$wszystko_OK=true;
$massage = $_POST['massage'];
//Sprawdzenie długości nicka
if ((strlen($massage)<3) || (strlen($massage)>20))
{
$wszystko_OK=false;
$_SESSION['massage']="Nick musi posiadać od 3 do 20 znaków!";
}
$_SESSION['fr_massage'] = $massage;
require_once "connect.php";
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
{
if ($wszystko_OK==true)
{
//Hurra, wszystkie testy zaliczone, dodajemy gracza do bazy
if ($polaczenie->query("INSERT INTO post VALUES (NULL, '$ip', '$massage', '$datum')"))
{
$dodano = "Dodano posta do bazy";
}
else
{
throw new Exception($polaczenie->error);
}
}
$polaczenie->close();
}
}
catch(Exception $e)
{
echo '<span style="color:red;">Błąd serwera! Przepraszamy za niedogodności i prosimy o rejestrację w innym terminie!</span>';
echo '<br />Informacja developerska: '.$e;
}
}
?>
<!DOCTYPE HTML>
<html lang="pl">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>Dodanie posta!</title>
<style>
.error
{
color:red;
margin-top: 10px;
margin-bottom: 10px;
}
</style>
</head>
<body>
<form method="post">
Wiadomość: <br /><textarea name="massage" ><?php
if (isset($_SESSION['fr_massage']))
{
echo $_SESSION['fr_massage'];
unset($_SESSION['fr_massage']);
}
?></textarea><br />
<?php
if (isset($_SESSION['e_massage']))
{
echo '<div class="error">'.$_SESSION['e_massage'].'</div>';
unset($_SESSION['e_massage']);
}
?>
<?php echo $dodano; ?>
<br />
<input type="submit" value="Dodaj posta" />
</form>
</body>
</html>
Czy ktoś wie w czym jest problem?