Witam.
Mój poprzedni projekt się popsuł (chyba moja wina, zapisy się źle zrobiły, pogubiły itp.)
Było tam tyle rzeczy pominiętych, że postanowiłem zrobić drugi system rejestracji i logowania.
Ehh... Kodzik:
[<?php
if (isset($_POST['email'])) {
$wszystko_OK = true;
$login = $_POST['login'];
$haslo1 = $_POST['haslo1'];
$haslo2 = $_POST['haslo2'];
$email = $_POST['email'];
//SPRAWDZANIE LOGINU
{
$wszystko_OK = false;
$_SESSION['e_login']="Login powinien zawierać od 3 do 20 znaków";
}
{
$wszystko_OK = false;
$_SESSION['e_login']="Login może zawierać tylko litery i cyfry (bez polskich znaków)";
}
//SPRAWDZANIE HASŁA
{
$wszystko_OK = false;
$_SESSION['e_haslo']="Hasło powinno zawierać conajmniej 8 znaków";
}
//SPRAWDZANIE DRUGIEGO HASŁA
if ($haslo1!=$haslo2)
{
$wszystko_OK = false;
$_SESSION['e_haslo2']="Podane hasła nie są takie same";
}
//SPRAWDZANIE EMAILA
$emailB = filter_var($email, FILTER_SANITIZE_EMAIL);
if ((filter_var($emailB, FILTER_VALIDATE_EMAIL)==false) || ($emailB!=$email))
{
$wszystko_OK=false;
$_SESSION['e_email']="Podany adres e-mail jest niepoprawny";
}
//SPRAWDZANIE CHECKBOXA
if (!isset($_POST['regulamin'])) {
$wszystko_OK = false;
$_SESSION['e_regulamin']="Aby się zarejestrować potwierdź regulamin";
}
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
{
//CZY EMAIL JUŻ ISTNIEJE
$rezultat = $polaczenie->query("SELECT id FROM uzytkownicy WHERE email='$email'");
if (!$rezultat) throw new Exception($polaczenie->error);
$mails = $rezultat->num_rows;
if($mails>0)
{
$wszystko_OK=false;
$_SESSION['e_email']="E-mail jest już aktualnie w użyciu";
}
//CZY LOGIN JUŻ ISTNIEJE
$rezultat = $polaczenie->query("SELECT id FROM uzytkownicy WHERE user='$login'");
if (!$rezultat) throw new Exception($polaczenie->error);
$logins = $rezultat->num_rows;
if($logins>0)
{
$wszystko_OK=false;
$_SESSION['e_login']="Login jest już aktualnie w użyciu";
}
if ($wszystko_OK==true)
{
//DODAWANIE DO BAZY
if ($polaczenie->query("INSERT INTO uzytkownicy VALUES (NULL, '$login', '$haslo1', '$email')"))
{
$_SESSION['udanarejestracja']=true;
header('Location: welcome.php'); }
else
{
throw new Exception($polaczenie->error);
}
}
$polaczenie->close();
}
}
catch(Exception $e)
{
echo '<span style="color:red;">Przepraszamy, połączenie z serwerem aktualnie nieczynne. Prosimy o rejestrację w innym terminie.</span>'; }
}
?>
<!DOCTYPE HTML>
<html lang="pl">
<head>
<title>GRA</title>
<meta charset="utf-8" />
<meta name="description" content=" " />
<meta name="keywords" content=" " />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div id="header">Fajna gra - rejestracja</div>
<div id="page">
<font size="5"><i>Załóż darmowe konto i dołącz do społeczności!</font></i><br><br>
<form method="post" />
Login:<br>
<input type="text" name="login" /><br>
<?php
if (isset($_SESSION['e_login'])) {
echo '<div class="error">'.$_SESSION['e_login'].'</div>'; unset($_SESSION['e_login']); }
?><br>
Hasło:<br>
<input type="password" name="haslo1" /><br>
<?php
if (isset($_SESSION['e_haslo'])) {
echo '<div class="error">'.$_SESSION['e_haslo'].'</div>'; unset($_SESSION['e_haslo']); }
?><br>
Powtórz hasło:<br>
<input type="password" name="haslo2" /><br>
<?php
if (isset($_SESSION['e_haslo2'])) {
echo '<div class="error">'.$_SESSION['e_haslo2'].'</div>'; unset($_SESSION['e_haslo2']); }
?><br>
E-mail:<br>
<input type="text" name="email" /><br>
<?php
if (isset($_SESSION['e_email'])) {
echo '<div class="error">'.$_SESSION['e_email'].'</div>'; unset($_SESSION['e_email']); }
?><br>
<label><input type="checkbox" name="regulamin" /> Akceptuję</label> <a href="regulamin.php">regulamin</a><br>
<?php
if (isset($_SESSION['e_regulamin'])) {
echo '<div class="error">'.$_SESSION['e_regulamin'].'</div>'; unset($_SESSION['e_regulamin']); }
?><br>
<input type="submit" name="submit" value="Zarejestruj się" /><br><br><br>
<font size="5"><a href="index.php"><< LOGOWANIE <<</a></font>
</div>
</body>
</html>
A błąd, który ciągle wyskakuje po POPRAWNEJ rejestracji to:
Przepraszamy, połączenie z serwerem aktualnie nieczynne. Prosimy o rejestrację w innym terminie.
Exception: Column count doesn't match value count at row 1 in C:\xampp\htdocs\gra\rejestracja.php:87 Stack trace: #0 {main}
Proszę o pomoc i jak to naprawić.