20-01-2012, 22:52
Witam
Mam mały problem ponieważ mam taki index
I takie logowanie
i taki plik rejestracji
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
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();
?>
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ą
}
?>
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) < 3 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) < 6 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');
}
?>
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