• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

nie wiem o co chodzi z moim systemem rejestracji?

Cloud VPS
–1 głos
207 wizyt
pytanie zadane 5 marca 2016 w PHP przez aleksander_szut Użytkownik (940 p.)
<?php

    session_start();
    
        if ((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true))
         {
               header('Location: Ja');
             exit();
           }
    
       if (isset($_POST['email']))
    {
         //udana walidacja
         $wszystko_OK = true;
         
        
         //czy jest dzień urodzin
         $ud = $_POST['birthday_day'];
         if($ud<1 || $ud>31)
         {
             
             $wszystko_OK = true;
             $_SESSION['e_date']="!";
         }
         
         //czy jest miesiąc urodzin
         $um = $_POST['birthday_month'];  
         if(strlen($um)<0)
         {
             
             $wszystko_OK = true;
             $_SESSION['e_date']="!";
         }
         
         //czy ma odpowiednią ilość lat
         $ur = $_POST['birthday_year'];  
         if($ur<1983 || $ur>2004)
         {
             
             $wszystko_OK = true;
             $_SESSION['e_date']="!";
         }
         //post płci
         $gender = $_POST['gender'];
         
         //Długość nazwiska
         $nazwisko = $_POST['nazwisko'];
         
         if((strlen($nazwisko)<3) || (strlen($nazwisko)>20))
         {
             
             $wszystko_OK = true;
             $_SESSION['e_nazwisko']="!";
         }
         
         //Długość imie
         $imie = $_POST['imie'];
         
         if ((strlen($imie)<3) || (strlen($imie)>20))
         {
             
             $wszystko_OK = false;
             $_SESSION['e_nick']="!";
             
         }
         
         //sprawdź poprawność email'u
         $email = $_POST['email'];
        $emailB = filter_var($email, FILTER_SANITIZE_EMAIL);
        
        if ((filter_var($emailB, FILTER_VALIDATE_EMAIL)==false) || ($emailB!=$email))
        {
            $wszystko_OK=false;
            $_SESSION['e_email']="!";
        }

         //sprawdź hasło
            $haslo = $_POST['haslo'];
            $haslo1 = $_POST['haslo1'];
        
        if ((strlen($haslo)<8) || (strlen($haslo)>20))
        {
            $wszystko_OK=false;
            $_SESSION['e_haslo']="!";
        }
        if ($haslo != $haslo1 )
        {
            $wszystko_OK=false;
            $_SESSION['e_haslo']="!";
        }
        
        $klucz = md5(mt_rand());
        $haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT);

        //czy akceptowano regulamin?
        if (!isset($_POST['regulamin']))
        {
            $wszystko_OK=false;
            $_SESSION['e_regulamin']="!";
        }
        //easy in humans hard bot
         $sekret = "6Le-kBkTAAAAAE6WhVhRIJO7rSSBeAVzsh5DryOX";
        
        $sprawdz = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$sekret.'&response='.$_POST['g-recaptcha-response']);
        
        $odpowiedz = json_decode($sprawdz);
        
        if ($odpowiedz->success==false)
        {
            $wszystko_OK=false;
            $_SESSION['e_bot']="!";
        }
        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);
                    
                $ile_maili = $rezultat->num_rows;
                if($ile_maili>0)
                {
                    $wszystko_OK=false;
                    $_SESSION['e_email']="!";
                }
                
                if ($wszystko_OK==true)
                {
                    if($polaczenie->query("INSERT INTO uzytkownicy VALUES (NULL, '$imie','$nazwisko','$ud','$um','$ur','$gender', '$haslo_hash', '$email',13222222,'$klucz',0)"))
                    {
                        $_SESSION['udana_rejestracja']=true;
                        header('Location:witamy.php');
                    }
                    else
                    {
                        throw new exception($polaczenie->error);
                  //i to mam błąd jak wcisnę rejestrój się exception 'Exception' with message 'Column count doesn't match value count at row 1' in D:\xampp\htdocs\classbook\index.php:147 Stack trace: #0 {main}
                    }
                }        
                
                $polaczenie->close();
            }
        }
        catch(Exception $e)
        {
            echo '<span style="color:red;">Błąd serwera!</span></br>'.$e;
            echo'Informacja Developerska: '.$e;
        }
    
    }
?>


 

1 odpowiedź

0 głosów
odpowiedź 5 marca 2016 przez Arkadiusz Waluk Ekspert (290,310 p.)

Dałeś kod, a jaki jest konkretnie problem?

Okej, błąd był w kodzie i nie zauważyłem go - lepiej napisać przed/za kodem niż w mało widocznym komentarzu.

Sprawdzałeś w Google co on oznacza? W pierwszym wyniku jest wyjaśnione o co chodzi. Albo przetłumaczyłeś go sobie na język polski? "Ilość kolumn nie pasuje do liczby wartości w wierszu 1" mniej więcej tłumacząc. Tak więc masz podanych zbyt dużo lub zbyt mało wartości w zapytaniu. Przypominam, że nie wypisując listy kolumn trzeba wstawić jakąś wartość do każdej - nie można sobie od tak pominąć kolumny istniejącej w tabeli.

"nie wiem o co chodzi z moim systemem rejestracji" ← skoro sam go napisałeś, ewentualnie spoglądając na kurs pana Mirosława, to czego nie wiesz? Tytuł pytania dość kiepski.

komentarz 5 marca 2016 przez aleksander_szut Użytkownik (940 p.)
Dziękuję za odpowiedzi i po patrzałem dokładnie do bazy danych i zauważyłem że dałem stary backup bazy i nie było 1 tabeli dziękuję

Podobne pytania

0 głosów
3 odpowiedzi 1,075 wizyt
pytanie zadane 31 grudnia 2015 w PHP przez Filip2248 Dyskutant (8,840 p.)
0 głosów
1 odpowiedź 223 wizyt
pytanie zadane 4 stycznia 2016 w C i C++ przez White Początkujący (360 p.)
0 głosów
1 odpowiedź 511 wizyt
pytanie zadane 22 stycznia 2016 w C i C++ przez konrad99 Gaduła (4,090 p.)

93,463 zapytań

142,456 odpowiedzi

322,726 komentarzy

62,840 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...