Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] & [Mysql] Skrypt Logowania
Forum PHP.pl > Forum > Przedszkole
Marcek
Witam ostatnio znalazłem taki skrypt rejestracji w php ale moje pytanie brzmi tak nie mogę sobie poradzić z jego ustawieniem poniżej przedstawię jego strukturę oraz co zrobiłem bo możliwe że coś źle.

A więc tak pokaże na moim testowym koncie yoyo.pl stworzyłem bazę mysql w niej tabele members a w tej tabeli 3 kolumny username o wartosci varchar (20) password o wartości varchar (100) oras email varchar (100) w bazie zrobiłem chyba wszystko dobrze poniewarz brałem na wzór ten oto przykład

  1. CREATE TABLE `members (
  2. username varchar(20),
  3. password varchar(100),
  4. email varchar(100));


tu jest link do screena:http://img339.imageshack.us/my.php?image=47422889rf7.jpg

Wydaje mi się że tu zrobiłem wszystko dobrze więc pokaże wszystkie pliki i ich zawartość (login.php,logout.php,register.php oraz config.php)

1:login.php

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  5. <meta name="author" content="Skr3czu" />
  6. <title>Logowanie</title>
  7. </head>
  8. <body>
  9. <?
  10.  
  11.  
  12. echo "<font size=4>Login</font>
  13. <br>
  14. <br>";
  15.  
  16. if (isset($submit)) {
  17. include("config.php");
  18. if ($_POST['username'] == '') {
  19. echo "<font color=#ff0000>Podaj nick</font>";
  20. }
  21. else {
  22.  
  23. if ($_POST['password'] == '') {
  24. echo "<font color=#ff0000>Podaj hasło</font>";
  25. }
  26. else {
  27.  
  28. $result = mysql_query ("SELECT * FROM members WHERE username = '".$_POST['username']."'");
  29. $row = mysql_fetch_array($result) or die(mysql_error());
  30. $login = "xc732mc";
  31. $dbpass = $row['password'];
  32. $pw = md5(password);
  33. if ($dbpass == $pw) {
  34. $_SESSION['username'] = $_POST['username'];
  35. $_SESSION['dbpass'] = $dbpass;
  36. $_SESSION['login'] = 'xc732mc';
  37. echo "<font color=#000000>Zostałeś zalogowany...</font>";
  38. }
  39. else {
  40. echo "<font color=#ff0000>Złe Hasło...</font>";
  41. }
  42. }
  43. }
  44. }
  45. else {
  46. echo "<form action=login.php method=POST>
  47. nick: <input type=text name=username>
  48. <p>
  49. hasło: <input type=password name=password>
  50. <p>
  51. <input type=submit name=submit value=Login>";
  52. }
  53.  
  54. ?>




2:logout.php

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  5. <meta name="author" content="Skr3czu" />
  6. <title>Logowanie</title>
  7. </head>
  8. <body>
  9. <?
  10. include("config.php");
  11.  
  12.  
  13. if ($action == 'logout')
  14. {
  15. echo "Zalogowany";
  16. }
  17.  
  18. else
  19. {
  20. if ($login == 'xc732mc')
  21. {
  22.  
  23. echo "<font size=4>Wyloguj</font> <br>";
  24. echo "<a href=?action=logout>Wyloguj</a>";
  25. }
  26.  
  27. else
  28. {
  29. echo "<font color=#ff0000>Nie jesteś zalogowany...</font>";
  30. }
  31. }
  32.  
  33. ?>
  34. </body>



3:register.php


  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  5. <meta name="author" content="Skr3czu" />
  6. <title>Logowanie</title>
  7. </head>
  8. <body>
  9. <?
  10. echo "<font size=4>Rejestracja</font>
  11. <br>
  12. <br>";
  13.  
  14. if ($_GET['action'] == 'signup') {
  15.  
  16. include("config.php");
  17.  
  18. if ($_POST['username'] == '')
  19. {
  20. echo "<font color=#ff0000>Nie podałeś nicku</font>";
  21. }
  22. else {
  23. if ($_POST['email'] == '')
  24. {
  25. echo "<font color=#ff0000>Nie podałeś adresu email</font>";
  26. }
  27. else {
  28. if ($_POST['password'] == '')
  29. {
  30. echo "<font color=#ff0000>Nie podałeś hasła</font>";
  31. }
  32. else {
  33.  
  34. $pw = md5(password);
  35.  
  36. mysql_query("INSERT INTO members (username,email,password) VALUES ('$_POST[username]','$_POST[email]','$pw')")or die(mysql_error());
  37. mail($_POST['email'], "Zarejestrowałeś się", "Witaj ".$username." zarejestrowałeś się na http://TwojaStrona.pl! Twój nick to ".$username." a hasło to: ".$password."","Od:
  38. $emailadresr&#092;n" ."twojemail@twojastrona.plr\n");
  39. echo "Rejestracja przebiegła prawidłowo!";
  40. }
  41. }
  42. }
  43. }
  44.  
  45. else {
  46.  
  47. echo " <form action=?action=signup method=POST>
  48. <input type=hidden name=submit value=1>
  49. nick: <input type=text name=username maxlength=10>
  50. <p>
  51. hasło: <input type=password name=password maxlength=15>
  52. <p>
  53. email: <input type=text name=email>
  54. <br>
  55. <input type=submit value=Rejestracja!>
  56. <input type=reset value=Anuluj>
  57. </form> ";
  58. }
  59. ?></body>




i 4 w którym najprawdopodobniej siedzi problem config.php


  1. <?
  2. mysql_connect('localhost', 'userbazy', 'haslo') or die(mysql_error());
  3. $emailadres = 'adres_email';
  4. ?>



tam gdzie localhost userbazy i hasło zamieniłem na dane localhost-mysql2.yoyo.pl userbazy:db378142 i haslo-(wiadomo ze nie podam)

Gdy probuje zarejestrować pisze: Access denied for user 'db378142'@'%' to database 'db'

sami zresztą sprawdźcie www.marcek.yoyo.pl/register.php

Nie wiem o co chodzi i co jest źle ale wiem że kiedyś to robiłem i działało może zapomniałem i namieszałem coś jeśli możecie to pomóżcie będe wam wdzięczny


P.S kod jest jeszcze nie zabezpieczony bo to tylko ściągawka do tego żebym sam zrobił Jeszcze raz z góry dziękuje za pomoc.
kossa
Masz problem z podłączeniem się z bazą - sprawdź nazwę hosta, usera, password.

Łukasz
Marcek
Ok juz zrobilem i postaram sie nie zrobic juz tych bledow sorki za klopoty.Sprawdzę to ale wątpię żeby to był błąd.
kossa
Cytat
Access denied for user 'db378142'@'%' to database 'db'


ten błąd właśnie oznacza to co Tobie napisałem
Marcek
ok sprawdze.No i dalej problem tyle ze inny ustawilem config.php tak:
  1. <?mysql_connect('www.mysql2.yoyo.pl', 'db378142', 'Tu jest moje chasło') or die(mysql_error());mysql_select_db(db) or die(mysql_error());$emailadres = 'adres_email';?>
a wyskakuje taki błąd
  1. <?phpWarning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /var/www/sites/yoyo.pl/m/a/marcek/config.php on line 2Lost connection to MySQL server at 'reading initial communication packet', system error: 111?>
Nie wiem co jest grane ale moze zaproponujecie mi jakis skrypt rejestracji i logowania ktory będzie doskonały do gry w php. Bo ten to w sumie wzięłem z takiej stronki i chciałem go napisać w inny sposob ale niestety nie dziala.Ps:Nie piszcie ze jesli jestem zielony w tym temacie to mam nie pisac gry bo akurat nie takie skrypty przerabialem fakt nie jestem ani zielony ani zaawansowany ale zawsze sie uczy na wlasnych bledach.
drPayton
To akurat może być:
1. Błąd serwera
2. W skrypcie wywołujesz zapytanie już po zamknięciu połączenia (mysql_close).
Sprawdź to drugie, jeśli tak nie jest to patrz punkt pierwszy winksmiley.jpg

added:
Z tego co wróżka google powiedziała, ten problem jest powszechny i wynika właśnie z błędu serwera, więc...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.