Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Lekka zmiana logowania
CryWolf
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 9.06.2007

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


Witam!
Oto dwa kody:

rejestracja.php
  1. <?php
  2. require_once "funkcje.php";
  3. pol_mysql();
  4.  
  5. if (!empty($_POST['login'])) {
  6. $login = $_POST['login'];
  7. $panstwo = $_POST['panstwo'];
  8. $gg = $_POST['gg'];
  9. $haslo = $_POST['haslo'];
  10.  
  11. $zapytanie = "insert into users values 
  12.  ('', '', '', '$login', '$gg', '$haslo', '$panstwo', '10000' ,'' ,'','','','','','','','','','')"; 
  13. mysql_query($zapytanie);
  14. echo 'Zarejestrowano! Teraz możesz się zalogować!<br><a href="index.php">Wróć do strony głownej</a>';
  15.  
  16.  
  17.  
  18. } else {
  19. echo '  
  20. <form action="rejestracja.php" method="POST">
  21. Login: <input type="text" name="login"><br>  
  22. GG: <input type="text" name="gg"><br>
  23. Hasło: <input type="password" name="haslo"><br>
  24. Państwo w grze: <input type="text" name="panstwo"><br>
  25.  
  26.  
  27. <input type="submit" value="Zmień">
  28. </form>'; 
  29. }
  30. ?>


funkcje.php FUNKCJA logowania wraz z połączeniem do bazy
  1. <center><body background="tlo.gif">
  2. <title>Tytul gry z funkcje.php</title>
  3.  
  4. <?php
  5.  
  6. function pol_mysql() {
  7. $db_host = localhost;
  8. $db_user = root;
  9. $db_pass = krasnal;
  10. $db_name = krasnal;
  11.  
  12. $lacz = mysql_pconnect($db_host, $db_user, $db_pass); 
  13. if(!$lacz) 
  14. { 
  15.  echo "Wystąpił błąd: Połączenie z bazą nie powiodło się."; 
  16.  exit; } 
  17.  
  18. //wybieramy bazę 
  19. if(!@mysql_select_db($db_name, $lacz)) { 
  20. echo '<b>Baza danych chwilowo niedostepna. Przepraszamy.</b>'; 
  21. }
  22. }
  23.  
  24.  
  25. function wy_form_logo() {
  26. echo '  
  27. <form action="index.php" method="POST">
  28. Login: <input type="text" name="login"><br>
  29. Hasło: <input type="password" name="haslo"><br> 
  30. <input type="submit" value="Zaloguj">
  31. </form>'; 
  32.  
  33. $login = $_POST['login'];
  34. $haslo = $_POST['haslo'];
  35. $_SESSION['user'] = $login;
  36. $_SESSION['pass'] = $haslo;
  37.  
  38. $pokazpieniadze = "SELECT login, haslo FROM users";
  39. $wykonaj = mysql_query($pokazpieniadze);
  40. while($wiersz = mysql_fetch_assoc($wykonaj)) {
  41.  
  42. if ($_SESSION['user'] == $wiersz['login'] && $_SESSION['pass'] == $wiersz['haslo']) {
  43. echo '<big><font color="white">Zalogowany! Kliknij <a href="start.php">tu</a> aby przejść dalej!';
  44. } else {
  45. echo '<br><br><a href="rejestracja.php">Rejestracja</a>';
  46. }
  47.  
  48. }
  49. }
  50.  
  51. ?>


Chodzi oto, że kombinowałem jak się da, żeby samemu zrobić logowanie wraz z rejestracją a jestem początkujący i udało się, lecz są małe problemy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Rezta potem wszytskio działa tylko, że w dziwny sposób wyświetla się 3 razy napis rejestracja i jak się zaloguje jeden z napisów (na górze) zmienia się w "Jesteś zalogowany, przejdź dalej..." a reszta tzn. jeszcze dwa linki do logowania zostają wraz z formularzem logowana. Mam nadzieję, że po przeczytaniu kod będziecie pewnie wiedzieli co jest źle.

Pozdrawiam i z góry dziękuję (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

P.S.
Sprawdziłem, ilość napisów "rejestracja" zależy od ilości zarejestrowanych i wyświetla się to ELSE do czasu do kiedy nie znajdzie. Jak to naprawić? ;P

Ten post edytował CryWolf 18.07.2007, 19:59:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crop
post
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 5.04.2007

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


Nie wiem czy ci to pomoże ale ja do logowania używam kodu:
Kod
<?php
    #MODUŁ LOGOWANIA
    if ($_GET['action'] == 'login' && isset($_POST['login']) && isset($_POST['pass']))    {
    $query = mysql_query("select * from users where login='". $_POST['login'] ."'");
    $mysql = mysql_fetch_array($query);
    }
    if ($_GET['action'] == 'login' && $_POST['pass'] == $mysql[password] && isset($_POST['login']) && isset($_POST['pass']))    {
    $_SESSION['user'] = $mysql[login];
    $_SESSION['type'] = $mysql[type];
    echo "<script>location.href='?mod=login&action=test';</script>";
    }
    if ($_GET['action'] == 'login' && $_POST['pass'] =! $mysql[password])    {
    echo 'Zły login lub hasło';
    }
    if ($_GET['action'] == 'test' && isset($_SESSION['user']))    {
    echo 'Jeste¶ zalogowany';
    }
    
    if ($_GET['action'] == 'logout')    {
    session_destroy();
    echo "<script>location.href='?mod=login&action=test';</script>";
    }
    if ($_GET['action'] == 'test' && $_SESSION['user'] == '')    {
    echo 'Jeste¶ wylogowany';
    }
?>

znacznik code zostal użyty z powodu wstawiania przez bbcode php zbędnych slashy
Z MySQL łącze sie w pliku głównym
A zapomniałem plik jest u mnie ładowany przez plik index.php i ma strukturę modułową więc możesz sobie obciąć w plikach mod=login

Ten post edytował Crop 18.07.2007, 20:22:58
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 03:57