Gdzie tu w zapytaniu jest błąd. - Intelactive - 21-10-2012
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>
RE: Gdzie tu w zapytaniu jest błąd. - camelrafal - 21-10-2012
a połączyłeś się z bazą??
RE: Gdzie tu w zapytaniu jest błąd. - mateo - 21-10-2012
Wyskakuje Ci jakiś błąd?
RE: Gdzie tu w zapytaniu jest błąd. - Intelactive - 21-10-2012
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 ; )
RE: Gdzie tu w zapytaniu jest błąd. - mateo - 22-10-2012
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
RE: Gdzie tu w zapytaniu jest błąd. - Kartofelek - 22-10-2012
Swoją drogą czy tam nie powinno być or?
mysql_query(....) or die(....)
RE: Gdzie tu w zapytaniu jest błąd. - komeniusz - 22-10-2012
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.
RE: Gdzie tu w zapytaniu jest błąd. - Intelactive - 23-10-2012
No właśnie 2 skrypt już mi nie działa.. Importowałem po prostu sql.
Kod PHP: CREATE TABLE `uzytkownicy` ( `ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `nick` VARCHAR( 50 ) NOT NULL , `haslo` VARCHAR( 32 ) NOT NULL , `email` VARCHAR( 50 ) NOT NULL , `ranga` INT NOT NULL , `osobie` TEXT NOT NULL , `punkty` INT NOT NULL , `data` DATETIME NOT NULL ) ENGINE = MYISAM ;
Importowałem jego bazę danych i działa..
DZIĘKI!
|