Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie
Forum PHP.pl > Forum > PHP
Ziom73
Znalazłem takie coś: http://www.webtips.pl/index.php?showtopic=...t=0&start=0
I nie działa ;/ mam tak:
W folderze login/
config.php
  1. <?
  2. $dbhost = 'mysql.cba.pl';
  3. $dbuser = 'schoolhack_cba_pl'; // tutaj podajemy login do bazy
  4. $dbpass = '***'; // tutaj podajemy hasło do bazy
  5. $dbname = 'schoolhack'; // nazwa bazy danych
  6.  
  7. $dbc = @mysql_connect($dbhost, $dbuser, $dbpass) or die ('Nie moge połaczyc sie z Mysql'); //łaczymy z baza
  8. mysql_select_db ($dbname) or die ('Nie moge wybrać bazy'); //wybieramy baze danych
  9. ?>


login.html
  1. <div align="center">
  2. <? if(isset($message)){
  3.    echo $message;
  4.   }
  5. ?>
  6. </div>
  7. <form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
  8.    <table align="center" border="0">
  9.        <tr>
  10.            <td align="right" class="uni_01">Login:</td>
  11.            <td><input type="text" name="login" size="30"></td>
  12.        </tr>
  13.        <tr>
  14.            <td align="right" class="uni_01">hasło:</td>
  15.            <td><input type="text" name="haslo" size="30"></td>
  16.        </tr>
  17.        <tr>
  18.            <td align="right" class="uni_01"> </td>
  19.            <td>
  20.        <p align="center"><input style="font-weight: bold;" type="submit" name="submit" value="loguj">
  21.        </td></tr>
  22.    </table>
  23. </form>


login.php
  1. <?
  2.    require_once('./login/config.php'); // załaczamy plik config.php
  3.  
  4.    function usun($data){
  5.    
  6.        GLOBAL $dbc;
  7.      if (ini_get('magic_quotes_gpc')){
  8.        $data = stripslashes($data);
  9.      }
  10.       return mysql_real_escape_string($data, $dbc);
  11.    }
  12. if (isset($_POST['submit'])){
  13.    
  14.    if (empty($_POST['login'])){
  15.        $message .= '<font class="blad">Nie podałeś loginu</font><br />';
  16.        $l = FALSE;
  17.    }else{
  18.        $l = usun($_POST['login']);
  19.    }
  20.        
  21.    if (empty($_POST['haslo'])){
  22.        $message .= '<font class="blad">Nie podałeś hasła</font><br />';
  23.        $h = FALSE;
  24.    }else{
  25.        $h = usun($_POST['haslo']);
  26.    }
  27. if ( $l && $h ){
  28.    
  29.    $query = "SELECT username, access FROM user WHERE username='$l' AND haslo=password('$h')";
  30.    $result = mysql_query($query);
  31.        $row = mysql_fetch_array ($result, MYSQL_ASSOC);
  32. if($row){
  33.    session_start();
  34.        $_SESSION['username'] = $row['username'];
  35.                $_SESSION['access'] = $row['access'];
  36.        $_GET['cmd'] = 'ok';
  37.        header ("Location: login/strona.php?cmd={$_GET['cmd']}");  // przekierowuje nas na jaka strone chcemy
  38.    }else{
  39.        $message .= '<font class="blad">Błędne hasło lub login</font><br />';
  40.    }
  41. }else{
  42.    $message .= '<font class="blad">Spróbuj jeszcze raz</font>';
  43. }
  44. }
  45. ?>


strona.php
  1. <?
  2.  
  3.    session_start();
  4.    if($_SESSION['access'] != 'root'){
  5.        @header ("Location:  index.php");
  6.    }
  7.  
  8.    echo 'dziala haha.gif';
  9.    
  10. ?>


Główny katalog:
login.php << tu mam problemy ;]
  1. <!DOCTYPE html
  2.    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <head>
  6.    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  7.    <meta name="Keywords" content="sbsmein,hack,haker,szkoła,komputry" />
  8.    <link rel="STYLESHEET" type="text/css" href="css/style.css">
  9.    <title>SchoolHack :: Logowanie</title>
  10. </head>
  11. <body>
  12. <center>
  13. <?
  14. include ('login/conf.php'); //łączy z bazą MySQL
  15. include ('login/login.php'); //skrypt formularza
  16. if ($success) {
  17. echo "<p>Zostałeś zalogowany jako $user</p>"; //komunikat
  18. }
  19. include ('login/login.html'); //treść formularza
  20. ?>
  21. </center>
  22. </body>
  23. </html>
piotrooo89
nie działa to znaczy co się dzieje?

po 1.
w config.php powywalaj te małpiszony (@).
po 2.
daj
  1. <?php
  2. ?>

do mysql_connect, mysql_select_db i mysql_query
po 3.
  1. <?php
  2. mysql_select_db ($dbname, $dbc)
  3. ?>
Ziom73
1. Problem taki że nie loguje ani nie pokazuję błędów.

2. mam tak:
config.php
  1. <?
  2. mysql_connect("mysql.cba.pl", "schoolhack", "***");
  3. mysql_select_db("schoolhack_cba_pl");
  4. $prefix= "_";
  5. ?>
piotrooo89
kurcze jak dla mnie zrobienie tak prostej rzeczy jaką jest logowanie w tym skrypcie odbywa się niesamowicie ciężko.
jeśli jesteś zainteresowany alternatywą to proszę:
http://olaszewski.com/2008/12/22/logowanie...sql-przewodnik/
Ziom73
Ale nie chce innego, bo do tego dorabiam: rejestracje, edycje danych, oraz przypominanie hasła.

Yeach!! Naprawiłem :
  1. <!DOCTYPE html
  2.   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3.   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <head>
  6.   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  7.   <meta name="Keywords" content="sbsmein,hack,haker,szkoła,komputry" />
  8.   <link rel="STYLESHEET" type="text/css" href="css/style.css">
  9.   <title>SchoolHack :: Logowanie</title>
  10. </head>
  11. <body>
  12. <center>
  13. <?
  14. include ('login/config.php'); //łączy z bazą MySQL   <<< tu było źle ;]
  15. include ('login/login.php'); //skrypt formularza
  16. include ('login/login.html'); //treść formularza
  17. ?>
  18. </center>
  19. </body>
  20. </html>


Ale mam problem bo wyświetla cały czas że mam wpisać ponownie ;/
login: test
haslo: test

NO POMOŻE KTOŚ??
bim2
Daj
  1. <?php
  2. $result = mysql_query($query);
  3. ?>

i napisz co wyrzuca smile.gif
Ziom73
Cytat
Access denied for user 'www-data'@'localhost' (using password: NO)

a mam
config.php
  1. <?
  2. mysql_connect("mysql.cba.pl", "schoolhack", "***");
  3. mysql_select_db("schoolhack_cba_pl");
  4. $prefix= "_";
  5.  
  6. ?>
Ziom73
Nadal nie działa ;/
Ten sam błąd, a dane w config.php są dobre
EDIT
zamieniłem to:
  1. <?
  2. mysql_connect("mysql.cba.pl", "schoolhack", "***");
  3. mysql_select_db("schoolhack_cba_pl");
  4. $prefix= "_";
  5.  
  6. ?>

na to
  1. <?
  2. $dbhost = 'mysql.cba.pl';
  3. $dbuser = 'schoolhack'; // tutaj podajemy login do bazy
  4. $dbpass = '***'; // tutaj podajemy hasło do bazy
  5. $dbname = 'schoolhack_cba_pl'; // nazwa bazy danych
  6.  
  7. $dbc = @mysql_connect($dbhost, $dbuser, $dbpass) or die ('Nie moge połaczyc sie z Mysql'); //łaczymy z baza
  8. mysql_select_db ($dbname) or die ('Nie moge wybrać bazy'); //wybieramy baze danych
  9. ?>

I działa!!! ALE NIE PRZEKIEROWUJE NA login/strona.php
strona.php
  1. <?
  2.  
  3.    session_start();
  4.    if($_SESSION['access'] != 'root'){
  5.        @header ("Location:  index.php");
  6.    }
  7.  
  8.    echo 'dziala:)';
  9.    
  10. ?>

Jak zrobić żeby niezalogowanych przeniosło na login.php questionmark.gif
maniekl2
Z tego co widzę ustawiana jest zmienna sesyjna username, więc może :
  1. <?php
  2. if(!isset($_SESSION['username'])) { // jak nie istnieje $_SESSION['username']
  3. header("login.php");
  4. }
  5. ?>
Ziom73
  1. <?
  2.  
  3.    if($_SESSION['access'] != 'root'){
  4.        @header ("Location:  index.php");
  5.    }
  6.  
  7.    echo 'dziala:)';
  8.    
  9.  
  10. if(!isset($_SESSION['username'])) {
  11. header("login.php");
  12. }
  13. ?>

Cytat
Ta strona internetowa zawiera pętlę przekierowania.

Czyli jest tak jak było ;/
maniekl2
W pliku login.php jest przekierowanie do pliku strona.php. Jak nie działa logowanie, a mimo to przenosi na strona.php to następuje zapętlenie - plik strona przenosi na login, a login na strona.
Spróbuj wstawić to
  1. <?php
  2. if(!isset($_SESSION['username'])) {
  3. header("login.php");
  4. }
  5. ?>

przed
  1. <?php
  2. ?>


Jak to nie zadziała sprawdz co wogóle wykazuje $_SESSION['username'] po zalogowaniu.
Ziom73
LOL!!! Nie działa ani index.php:
Cytat
Error 500!


/index.php
Internal Server Error!

Ani nie działa login.php
PS: pierwszy raz mam error 500 haha.gif
bim2
Coś z .htaccess Przestawiałeś coś w tym pliku?
Ziom73
Nie grzebię w tych plikach zaczynających się na kropkę winksmiley.jpg
PS: i tak tego pliku nie ma ;/
EDIT
naprawiłem login.php ;] ale index.php nadal nie działa ;/
bim2
Co znaczy "nie działa"?
Ziom73
Error 500!
EDIT
Utworzyłem ten plik:
.htaccess
  1. <?php
  2. ErrorDocument 401 /errors/401/401.php
  3. ErrorDocument 403 /errors/403/403.php
  4. ErrorDocument 404 /errors/404/404.php
  5. ErrorDocument 500 /errors/500/500.php
  6. ?>

i mi wyskoczyło na index.php
Cytat
Moved Temporarily

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
potreb
Nie wiem czy wkleiłeś regułki razem z tagami php, ale skoro pisze że strona 404 nie została znaleziona to nie ma jej tam. Możesz wstawić własną stronę. Tworzysz plik error.php i dla switcha tworzysz np błędy w httacces odwołujesz się do tego pliku.
Ziom73
Już mam ok. ale cały czas piszę error 500 ;/
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.