Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Php problem - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Php problem (/thread-php-problem)



Php problem - Smarth - 20-01-2012

Witam

Mam mały problem ponieważ mam taki index

Kod PHP:
<?php
//pobierz ustawienia gry
require_once('ustawienia/ustawienia.php');


//start sesji
session_start();

//jeżeli istnieją dane w sesji to pobierz dane zalogowanego gracza
if(!empty($_SESSION['gracz'])  && is_numeric($_SESSION['gracz'])){ 
    
$gracz getUser($_SESSION['gracz']);

}

//jeżeli nie ma danych użytkownika to ustaw rola = -1 jako niezalogowany
if(empty($id)){    
    
$id['rola'] = -1
}

//wybierz domyślny nagłówek strony
$gora 'strony/ogolne/gora.php';

//wybierz domyślny dół strony
$dol 'strony/ogolne/dol.php';

//lista akcji ogólnych, jeżeli tworzysz nowe to musisz je tu dopisać
$akcje_ogolne = array("start","zaloguj","rejestracja","regulamin","kontakt");

//jeżeli nie wybrano akcji to ustaw domyślną start
if(empty($_GET['akcja'])){ 
    
$_GET['akcja']= 'start'
}


//jeżeli to nie akcja ani admina ani użytkownik to sprawdź czy jest akcją ogólną
elseif(in_Array($_GET['akcja'],$akcje_ogolne)){
    
$strona =  'strony/ogolne/'.$_GET['akcja'].'.php'

 

    
//pobierz pliki i wyświetl stronę
require_once($gora);
require_once(
$strona);
require_once(
$dol);

mysql_close();
ob_end_flush();
?>
I takie logowanie
Kod PHP:
<?php
ob_start
();
session_start(); // rozpoczęcie sesji
?>
<?php

if (!isset($_SESSION['login'])) { // dostęp dla niezalogowanego użytkownika

    
if ($_POST['wyslane']) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt

        
include 'ustawienia/db.php'// połączenie się z bazą danych
        
$tabela 'uzytkownicy'// zdefiniowanie tabeli MySQL 

        
$login $_POST["login"];
        
$haslo $_POST["haslo"];

        
$haslo md5($haslo); // szyfrowanie podanego hasła

        
$wynik=mysql_query("SELECT * FROM $tabela WHERE
        login='
$login' and haslo='$haslo' and status=0");

        
// jeżeli użytkownik zarejestrował się, a nie aktywował swojego konta, to wyświetla się komunikat
        
if (mysql_num_rows($wynik) == 1) {
            
$informacja mysql_fetch_array($wynik);
            echo 
'<span class="blad">Nie aktywowałeś jeszcze swojego konta. Aby to zrobić, wejdź w swoją skrzynkę odbiorczą, a następnie znajdź wiadmość z linkiem aktywacyjnym i aktywuj swoje konto</span>';
            exit;
        }

        
// jeżeli wszystko jest dobrze, użytkownik się loguje
        
$wynik=mysql_query("SELECT * FROM $tabela WHERE
        login='
$login' and haslo='$haslo' and status=1");

        if (
mysql_num_rows($wynik) == 1) {
            
$informacja mysql_fetch_array($wynik);
            
$_SESSION["login"] = $informacja["login"];
            
header('Location: index.php ');
        } else {
            echo 
'<span class="blad">Zostały wprowadzone nieprawidłowe dane!</span>';
        }
        
mysql_close($polaczenie);
    }

    
// tworzenie formularza HTML  
    
echo <<< KONIEC
    
    <form class="form" action="logowanie.php" method="post">
    <input type="hidden" name="wyslane" value="TRUE" />

    <p>
      <div class="label"><label for="login">Login</label></div>
      <input type="text" name="login" id="login" />
    </p>
    
    <p>
      <div class="label"><label for="haslo">Hasło</label></div>
      <input type="password" name="haslo" id="haslo" />
    </p>

    <p class="submit2">
      <input type="submit" value="Zaloguj mnie" />
    </p>
    
    <p class="przypomnij">
        <a href="przypomnienie.php">Nie pamiętasz hasła?</a>
    </p>

    </form>
KONIEC;

} else {
    
header('Location: index.php'); // zalogowany użytkownik zostaje przekierowany na stronę główną
}

if (
$_GET["wylogowanie"] == "tak") {
    
// niszczenie sesji użytkownika
    
session_unset();
    
session_destroy();
    
header('Location: index.php'); // przekierwanie na stronę główną
}

?>
i taki plik rejestracji
Kod PHP:
<?php
ob_start
();
session_start(); // rozpoczęcie sesji
?>
<?php

if (!isset($_SESSION['login'])) { // dostęp dla zalogowanego użytkownika

    
include 'ustawienia/db.php'// połączenie się z bazą danych
    
$tabela 'uzytkownicy'// zdefiniowanie tabeli MySQL
    

if ($_POST["wyslane"]) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt

        // filtrowanie treści wprowadzonych przez użytkownika
        
$login htmlspecialchars(stripslashes(strip_tags(trim($_POST["login"]))), ENT_QUOTES);
        
$haslo $_POST["haslo"];
        
$haslo2 $_POST["haslo2"];
        
$email htmlspecialchars(stripslashes(strip_tags(trim($_POST["email"]))), ENT_QUOTES);
        
$email2 htmlspecialchars(stripslashes(strip_tags(trim($_POST["email2"]))), ENT_QUOTES);
        
$imie htmlspecialchars(addslashes(strip_tags(trim($_POST["imie"]))), ENT_QUOTES);
        
$nazwisko htmlspecialchars(addslashes(strip_tags(trim($_POST["nazwisko"]))), ENT_QUOTES);
        
        
// system sprawdza czy prawidło zostały wprowadzone dane
        
if (strlen($login) < or strlen($login) > 30 or !eregi("^[a-zA-Z0-9_.]+$"$login)) {
            
$blad++;
            echo 
'<span class="blad">Proszę poprawny wprowadzić login (od 3 do 30 znaków).</span>';
        } else {
            
$wynik mysql_query("SELECT * FROM $tabela WHERE login='$login'");
            if (
mysql_num_rows($wynik) <> 0) {
                
$blad++;
                echo 
'<span class="blad">Podana nazwa użytkownika została już zajęta.</span>';
            }
        }
        if (
strlen($haslo) < or strlen($haslo) > 30 ) {
            
$blad++;
            echo 
'<span class="blad">Proszę poprawnie wpisać hasło (od 6 znaków do 30 znaków).</span>';
        }
        if (
$haslo !== $haslo2) {
            
$blad++;
            echo 
'<span class="blad">Podane hasła nie są ze sobą zgodne.</span>';
        }
        if (!
eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$"$email)) {
            
$blad++;
            echo 
'<span class="blad">Proszę wprowadzić poprawnie adres email.</span>';
        } else {
            
$wynik mysql_query("SELECT * FROM $tabela WHERE email='$email'");
            if (
mysql_num_rows($wynik) <> 0) {
                
$blad++;
                echo 
'<span class="blad">Podany adres e-mail jest już zajęty.</span>';
            }
        }
        if (
$email !== $email2) {
            
$blad++;
            echo 
'<span class="blad">Podane adresy e-mail nie są ze sobą zgodne.</span>';
        }
        

        
// jeżeli nie ma żadnego błedu, użytkownik zostaje zarejestronwany i wysłany do niego e-mail z linkiem aktywacyjnym
        
if ($blad == 0) {

            
$haslo md5($haslo); // zaszyfrowanie hasla
            
$kod uniqid(rand()); // tworzenie unikalnego kodu dla użytkownika

            
$wynik mysql_query("INSERT INTO $tabela VALUES('', '$imie', '$nazwisko', '$login', '$haslo', '$email', '$kod', NOW(), '')");
            if (
$wynik) {
                
$list "Witaj $login !
                Kliknij w poniższy link, aby aktywować swoje konto. http://www.nazwa-twojej-strony.pl/weryfikacja.php?weryfikacja=potwierdz&kod=
$kod";
                
mail($email"Rejestracja użytkownika"$list"From: <[email protected]>");
                echo 
'<p>Dziękujemy za rejestrację! W ciągu nabliższych 5 minut dostaniesz wiadomość e-mail z dalszymi wskazówkami rejestracji.</p>';
                
mysql_close($polaczenie);
                exit;
            }
        }
        
mysql_close($polaczenie);
    }

    
// tworzenie formularza HTML
    
echo <<< KONIEC
    
    <div class="formularz">
    <form class="form" action="rejestracja.php" method="post">
    <input type="hidden" name="wyslane" value="TRUE" />

            <p>
                Pola oznaczone gwiazdką <span class="req">*</span> to pola wymagane.
            </p>
    
            <p>
                <div class="label"><label for="imie">Imię</label></div>
                <input type="text" name="imie" id="imie" />
            </p>

            <p>
                <div class="label"><label for="nazwisko">Nazwisko</label></div>
                <input type="text" name="nazwisko" id="nazwisko" />
            </p>

            <p>
                <div class="label"><label for="login">Login <span class="req">*</span></label></div>
                <input type="text" name="login" id="login" />
            </p>
    
            <p>
                <div class="label"><label for="haslo">Hasło <span class="req">*</span></label></div>
                <input type="password" name="haslo" id="haslo" />
            </p>
    
            <p>
                <div class="label"><label for="haslo2">Powtórz hasło <span class="req">*</span></label></div>
                <input type="password" name="haslo2" id="haslo2" />
            </p>
    
            <p>
                <div class="label"><label for="email">Email <span class="req">*</span></label></div>
                <input type="text" name="email" id="email" />
            </p>
    
            <p>
                <div class="label"><label for="email2">Powtórz email <span class="req">*</span></label></div>
                <input type="text" name="email2" id="email2" />
            </p>
KONIEC;
  
   echo <<< KONIEC
   <p class="submit">
      <input type="submit" value="Zarejestruj mnie" />
   </p></form>
KONIEC;

} else {
    
header('Location: /index.php');
}
?>
I problem polega na tym
Chcę zrobić tak żeby gdy użytkownik jest niezalogowany to żeby pobierało pliki z ogólne a gdy użytkownik zostanie zalogowany to żeby wyświetlało pliki z użytkownik.
Co zrobić aby tak było.

Dopiero zaczynam z php i proszę o wyrozumiałość

Serdecznie dziękuję i pozdrawiam




RE: Php problem - Pedro84 - 21-01-2012

Przecież masz w trzecim pliku: if() + isset($_SESSION['login']


RE: Php problem - Smarth - 21-01-2012

ale jak byś mi wytłumaczył co gdzie i jak to bym był bardzo wdzięczny Smile