Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kod logowanie php.pewne braki.
Forum PHP.pl > Forum > PHP
kajok
Mam taki kod .logowanie.php
  1. <?php
  2. session_register("zalogowany");
  3.  
  4. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  5.  
  6. mysql_connect("localhost", "", "")or die("Nie można nawiązać połączenia z bazą");
  7. mysql_select_db("")or die("Wystąpił błąd podczas wybierania bazy danych");
  8.  
  9. function ShowLogin($komunikat=""){
  10. echo "$komunikat<br>";
  11. echo "<form action='index.php' method=post>";
  12. echo "Email: <input type=text name=login><br>";
  13. echo "Hasło: <input type=text name=haslo><br>";
  14. echo "<input type=submit value='Zaloguj!'>";
  15. echo "</form>";
  16. echo "Jeśli nie jesteś zarejestrowany, <a href='rejestruj.php'><B>tu znajdziesz formularz</B></a>";
  17. }
  18.  
  19. ?>
  20. <?php
  21. if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
  22. if($_SESSION["zalogowany"]!=1){
  23. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  24. if(mysql_num_rows(mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){
  25. echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>";
  26. $_SESSION["zalogowany"]=1;
  27. }
  28. else echo ShowLogin("Podano złe dane!!!");
  29. }
  30. else ShowLogin();
  31. }
  32. else{
  33. ?>
  34. Gratulacje! Zalogowałeś się pomyślnie! Masz teraz pełny dostęp do serwisu.
  35. <br><a href='index.php?wyloguj=tak'>wyloguj się</a>
  36. <?php
  37. }
  38. ?>
  39. <?php mysql_close(); ?>


do tego rejestruj.php
  1. <?php
  2. mysql_connect("localhost", "", "")or die("Nie można nawiązać połączenia z bazą"); //połączenie z bazą danych
  3. mysql_select_db("")or die("Wystąpił błąd podczas wybierania bazy danych");
  4.  
  5. function ShowForm($komunikat=""){ //funkcja wyświetlająca formularz rejestracyjny
  6. echo "$komunikat<br>";
  7. echo "<form action='rejestruj.php' method=post>";
  8. echo "Email: <input type=text name=login><br>";
  9. echo "Hasło: <input type=text name=haslo><br>";
  10. echo "<input type=hidden value='1' name=send>";
  11. echo "<input type=submit value='Zarejestruj mnie'>";
  12. echo "</form>";
  13. }
  14. ?>
  15.  
  16. <?php
  17. if($_POST["send"]==1){ //sprawdzanie czy formularz został wysłany
  18. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){ //oraz czy uzupełniono wszystkie dane
  19. if(mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($_POST["login"]."'"))))ShowForm("Użytkownik o podanym loginie już istnieje!!!"); // sprawdzanie czy użytkownik o podanej nazwie już istnieje
  20. else{
  21. mysql_query("insert into users values(NULL, '".htmlspecialchars($_POST["login"])."', '".htmlspecialchars($_POST["haslo"])."')"); // zapisywanie rekordu do bazy
  22. echo "Rejestracja przebiegła pomyślnie. Możesz teraz przejść do <a href='index.php'>strony głównej</a> i się zalogować.";
  23. }
  24. }
  25. else ShowForm("Nie uzupełniono wszystkich pól!!!");
  26. }
  27. else ShowForm();
  28. mysql_close(); //zamykanie połączenia z bazą
  29. ?>

I teraz mam pytanie jaki kod php wstawić do stron które chcę aby były dostępne tylko dla zalogowanych urzytkowników.

Druga sprawa co wstawić za kod aby odnośnik nie akceptował kupna gdy urzytkownik jest nie zalogowany To ten odnośnik.Wstawiłem narazie <a href="rejestruj.php"></a>
CZyli tak po zalogowaniu aby przechodził na tajną strone kupna która póżniej by łączyła do jakiegoś systemu sprzedaży.
<a href="rejestruj.php"> <img src="zakupguaranteed.jpg" alt="" border="0" width="160" height="32" /></a>

Te odnośniki są na stronie http://www.jackbetsports.com/guaranteed100.php

Ten :ZAKUP TERAZ.
nithajasz
Po pierwsze wrzuć ten kod w odpowiedni tag bo jest marnie z jego czytelnością...
kajok
Myślę że teraz jest lepiej.Łączy z bażą pięknie ale ta reszta.Pomożesz? smile.gif
nospor
Cytat
Myślę że teraz jest lepiej

Przeczytaj to:
Temat: PHPzapis and odbior
a szczegolnie moje prosby o stosowanie wlasciwego bbcode. potem popraw swoje i sam stwierdzisz ze jest lepiej smile.gif
kajok
No ok.Poprawiłem to bbcode.I co pomożecie z moimi pytaniami.
Cytat

I teraz mam pytanie jaki kod php wstawić do stron które chcę aby były dostępne tylko dla zalogowanych urzytkowników.

Druga sprawa co wstawić za kod aby odnośnik nie akceptował kupna gdy urzytkownik jest nie zalogowany To ten odnośnik.Wstawiłem narazie <a href="rejestruj.php"></a>
CZyli tak po zalogowaniu aby przechodził na tajną strone kupna która póżniej by łączyła do jakiegoś systemu sprzedaży.
<a href="rejestruj.php"> <img src="zakupguaranteed.jpg" alt="" border="0" width="160" height="32" /></a>

Te odnośniki są na stronie http://www.jackbetsports.com/guaranteed100.php

Ten :ZAKUP TERAZ.
nithajasz
Cytat(kajok @ 31.05.2008, 21:24:40 ) *
No ok.Poprawiłem to bbcode.I co pomożecie z moimi pytaniami.


Kod w php a bbcode do sql tongue.gif

Co do sprawdzania czy jest zalogowany to możesz operować na sesjach

  1. <?php
  2. if($_SESSION['zalogowany']==1) { // funkcja tylko dla zalogowanych}
  3. ?>


Jeśli jest nie zalogowany, a chce wykonać operację tylko dla zalogowanych to dodaj else do powyższego ifa

  1. <?php
  2. else { header("Location: loguj.php"); }
  3. ?>


Nie pozwoli mu to nic zrobić bo przeniesie go do strony z logowaniem...
kajok
Zrobiłem tak
  1. <?php
  2. if($_SESSION['zalogowany']==1);
  3. else { header("Location: index.php"); }
  4. ?>


Zrobiłem tak nie wpuszcza na strone nie zalogowanego i tak jak pisałeś wywala go na index.php.
Ale gdy jestem zalogowany to też nie wpuszcza na stronę i pozostaje na index.php.





Jak zrobić żeby po zalogowaniu wpuszczał na strone nie dostępną dla nie zalogowanych.
nithajasz
Cytat(kajok @ 31.05.2008, 22:06:21 ) *
Zrobiłem tak
  1. <?php
  2. if($_SESSION['zalogowany']==1);
  3. else { header(&#092;"Location: index.php\"); }
  4. ?>


Zrobiłem tak nie wpuszcza na strone nie zalogowanego i tak jak pisałeś wywala go na index.php.
Ale gdy jestem zalogowany to też nie wpuszcza na stronę i pozostaje na index.php.





Jak zrobić żeby po zalogowaniu wpuszczał na strone nie dostępną dla nie zalogowanych.


1. Po warunku if podajesz blok operacji, które ma wykonać np .

  1. <?php
  2. if($_SESSION['zalogowany'] == 1) 
  3. {
  4. echo "zalogowany";
  5. } else {
  6. echo "nie zalogowany"; // albo dać tu przekierunkowanie header(....
  7. }
  8. ?>


... a Ty postawiłeś średnik to i nie dziwne, że nie wpuszcza smile.gif
kajok
Panoawie proszę o pomoc bo mnie zaraz trafi

Jak zrobić żeby po zalogowaniu wpuszczał mnie na strone na którą nie moge wejść gdy jestem nie zalogowany.

Kod ten

  1. <?php
  2. if($_SESSION['zalogowany']==1);
  3. else { header("Location: index.php"); }
  4. ?>


blokuje dostęp do strony niezalogowanych ale także blokuje dostęp zalogowanym.
Jak zrobić by zalogowani wczhodzili na tą stronę.

proszę o pomoc.
rzymek01
moja propozycja jest taka:
1. oprócz sprawdzania $_SESSION sprawdzaj jeszcze chociaż IP, które wcześniej sobie gdzies zapiszesz
2. kontroluj przesyłanie sesji po stronie usera (getem czy cookiesem), ważne jest aby cookie było z twoją domeną i katalogiem

edit: bo masz średnik po Ifie

jak już to:
  1. <?php
  2. if ($_SESSION['zalogowany'] != 1)
  3. {
  4.  header('Location: index.php');
  5. }
  6. ?>
kajok
Bez zmian.
rzymek01
a masz start_session(); przed tym?
pyro
Cytat(rzymek01 @ 31.05.2008, 22:40:21 ) *
a masz start_session(); przed tym?

nie start_session() tylko session_start()
rzymek01
racja, z rozpędu tongue.gif

z reszta i tak wiadomo o co chodzi

edit:
kajok, no jesli masz tak zrobione, że jak $_SESSION['zalogowany'] == 1, to user zalogowany
to jak $_SESSION['zalogowany'] != 1 to musi się odnosić do niezalogowanych i jak w ryj strzelił inaczej nie wyjdzie smile.gif
kajok
Teraz jak wstawiłem te
  1. <?php
  2. ?>

to mi się cofa do index.php i się loguje automatycznie.

i wyskakuje


Gratulacje! Zalogowałeś się pomyślnie! Masz teraz pełny dostęp do serwisu.
wyloguj się


hahahah.Dobra dam sobie spokój dzisiaj.Narazie częsć.Szkoda nerwów.
rzymek01
to zrób jeszcze za session_start:

  1. <?php
  2. var_dump($_SESSION['zalogowany']);
  3. ?>

i napisz co wyświetliło

edit:
Cytat
Już wyłączyłem edytor.

wciskasz win+R i wpisujesz notepad i edytor już odpalony smile.gif
kajok
Już wyłączyłem edytor.
Mimo wszystko dzięki.
Pozdrawiam.

Wyskakuje błąd

Parse error: syntax error, unexpected T_STRING in /home/jackbets/public_html/archiwum.php on line 4
nithajasz
To pokaż tą linie, bo tak ciężko coś powiedzieć.
kajok
  1. <?php
  2. var_dump($_SESSION['zalogowany']);
  3. {
  4.  header('Location: index.php');
  5. }
  6. ?>


Teraz tak wstawiłem

i bład wyskakuje

Parse error: syntax error, unexpected T_STRING in /home/jackbets/public_html/archiwum.php on line 3
nithajasz
1. A gdzie średnik po session_start() ? ;>
2. Skąd te klamry ? Ten kod nie ma prawa działać.

Wstaw to :

  1. <?php
  2. var_dump($_SESSION['zalogowany']);
  3. if($_SESSION['zalogowany'] != 1)
  4. {
  5.  header('Location: index.php');
  6. }
  7. else {
  8. echo "zalogowany";
  9. }
  10. ?>
kajok
To jest adres mojej strony:

www.jackbetsports.com

wchodzisz na stats i żeby cofało do index.php a po zalogowaniu aby weszło na stats.

dane do logowanie
log:kajok
has:inter1
nithajasz
Cytat(kajok @ 1.06.2008, 01:20:50 ) *
To jest adres mojej strony:

http://%3C/b%3E%3Cb%3Ehttp://www.jackbetsp...%3C/b%3E%3Cb%3Ewww.jackbetsports.com/index.php

wchodzisz na stats i żeby cofało do index.php a po zalogowaniu aby weszło na stats.

dane do logowanie
log:kajok
has:inter1


Wstawiłem Ci we wcześniejszym poście kod..

no to masz te stats.. wchodzisz tam i na początku skryptu daj kod

  1. <?php
  2. if($_SESSION['zalogowany'] != 1) // sprawdzenie czy istnieje zmienna sesyjna informująca o zalogowaniu uzytkownika
  3. {
  4.  header('Location: index.php'); // jesli nie istnieje to ma przeniesc uzytkownika do index.php
  5. }
  6. else { 
  7. // tutaj kod który do tej pory miałes w skrypcie stats, wszystko w tych klamrach w
    ykona sie gdy uzytkownik bedzie zalogowany
  8. }
  9. ?>
kajok
Który miałem kod.Ja już zmieniłem stats.
Weś wpisz całe jak powinno być.Plis.Bo znowu coś namieszam.
kosmos
Cytat(nithajasz @ 1.06.2008, 01:26:19 ) *
Wstawiłem Ci we wcześniejszym poście kod..

no to masz te stats.. wchodzisz tam i na początku skryptu daj kod

  1. <?php
  2. if($_SESSION['zalogowany'] != 1) // sprawdzenie czy istnieje zmienna sesyjna informująca o zalogowaniu uzytkownika
  3. {
  4.  header('Location: index.php'); // jesli nie istnieje to ma przeniesc uzytkownika do index.php
  5. }
  6. else { 
  7. // tutaj kod który do tej pory miałes w skrypcie stats, wszystko w tych klamrach w
    ykona sie gdy uzytkownik bedzie zalogowany
  8. }
  9. ?>


znów zapomniałeś o średniku po session_start() smile.gif

Tak poza tym to brakuje tu podstaw strukturalnego php ...
nithajasz
Kajok daj mi kod tego skryptu stats...

Bo inaczej to chyba nie da rady...
kajok
Nie wiem juz co mam wstawić.Sory ale nie znam sięna tym.Szukam tylko pomocy.
kosmos
pokaż jeszcze raz co masz w tej chwili
nithajasz
Do wyciecia coś mi zwiesiło forum i zdublowało post.
nithajasz
Dobra ostatni raz bo kończy mi się cierpliwość pisania w kółko tego samego..

Robisz tak.

1. Otwierasz edytor.
2. Otwierasz skrypt z tym stats
3. Ustawiasz kursor tuż za <?PHP i klikasz dwukrotnie enter
4. Jeśli nie masz tam sessions_start(); to wpisujesz to
5. Klikasz enter schodząc do nowej linii.
6. Wpisujesz warunek : if($_SESSION['zalogowany'] != 1) header("Location: index.php");
7. Klikasz enter i do nowej linii (tak dla przejżystości w kodzie).
8. Zapisujesz i musi działać pod warunkiem, że masz zmienną sesyjną taką smile.gif

Mam nadzieję, że teraz już się uda to zrobić...
kajok
Sory zablokowało mi dostęp do forum.Poczekaj przejże co napisałeś

A jak nie mam takiej zmiennej to jak ustawić taką żeby było dobrze.

Ha Ha jest zrobione.DZięki za cierpliwośc hahahahahahaha.
Możesz sprawdzić.
kajok
inter1

guitar.gif

DZIAłA . DZIęKI WIELKIE guitar.gif
pyro
Cytat(nithajasz @ 1.06.2008, 02:05:02 ) *
4. Jeśli nie masz tam sessions_start(); to wpisujesz to


najpierw napisałeś start_session(), a teraz sessions_start() tongue.gif to ma być session_start() smile.gif, ale widze, że kolega i tak se poradził
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.