Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Rejestracja/logowanie, mam, ale nie umie wykorzystac :(HELP PLZ
-Pigwa-
post 25.02.2005, 20:37:26
Post #1





Goście







Witam

Posiadam długo szukany skryp rejestracji i logowania, ale nie umie go wykorzystać ;(
tzn.: nie wiem jak go skonfigurować i jak wstawić do indexu.php ramke gdzie sie wpisuje login i hasło (tak jak wszędzie) Proszę o pomoc w skonfigurowaniu(co gdzie mam wpisać)

O to on (w 4plikach):

Plik config.php
Kod
<?

//Ustawienienia

$cookie_expire = 60*60*24*30;

//Ustawienia polaczenia do bazy danych

$db_host = 'localhost';

$db_user = 'user';

$db_pass = 'haslo';

$db_name = 'nazwa';



//Polaczenie z baza danych

if (!@mysql_connect($db_host, $db_user, $db_pass)) {

            echo 'Polaczenie z baza danych jest chwilowo nie mozliwe.';

            exit;

}

if (!@mysql_select_db($db_name)) {

            echo 'Polaczenie z baza danych jest chwilowo nie mozliwe.';

            exit;

}



//Tabele bazy danych

$prefix = '';

$users_tbl = $prefix.'users';



//Sesja

session_start();



//Podpiecie niezbednych plikow

include('funkcje.php');

?>


Plik funkcje.php
Kod
<?

//Blad logowania

function zle_logowanie() {

            header("Location: zle_logowanie.php");

}



//Logowanie i weryfikacja uzytkownika

function dostep($log) {

            global $users_tbl, $cookie_expire;

            if (!empty($_SESSION['nick'])) {

                        $query = "SELECT * FROM $users_tbl WHERE nick='{$_SESSION['nick']}'";

                        $result = mysql_query($query) or die(mysql_error());

                        $ile = mysql_num_rows($result);

                        $r = mysql_fetch_array($result);

                        

                        if ($ile == 1) {

                                   if ($r['nick'] === $_SESSION['nick'] && $r['pass'] === $_SESSION['pass']) {

                                               if ($r['admin'] == 'tak') { return 'admin'; }

                                               else { return 'user'; }

                                   }

                        }

            } elseif (!empty($_COOKIE['miesiac']) && empty($_SESSION['nick'])) {

                        $ciastko = explode(chr(15), $_COOKIE['miesiac']);

                        

                        $query = "SELECT * FROM $users_tbl WHERE nick='{$ciastko[0]}'";

                        $result = mysql_query($query) or die(mysql_error());

                        $ile = mysql_num_rows($result);

                        $r = mysql_fetch_array($result);

                        

                        if ($ile == 1) {

                                   if ($r['nick'] === $ciastko[0] && $r['pass'] === $ciastko[1]) {

                                               $_SESSION['nick'] = $r['nick'];

                                               $_SESSION['pass'] = $r['pass'];

                                              

                                               $q = "UPDATE $users_tbl SET last_log=now() WHERE nick='{$r['nick']}'";

                                               $re = mysql_query($q) or die(mysql_error());

                                                          

                                               if ($r['admin'] == 'tak') { return 'admin'; }

                                               else { return 'user'; }

                                   }

                        }

            } else {

                        if ($_POST['p'] == 1 && !empty($_POST['nick']) && !empty($_POST['pass'])) {

                                   $query = "SELECT * FROM $users_tbl WHERE nick='{$_POST['nick']}'";

                                   $result = mysql_query($query) or die(mysql_error());

                                   $ile = mysql_num_rows($result);

                                   $r = mysql_fetch_array($result);

                                  

                                   if ($ile == 1) {

                                               if ($r['nick'] === $_POST['nick'] && $r['pass'] === md5($_POST['pass'])) {

                                                           $_SESSION['nick'] = $r['nick'];

                                                           $_SESSION['pass'] = $r['pass'];

                                                          

                                                           if ($_POST['auto'] == 'tak') { setcookie("miesiac", $r['nick'].chr(15).$r['pass'], time()+$cookie_expire); }

                                                          

                                                           $q = "UPDATE $users_tbl SET last_log=now() WHERE nick='{$r['nick']}'";

                                                           $re = mysql_query($q) or die(mysql_error());

                                                          

                                                           header("Location: index.php");

                                               } else {

                                                           zle_logowanie();

                                               }

                                   } else {

                                               zle_logowanie();

                                   }

                        } elseif ($_POST['p'] == 1 && (empty($_POST['nick']) || empty($_POST['pass']))) {

                                   zle_logowanie();

                        } elseif ($log == 'tak') {

                                   echo '

                                   <form action=login.php method=post>

                                   <table width=100% collspacing=0 cellpadding=0>

                                               <tr>

                                                           <td colspan=2>Logowanie:</td>

                                               </tr>

                                               <tr>

                                                           <td colspan=2><img border=0 src=Obrazki/kreska_poprzeczna.gif width=100% height=3></td>

                                               </tr>

                                               <tr>

                                                           <td width=120>Login:</td><td><input style="width: 134; height: 18" type=text name=nick></td>

                                               </tr>

                                               <tr>

                                                           <td width=120>Hasło:</td><td><input style="width: 134; height: 18" type=password name=pass></td>

                                               </tr>

                                               <tr>

                                                           <td width=120>Loguj automatycznie:</td><td><input type=checkbox name=auto value=tak>&nbsp;&nbsp;&nbsp;<input type=hidden name=p value=1><input type=submit value=Zaloguj></td>

                                               </tr>

                                   </table>

                                   </form>';

                                  

                                   return 'anonim';

                        }

            }

}



if ($_GET['dzial'] == 'Wyloguj') {

            session_destroy();

            setcookie("miesiac");

            header("Location: index.php");

}

?>


Plik login.php
Kod
<?

include('config.php');



dostep('nie');

?>


Plik zle_logowanie.php
Kod
Podales nieprawidłowe dane, logowanie nie powiodło się.
Go to the top of the page
+Quote Post
-Wieviór-
post 25.02.2005, 21:20:46
Post #2





Goście







Popróbuj trochę sam pomyśleć. Ja może pomogę jak dasz we właściwe znaczniki BB czyli "php", bo o tym tu mowa tongue.gif biggrin.gif
Go to the top of the page
+Quote Post
Pigwa
post 25.02.2005, 21:27:36
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 25.02.2005
Skąd: Żmigród

Ostrzeżenie: (0%)
-----


Plik config.php
  1. <?
  2.  
  3. //Ustawienienia
  4.  
  5. $cookie_expire = 60*60*24*30;
  6.  
  7.  //Ustawienia polaczenia do bazy danych
  8.  
  9. $db_host = 'localhost';
  10.  
  11. $db_user = 'user';
  12.  
  13. $db_pass = 'haslo';
  14.  
  15. $db_name = 'nazwa';
  16.  
  17.  
  18.  
  19. //Polaczenie z baza danych
  20.  
  21. if (!@mysql_connect($db_host, $db_user, $db_pass)) {
  22.  
  23.             echo 'Polaczenie z baza danych jest chwilowo nie mozliwe.';
  24.  
  25.             exit;
  26.  
  27. }
  28.  
  29. if (!@mysql_select_db($db_name)) {
  30.  
  31.             echo 'Polaczenie z baza danych jest chwilowo nie mozliwe.';
  32.  
  33.             exit;
  34.  
  35. }
  36.  
  37.  
  38.  
  39. //Tabele bazy danych
  40.  
  41. $prefix = '';
  42.  
  43. $users_tbl = $prefix.'users';
  44.  
  45.  
  46.  
  47. //Sesja
  48.  
  49.  
  50.  
  51.  
  52. //Podpiecie niezbednych plikow
  53.  
  54. include('funkcje.php');
  55.  
  56. ?>


Plik funkcje.php
  1. <?
  2.  
  3. //Blad logowania
  4.  
  5. function zle_logowanie() {
  6.  
  7.             header(&#092;"Location: zle_logowanie.php\");
  8.  
  9. }
  10.  
  11.  
  12.  
  13. //Logowanie i weryfikacja uzytkownika
  14.  
  15. function dostep($log) {
  16.  
  17.             global $users_tbl, $cookie_expire;
  18.  
  19.             if (!empty($_SESSION['nick'])) {
  20.  
  21.                         $query = &#092;"SELECT * FROM $users_tbl WHERE nick='{$_SESSION['nick']}'\";
  22.  
  23.                         $result = mysql_query($query) or die(mysql_error());
  24.  
  25.                         $ile = mysql_num_rows($result);
  26.  
  27.                         $r = mysql_fetch_array($result);
  28.  
  29.                         
  30.  
  31.                         if ($ile == 1) {
  32.  
  33.                                    if ($r['nick'] === $_SESSION['nick'] && $r['pass'] === $_SESSION['pass']) {
  34.  
  35.                                                if ($r['admin'] == 'tak') { return 'admin'; }
  36.  
  37.                                                else { return 'user'; }
  38.  
  39.                                    }
  40.  
  41.                         }
  42.  
  43.             } elseif (!empty($_COOKIE['miesiac']) && empty($_SESSION['nick'])) {
  44.  
  45.                         $ciastko = explode(chr(15), $_COOKIE['miesiac']);
  46.  
  47.                         
  48.  
  49.                         $query = &#092;"SELECT * FROM $users_tbl WHERE nick='{$ciastko[0]}'\";
  50.  
  51.                         $result = mysql_query($query) or die(mysql_error());
  52.  
  53.                         $ile = mysql_num_rows($result);
  54.  
  55.                         $r = mysql_fetch_array($result);
  56.  
  57.                         
  58.  
  59.                         if ($ile == 1) {
  60.  
  61.                                    if ($r['nick'] === $ciastko[0] && $r['pass'] === $ciastko[1]) {
  62.  
  63.                                                $_SESSION['nick'] = $r['nick'];
  64.  
  65.                                                $_SESSION['pass'] = $r['pass'];
  66.  
  67.                                                
  68.  
  69.                                                $q = &#092;"UPDATE $users_tbl SET last_log=now() WHERE nick='{$r['nick']}'\";
  70.  
  71.                                                $re = mysql_query($q) or die(mysql_error());
  72.  
  73.                                                            
  74.  
  75.                                                if ($r['admin'] == 'tak') { return 'admin'; }
  76.  
  77.                                                else { return 'user'; }
  78.  
  79.                                    }
  80.  
  81.                         }
  82.  
  83.             } else {
  84.  
  85.                         if ($_POST['p'] == 1 && !empty($_POST['nick']) && !empty($_POST['pass'])) {
  86.  
  87.                                    $query = &#092;"SELECT * FROM $users_tbl WHERE nick='{$_POST['nick']}'\";
  88.  
  89.                                    $result = mysql_query($query) or die(mysql_error());
  90.  
  91.                                    $ile = mysql_num_rows($result);
  92.  
  93.                                    $r = mysql_fetch_array($result);
  94.  
  95.                                    
  96.  
  97.                                    if ($ile == 1) {
  98.  
  99.                                                if ($r['nick'] === $_POST['nick'] && $r['pass'] === md5($_POST['pass'])) {
  100.  
  101.                                                            $_SESSION['nick'] = $r['nick'];
  102.  
  103.                                                            $_SESSION['pass'] = $r['pass'];
  104.  
  105.                                                            
  106.  
  107.                                                            if ($_POST['auto'] == 'tak') { setcookie(&#092;"miesiac\", $r['nick'].chr(15).$r['pass'], time()+$cookie_expire); }
  108.  
  109.                                                            
  110.  
  111.                                                            $q = &#092;"UPDATE $users_tbl SET last_log=now() WHERE nick='{$r['nick']}'\";
  112.  
  113.                                                            $re = mysql_query($q) or die(mysql_error());
  114.  
  115.                                                            
  116.  
  117.                                                            header(&#092;"Location: index.php\");
  118.  
  119.                                                } else {
  120.  
  121.                                                            zle_logowanie();
  122.  
  123.                                                }
  124.  
  125.                                    } else {
  126.  
  127.                                                zle_logowanie();
  128.  
  129.                                    }
  130.  
  131.                         } elseif ($_POST['p'] == 1 && (empty($_POST['nick']) || empty($_POST['pass']))) {
  132.  
  133.                                    zle_logowanie();
  134.  
  135.                         } elseif ($log == 'tak') {
  136.  
  137.                                    echo '
  138.  
  139.                                    <form action=login.php method=post>
  140.  
  141.                                    <table width=100% collspacing=0 cellpadding=0>
  142.  
  143.                                                <tr>
  144.  
  145.                                                            <td colspan=2>Logowanie:</td>
  146.  
  147.                                                </tr>
  148.  
  149.                                                <tr>
  150.  
  151.                                                            <td colspan=2><img border=0 src=Obrazki/kreska_poprzeczna.gif width=100% height=3></td>
  152.  
  153.                                                </tr>
  154.  
  155.                                                <tr>
  156.  
  157.                                                            <td width=120>Login:</td><td><input style=\"width: 134; height: 18\" type=text name=nick></td>
  158.  
  159.                                                </tr>
  160.  
  161.                                                <tr>
  162.  
  163.                                                            <td width=120>Hasło:</td><td><input style=\"width: 134; height: 18\" type=password name=pass></td>
  164.  
  165.                                                </tr>
  166.  
  167.                                                <tr>
  168.  
  169.                                                            <td width=120>Loguj automatycznie:</td><td><input type=checkbox name=auto value=tak>&nbsp;&nbsp;&nbsp;<input type=hidden name=p value=1><input type=submit value=Zaloguj></td>
  170.  
  171.                                                </tr>
  172.  
  173.                                    </table>
  174.  
  175.                                    </form>';
  176.  
  177.                                    
  178.  
  179.                                    return 'anonim';
  180.  
  181.                         }
  182.  
  183.             }
  184.  
  185. }
  186.  
  187.  
  188.  
  189. if ($_GET['dzial'] == 'Wyloguj') {
  190.  
  191.             session_destroy();
  192.  
  193.             setcookie(&#092;"miesiac\");
  194.  
  195.             header(&#092;"Location: index.php\");
  196.  
  197. }
  198.  
  199. ?>

[
Plik login.php
  1. <?
  2.  
  3. include('config.php');
  4.  
  5.  
  6.  
  7. dostep('nie');
  8.  
  9. ?>


Plik zle_logowanie.php
  1. <?php
  2.  
  3. Podales nieprawidłowe dane, logowanie nie powiodło się.
  4.  
  5. ?>


nie znam sie wogóle na php więc sam nic nie wymyśle sad.gif
Ale może Ktoś z forum mi podpowie...

EDIT: przynajmniej już wiem co to są zmienne rolleyes.gif

Ten post edytował Pigwa 26.02.2005, 01:13:56


--------------------
~zIeLoNy~
Go to the top of the page
+Quote Post
Coyote
post 26.02.2005, 11:24:38
Post #4





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


z tego co widze to ten skrypt to nic skaplikowanego ... jak bede w domku tak za 2 godzinki to siade i napisze ci dokladnie jak to zrobic tylko wczesniej sam go przetestuje .... i dam znac ...


--------------------
Go to the top of the page
+Quote Post
Vertical
post 26.02.2005, 11:34:13
Post #5





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat
jak wstawić do indexu.php ramke gdzie sie wpisuje login i hasło

...tam gdzie masz fragment z HTML świadczący o tym, że dany input służy do wpisania nazwy użytkownika albo hasła i jest tam też submit, to znaczy, że to jest formularz przesyłający dane o użytkowniku i haśle, które będą Ci potrzebne do zalogowania. A gdzie je wkleić? W index.php tam, gdzie chcesz mieć skrypt logowania.
Cytat
nie znam sie wogóle na php więc sam nic nie wymyśle
Ale może Ktoś z forum mi podpowie...

EDIT: przynajmniej już wiem co to są zmienne 

Skoro nie znasz się na php, to nawet jeśli Ci podpowiemy, to niewiele zrozumiesz... Po prostu naucz się podstaw, to wtedy będziesz mógł samodzielnie korzystać z takich skryptów zamiast za każdym razem pytać się na forum o co chodzi
Go to the top of the page
+Quote Post
Pigwa
post 26.02.2005, 12:56:56
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 25.02.2005
Skąd: Żmigród

Ostrzeżenie: (0%)
-----


Rozumiem przez to że w index.php należy wstawić tylko to: TAK?
  1. <?php
  2.  
  3.  <form action=login.php method=post>
  4.  
  5.                                    <table width=100% collspacing=0 cellpadding=0>
  6.  
  7.                                                <tr>
  8.  
  9.                                                            <td colspan=2>Logowanie:</td>
  10.  
  11.                                                </tr>
  12.  
  13.                                                <tr>
  14.  
  15.                                                            <td colspan=2><img border=0 src=Obrazki/kreska_poprzeczna.gif width=100% height=3></td>
  16.  
  17.                                                </tr>
  18.  
  19.                                                <tr>
  20.  
  21.                                                            <td width=120>Login:</td><td><input style=&#092;"width: 134; height: 18\" type=text name=nick></td>
  22.  
  23.                                                </tr>
  24.  
  25.                                                <tr>
  26.  
  27.                                                            <td width=120>Hasło:</td><td><input style=&#092;"width: 134; height: 18\" type=password name=pass></td>
  28.  
  29.                                                </tr>
  30.  
  31.                                                <tr>
  32.  
  33.                                                            <td width=120>Loguj automatycznie:</td><td><input type=checkbox name=auto value=tak>&nbsp;&nbsp;&nbsp;<input type=hidden name=p value=1><input type=submit value=Zaloguj></td>
  34.  
  35.                                                </tr>
  36.  
  37.                                    </table>
  38.  
  39.                                    </form>
  40.  
  41. ?>

Jak wstawiłem powyższy kod to mi wyświetliło tabelke logowania smile.gif bez możliwości zarejestrowania sad.gif

I jeszcze jedno pytanko tongue.gif
Czy w pliku config.php należy wypełnić dane:
  1. <?php
  2.  
  3. $db_host = 'localhost';
  4.  
  5. $db_user = 'user';
  6.  
  7. $db_pass = 'haslo';
  8.  
  9. $db_name = 'nazwa';
  10.  
  11. ?>

A podstaw sie zaczynam uczyć biggrin.gif

Ten post edytował Pigwa 26.02.2005, 13:09:06


--------------------
~zIeLoNy~
Go to the top of the page
+Quote Post
-Wieviór-
post 26.02.2005, 15:51:20
Post #7





Goście







Tak trzeba, bo inaczej nie połaczy się z bazą. A zrobiłeś w ogóle tabele w Bazie danych?
Go to the top of the page
+Quote Post
Pigwa
post 26.02.2005, 16:48:06
Post #8





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 25.02.2005
Skąd: Żmigród

Ostrzeżenie: (0%)
-----


Cytat(Wieviór @ 2005-02-26 14:51:20)
Tak trzeba, bo inaczej nie połaczy się z bazą. A zrobiłeś w ogóle tabele w Bazie danych?

Nie zrobiłem tabeli bo nie wiem jak tongue.gif

a wracając do wypełnienia w pliku config.php to chyba to nie jest zbyt bezpieczne bo przecież łatwo można uzyskać hasło np.:
www.costam.pl/rejestracja/config.php-->źródło i wszystko wyświetlone łącznie z hasłem withstupidsmiley.gif

Ten post edytował Pigwa 26.02.2005, 16:54:01


--------------------
~zIeLoNy~
Go to the top of the page
+Quote Post
shizo
post 27.02.2005, 11:44:35
Post #9





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Lubin

Ostrzeżenie: (10%)
X----


Nie jest wyświetlone. Zobacz sam. smile.gif php to nie to samo co HTML, gdzie HTML wykonuje się po stronie przeglądarki. php, "zamienia" własny kod na HTML. (takie wieeeeeelkie uogólnienie winksmiley.jpg )

Ten post edytował shizo 27.02.2005, 11:45:52


--------------------
Save you mouth for windows!
Go to the top of the page
+Quote Post
Pigwa
post 27.02.2005, 23:14:21
Post #10





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 25.02.2005
Skąd: Żmigród

Ostrzeżenie: (0%)
-----


Eh... już wiem jak skonfigórować tongue.gif wydałem na te info 5zł angrysmiley.gif
thx za odpowiedzi axesmiley.png
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 21:35