Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Książka Php i mysql od podstaw
Forum PHP.pl > Forum > PHP
saperek25
Witam!!
Mam pewien problem z przykładem oto kody przykładowych plików:

login.php

Kod
<?php
session_unset();

?>
<html>
<head>
<title>Proszę się zalogować</title>
</head>

<body>
<?php include "header.php"; ?>
<form method="post" action="movie1.php">
    <p>Wpisz nazwę użytkownika:
        <input type="text" name="user">
    </p>
    <p>Wpisz hasło:
        <input type="password" name="pass">
    </p>
    <p>
        <input type="submit" name="Submit" value="Wyslij">
    </p>
</form>
</body>
</html>


movie1.php

Kod
<?php
    session_start();
    $_SESSION['username'] = $_POST['user'];
    $_SESSION['userpass'] = $_POST['pass'];
    $_SESSION['authuser'] = 0;
    
    //sprawdź informacje o nazwie użytkownika i haśle
    if (($_SESSION['username'] == 'Jan') and
        ($_SESSION['userpass'] == '12345')) {
        $_SEESION['authuser'] = 1;
    } else {
        echo "Przepraszamy, ale nie masz uprawnień do zobaczenia tej strony!";
        exit();
    }
?>
<html>
<head>
<title>Znajdż mój ulubiony film!</title>
</head>
<body>
<?php include "header.php"; ?>
<?php
    $myfavmovie = urlencode("Żywot Briana");
    echo "<a href='moviesite.php?favmovie=$myfavmovie'>";
    echo "Kliknij tutaj, aby zobaczyć informacje o moim ulubionym filmie!";
    echo "</a>";
    echo "<br>";
    echo "<a href='moviesite.php?movienum=5'>";
    echo "Kliknij tutaj, aby zobaczyć informacje o pieciu moich ulubionych filmach.";
    echo "</a>";
    echo "<br>";
    echo "<a href='moviesite.php?movienum=10'>";
    echo "Kliknij tutaj, aby zobaczyć informacje o 10 moich ulubionych filmach.";
    
?>
</body>
</html>


moviesite.php
Kod
<?php
    session_start();
    //sprawdx czy użytkownik zalogował się używając poprawnego hasła
    if ($_SESSION['authuser'] != 1) {
        echo "Przepraszamy, ale nie masz uprawnień do zobaczenia naszej strony!";
        exit();
    }
?>
<html>
<head>
<title>Moje filmy</title>
</head>
<body>
<?php include "header.php"; ?>
<?php
    function listmovies_1(){
        echo "1. Żywot Briana<br>";
        echo "2. Szarże<br>";
        echo "3. Życie biurowe<br>";
        echo "4. Monty Phyton i Święty Graal<br>";
        echo "5. Matrix<br>";
    }
    
    function listmovies_2(){
        echo "6. Terminator 2<br>";
        echo "7. Gwiezdne wojny<br>";
        echo "8. Bliskie spotkanie trzeciego stopnia<br>";
        echo "9. Szesnaście świeczek<br>";
        echo "10. Golfiarze<br>";
    }
    
    if (isset($_REQUEST['favmovie'])) {
        echo "Witamy na witrynie użytkowniku ";
        echo $_SESSION['username'];
        echo "! <br>";
        echo "Mój ulubiony film to ";
        echo $_REQUEST['favmovie'];    
        echo "<br>";
        $movierate = 5;
        echo "Moja ocena dla tego filmu wynosi ";
        echo $movierate;
    } else {
        echo "Lista ";
        echo $_REQUEST['movienum'];
        echo " moich najlepszych filmów:";
        echo "<br>";
        
        listmovies_1();
        if ($_REQUEST['movienum'] == 10) listmoveis_2();
    }
    
?>
</body>
</html>


Gdy go uruchamiam wyskakują trzy adresy URL, ale i tak wyskakuje komunikat po wyborze jednego:

"Przepraszamy, ale nie masz uprawnień do zobaczenia naszej strony!"
CuteOne
na pewno wszystko przepisałeś?

podmień to:
  1. <?php
  2. ?>

na to:
  1. <?php
  2. ?>


I w dwóch pozostałych plikach na końcu za </html> dodaj
  1. <?php
  2. ?>
saperek25
Dalej to samo a teraz dodatkowo przy login.php wyskakuje ostrzeżenie:

"Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in /var/www/sites/yoyo.pl/p/r/przyklady/login.php on line 4"
CuteOne
To wywal session_destroy.

podmień to:
  1. <?php
  2. $_SESSION['username'] = $_POST['user'];
  3. $_SESSION['userpass'] = $_POST['pass'];
  4. $_SESSION['authuser'] = 0;
  5.  
  6. //sprawdź informacje o nazwie użytkownika i haśle
  7. if (($_SESSION['username'] == 'Jan') and
  8. ($_SESSION['userpass'] == '12345')) {
  9. $_SEESION['authuser'] = 1;
  10. } else {
  11. echo "Przepraszamy, ale nie masz uprawnień do zobaczenia tej strony!";
  12. exit();
  13. }
  14. ?>


na to
  1. <?php
  2. $_SESSION['username'] = $_POST['user'];
  3. $_SESSION['userpass'] = $_POST['pass'];
  4. $_SESSION['authuser'] = 0;
  5.  
  6. print_r($_SESSION); die();
  7. //sprawdź informacje o nazwie użytkownika i haśle
  8. if (($_SESSION['username'] == 'Jan') and
  9. ($_SESSION['userpass'] == '12345')) {
  10. $_SEESION['authuser'] = 1;
  11. } else {
  12. echo "Przepraszamy, ale nie masz uprawnień do zobaczenia tej strony!";
  13. exit();
  14. }
  15. ?>

Wynik wklej tutaj
saperek25
Cytat(CuteOne @ 31.10.2010, 19:31:58 ) *
To wywal session_destroy.

podmień to:
  1. <?php
  2. $_SESSION['username'] = $_POST['user'];
  3. $_SESSION['userpass'] = $_POST['pass'];
  4. $_SESSION['authuser'] = 0;
  5.  
  6. //sprawdź informacje o nazwie użytkownika i haśle
  7. if (($_SESSION['username'] == 'Jan') and
  8. ($_SESSION['userpass'] == '12345')) {
  9. $_SEESION['authuser'] = 1;
  10. } else {
  11. echo "Przepraszamy, ale nie masz uprawnień do zobaczenia tej strony!";
  12. exit();
  13. }
  14. ?>


na to
  1. <?php
  2. $_SESSION['username'] = $_POST['user'];
  3. $_SESSION['userpass'] = $_POST['pass'];
  4. $_SESSION['authuser'] = 0;
  5.  
  6. print_r($_SESSION); die();
  7. //sprawdź informacje o nazwie użytkownika i haśle
  8. if (($_SESSION['username'] == 'Jan') and
  9. ($_SESSION['userpass'] == '12345')) {
  10. $_SEESION['authuser'] = 1;
  11. } else {
  12. echo "Przepraszamy, ale nie masz uprawnień do zobaczenia tej strony!";
  13. exit();
  14. }
  15. ?>

Wynik wklej tutaj


pokazuje teraz login i hasło

Array ( [username] => Jan [userpass] => 12345 [authuser] => 0 )
CuteOne
Czyli wszystko gra...

  1. <?php
  2. $_SESSION['username'] = $_POST['user'];
  3. $_SESSION['userpass'] = $_POST['pass'];
  4. $_SESSION['authuser'] = 0;
  5.  
  6. //sprawdź informacje o nazwie użytkownika i haśle
  7. if (($_SESSION['username'] == 'Jan') and
  8. ($_SESSION['userpass'] == '12345')) {
  9.  
  10. $_SEESION['authuser'] = 1;
  11. echo 'Zostałeś pomyślnie zalogowany';
  12. }
  13. else {
  14.  
  15. echo "Przepraszamy, ale nie masz uprawnień do zobaczenia tej strony!";
  16. exit();
  17. }
  18. ?>
  19. <html>
  20. <head>
  21. <title>Znajdż mój ulubiony film!</title>
  22. </head>
  23. <body>
  24. <?php include "header.php"; ?>
  25. <?php
  26. $myfavmovie = urlencode("Żywot Briana");
  27. echo "<a href='moviesite.php?favmovie=$myfavmovie'>";
  28. echo "Kliknij tutaj, aby zobaczyć informacje o moim ulubionym filmie!";
  29. echo "</a>";
  30. echo "<br>";
  31. echo "<a href='moviesite.php?movienum=5'>";
  32. echo "Kliknij tutaj, aby zobaczyć informacje o pieciu moich ulubionych filmach.";
  33. echo "</a>";
  34. echo "<br>";
  35. echo "<a href='moviesite.php?movienum=10'>";
  36. echo "Kliknij tutaj, aby zobaczyć informacje o 10 moich ulubionych filmach.";
  37.  
  38. ?>
  39. </body>
  40. </html>


  1. <?php
  2. //sprawdx czy użytkownik zalogował się używając poprawnego hasła
  3. if (!$_SESSION['authuser']) {
  4. echo "Przepraszamy, ale nie masz uprawnień do oglądania naszej strony!";
  5. exit();
  6. }
  7. else {
  8. echo 'Witaj '.$_SESSION['username'];
  9. }
  10. ?>
  11. <html>
  12. <head>
  13. <title>Moje filmy</title>
  14. </head>
  15. <body>
  16. <?php include "header.php"; ?>
  17. <?php
  18. function listmovies_1(){ //poczytaj jak zwracać dane z funkcji (return)
  19. echo "1. Żywot Briana<br>";
  20. echo "2. Szarże<br>";
  21. echo "3. Życie biurowe<br>";
  22. echo "4. Monty Phyton i Święty Graal<br>";
  23. echo "5. Matrix<br>";
  24. }
  25.  
  26. function listmovies_2(){
  27. echo "6. Terminator 2<br>";
  28. echo "7. Gwiezdne wojny<br>";
  29. echo "8. Bliskie spotkanie trzeciego stopnia<br>";
  30. echo "9. Szesnaście świeczek<br>";
  31. echo "10. Golfiarze<br>";
  32. }
  33.  
  34. if (isset($_REQUEST['favmovie'])) {
  35. echo "Witamy na witrynie użytkowniku ";
  36. echo $_SESSION['username'];
  37. echo "! <br>";
  38. echo "Mój ulubiony film to ";
  39. echo $_REQUEST['favmovie'];
  40. echo "<br>";
  41. $movierate = 5;
  42. echo "Moja ocena dla tego filmu wynosi ";
  43. echo $movierate;
  44. } else {
  45. echo "Lista ";
  46. echo $_REQUEST['movienum'];
  47. echo " moich najlepszych filmów:";
  48. echo "<br>";
  49.  
  50. listmovies_1();
  51. if ($_REQUEST['movienum'] == 10) listmoveis_2();
  52. }
  53.  
  54. ?>
  55. </body>
  56. </html>
saperek25
Nie wiem dlaczego ale ciągle to samo sam zobacz

www.przyklady.yoyo.pl/login.php
modern-web
Widzę, że sobie poradziłeś. Wszystko działa tak jak powinno (w każdym razie tak mi się wydaje) winksmiley.jpg
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.