Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Gdzie tu w zapytaniu jest błąd.
#1
Witam. Skrypt nie dodaje mi usera do mysql, nie wiem dlaczego, wcześniej ten skrypt mi działał.
Kod PHP:
/*Dodawanie nowego użytkownika do bazy danych*/
                    
echo '<div id="success"><p>Dzięki za rejestracje <span>'.$nick.'</span>, możesz się teraz <a href="login.php">zalogować</a>.</p></div>';
                    
$haslo_zakodowane md5($haslo);
                    
$zapytanie mysql_query("INSERT INTO uzytkownicy (nick, haslo, email, ranga, osobie, data)
                    VALUES ('
$nick', '$haslo_zakodowane', '$email',  1, '---', now());");
                    die(
"Wystąpił nieoczekiwany błąd"); 


a o to cały kod pliku register
Kod PHP:
<?php
session_start
();
require 
"conn.php";
 
?>
 <!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">


    <title>Intelactive :: Strona główna</title>

 
  <link rel="stylesheet" type="text/css" href="css/reset.css" media="screen">
  <link rel="stylesheet" type="text/css" href="css/style.css" media="screen">
</head>
<body>
    <div id="header">
        <div id="container">
    <nav>
    <ul>
        <li><a href="#"><span>Home</span></a></li>
        <li><a href="#"><span>Logowanie</span></a></li>
        <li><a href="#"><span>Rejestracja</span></a></li>                
        <li><a href="#"><span>Pomoc</span></a></li>
        <li><a href="#"><span>Kontakt</span></a></li>
    </ul>
</nav>

<div id="logo">
<!-- Wyświetlamy menu -->
    <div id="menu">
    <div id="title">Rejestrowanie</div>
    <div id="clean"></div>
        <center>
        

<?php
if(isset($_SESSION['login'])) {
    echo
'Posiadasz już konto';
} else {
/*Deklaracja zmiennej $formularz*/
$formularz ='
            <form action="?do=register" method="post">
                <table>
                    <tr>
                        <td width="120">
                            Nick
                        </td>
                        <td>
                            <input type="text" name="nick" maxlength="30" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Hasło
                        </td>
                        <td>
                            <input type="password" name="haslo" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Powtórz hasło
                        </td>
                        <td>
                            <input type="password" name="haslo2" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            E-mail
                        </td>
                        <td>
                            <input type="text" name="email" maxlength="100" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Kliknij
                        </td>
                        <td>
                            <input type="submit" name="rejestracja" value="Rejestruj" />
                        </td>
                    </tr>
                </table>
            </form>
    '
;
 
    if(isset(
$_POST['rejestracja'])) { //Jeśli został wciśnięty przycisk
        /*Filtracja zmiennych z tablicy $_POST*/
        
$nick addslashes(htmlspecialchars($_POST['nick']));
        
$haslo addslashes(htmlspecialchars($_POST['haslo']));
        
$haslo2 addslashes(htmlspecialchars($_POST['haslo2']));
        
$email addslashes(htmlspecialchars($_POST['email']));
 
        
/*Sprawdzanie, czy wszystkie pola zostały uzupełnione i czy są poprawne*/
        
if(empty($nick)) {
            echo
'<div id="error"><p>Uzupełnij pole <span>nick</span></p></div>';
        } elseif(
strlen($nick) > 50 ) {
            echo
'<div id="error"><p>Nick może składać się z maksymalnie 50 znaków</p></div>';
        } elseif(empty(
$haslo)) {
            echo
'<div id="error"><p>Uzupełnij pole <span>hasło</span></p></div>';
        } elseif(empty(
$haslo2)) {
            echo
'<div id="error"><p>Powtórz hasło</p></div>';
        } elseif(
$haslo != $haslo2) {
            echo
'<div id="error"><p>Podane hasła różnią się</p></div>';
        } elseif(empty(
$email)) {
            echo
'<div id="error"><p>Uzupełnij pole <span>E-mail</span></p></div>';
        } elseif(
strlen($email) > 50 ) {
            echo
'<div id="error"><p>E-mail może składać się z maksymalnie 50 znaków</p></div>';
        } elseif(!
preg_match('/^[a-zA-Z0-9.-_]+@[a-zA-Z0-9.-_]+.[a-z]{2,4}$/D'$email)) {
            echo
'<div id="error"><p>Podany adres <span>E-mail</span> jest nieprawidłowy.
             Prawidłowy E-mail jest niezbędny w celu dokończenia procesu rejestracji.</p></div>'
;
        } else { 
//Jeśli wszystkie pola się zgadzają zapytujemy bazę danych
            /*Sprawdzanie, czy podany nick istnieje w bazie danych*/
            
$zapytajka_user mysql_query("SELECT * FROM `uzytkownicy` WHERE `nick` = '$nick';");
            if(
mysql_num_rows($zapytajka_user) == 1) {
                echo 
'<div id="error"><p>Przepraszam, taki login jest już zajęty - proszę wybrać inny nick.</p></div>';
            } else {
                
/*Sprawdzanie, czy podany email istnieje w bazie danych*/
                  
$zapytajka_email mysql_query("SELECT * FROM `uzytkownicy` WHERE `email` = '$email';");
                 if(
mysql_num_rows($zapytajka_email) == 1) {
                    echo 
'<div id="error"><p>Przepraszam, taki <span>e-mail</span> jest już zajęty. Możliwe, że posiadasz już konto w moim serwisie, bądź ktoś podał Twój adres.</div>';
                } else {
                    
/*Dodawanie nowego użytkownika do bazy danych*/
                    
echo '<div id="success"><p>Dzięki za rejestracje <span>'.$nick.'</span>, możesz się teraz <a href="login.php">zalogować</a>.</p></div>';
                    
$haslo_zakodowane md5($haslo);
                    
$zapytanie mysql_query("INSERT INTO uzytkownicy (nick, haslo, email, ranga, osobie, data)
                    VALUES ('
$nick', '$haslo_zakodowane', '$email',  1, '---', now());");
                    die(
"Wystąpił nieoczekiwany błąd");
                }
            }
        }
    } else { 
//Jeśli nie został wciśnięty przycisk wyświetlamy formularz
        
echo $formularz;
    }
}
?>
        
        
        
</form>
</center>





    </div>
    <div id="siedbar">
    <div id="title"<center>Statystyki<br /></center></div>
    <hr width="220" />
    bkablalbal<br>
    balkbkafa<br>
    bflf<br>
    gfdgfd<br>
    bfgfd<br>
        <hr width="220" />
    </div>
    
    
    
    
    <div id="footer">
    <div id="footer-logo"> </div>
            <div id="clean"></div>
    Copyright 2012 :: Intelactive :: Wszystkie prawa zastrzeżone.
</div>

</div>
<center> 
Odpowiedz
#2
a połączyłeś się z bazą??
Odpowiedz
#3
Wyskakuje Ci jakiś błąd?
Odpowiedz
#4
Połączenie jest. Błąd nie wyskakuje, jedynie jak dodam "die" do zapytania które dodaje rekord

Korzystam z tego skryptu: http://blog.grabowski.ostrowwlkp.pl/webmastering/system-rejestracji-i-logowania-z-rangami-w-php
Ponieważ jeszcze samemu z głowy nie napiszę tego ; )
Odpowiedz
#5
Po

Kod PHP:
$zapytanie mysql_query("INSERT INTO uzytkownicy (nick, haslo, email, ranga, osobie, data) VALUES ('$nick', '$haslo_zakodowane', '$email',  1, '---', now());"); die("Wystąpił nieoczekiwany błąd");


d[/php]odaj

Kod PHP:
echo mysql_error(); 
Odpowiedz
#6
Swoją drogą czy tam nie powinno być or?
mysql_query(....) or die(....)
Odpowiedz
#7
Witam serdecznie.

Pobrałem spakowane pliki demo, zaimportowałem tabelę do wcześniej utworzonej bazy danych, odpaliłem skrypt i rejestracja u mnie działa.

Myślę, że Ty zamiast zaimportować dołączonego do archiwum pliku sql.sql, utworzyłeś tabelę ręcznie i popełniłeś literówkę. Spróbuj usunąć tabelę z użytkownikami i zaimportować ją od nowa.
Odpowiedz
#8
No właśnie 2 skrypt już mi nie działa.. Importowałem po prostu sql.

Kod PHP:
CREATE TABLE `uzytkownicy` (
`
IDINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`
nickVARCHAR50 NOT NULL ,
`
hasloVARCHAR32 NOT NULL ,
`
emailVARCHAR50 NOT NULL ,
`
rangaINT NOT NULL ,
`
osobieTEXT NOT NULL ,
`
punktyINT NOT NULL ,
`
dataDATETIME NOT NULL
ENGINE MYISAM 

Importowałem jego bazę danych i działa..
DZIĘKI!
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
Question XAMPP i błąd UAC Moody 1 1,999 20-07-2012, 16:56
Ostatni post: Pedro84
Question [SQL, Razor, HTML] Błąd wczytania parametru z bazy danych Golus 2 3,157 29-03-2012, 18:46
Ostatni post: Golus
Question Prepared statements - czy zapytanie jest wystarczająco bezpieczne atrapa 0 1,528 15-11-2011, 23:23
Ostatni post: atrapa
  Błąd serwera 500 tylko w Internet Explorer R_Rafalsky 3 3,098 24-10-2011, 18:02
Ostatni post: urlsite
Question Prawdopodobny błąd składni MatixYo 10 6,723 14-10-2011, 19:10
Ostatni post: MatixYo

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl