Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Tworzenie profilu uzytkownika
Max Damage
post 19.09.2007, 17:58:14
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Próbuję stworzyć profil użytkownika (tak jak np. na różnych forach).
Pierwszy skrypt wyświetla wszystkich użytkowników i linki:
  1. <?php
  2. $zapytanie2="select * from user order by user_id desc";
  3. $wynik2=$lacz->query($zapytanie2);
  4. while($wiadomosc2=$wynik2->fetch_assoc())
  5. {
  6. echo "<a href='profil.php?id=".$wiadomosc2['user_id']."'>".$wiadomosc2['nick']."</a>";
  7. echo '<br/>';
  8. }
  9. ?>

Po kliknięciu an link przenosi mnie na inną stronę gdzie mam zobaczyć profil swój lub innej osoby.
  1. <?php
  2. require_once('funkcje_wyswietl.php');
  3. require_once('prawidlowe_dane.php');
  4.  
  5. $id=$_GET['id'];
  6. $lacz=lacz_bd();
  7. $zapytanie="select * from user where user_id='$id'";
  8. $wynik=$lacz->query($zapytanie);
  9. if(isset($_SESSION['uzyt']))==$id
  10. {
  11.  while($wiadomosc=$wynik->fetch_array())
  12.  { 
  13.  echo '<br/>';
  14.  echo $wiadomosc['email'];
  15.  echo '<br/>'; 
  16.  echo $wiadomosc['haslo'];
  17.  echo '<br/>';
  18.  }
  19.  }
  20. else
  21. { 
  22. echo 'nie masz dostepu na to konto itd.';
  23. }
  24. ?>


Niestety wyświetla mi tylko błąd: syntax error, unexpected T_IS_EQUAL (w linii 10)
Czy to jest ogólnie rzecz biorąc poprawnie napisane? I co to za błąd, jak to naprawić tak aby wyświetlało to co chce?


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
vtuner
post 19.09.2007, 18:33:27
Post #2





Grupa: Zarejestrowani
Postów: 220
Pomógł: 10
Dołączył: 23.08.2005
Skąd: Łódź

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


[left]
  1. <?php
  2. if(isset($_SESSION['uzyt']))==$id
  3. ?>


powinno być

  1. <?php
  2. if(isset($_SESSION['uzyt'])==$id)
  3. ?>

Go to the top of the page
+Quote Post
Max Damage
post 19.09.2007, 18:40:45
Post #3





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Hm, nom ok działa chociaż nie tak jak bym chciał. Teraz gdy nie jestem zalogowany pisze mi 'nie masz dostępu na to konto'. A gdy jestem zalogowany i wchodzę na swój profil pokazuje mi moje hasło i email, a gdy wchodzę na kogoś innego to pokazuje mi jego hasło i email.
Chciałem natomiast zrobić tak aby gdy jestem zalogowany pisało mi na moim profilu hasło i email, a na kogoś innego 'nie masz dostępu na to konto'.
Jak to powinienem mniej więcej przerobić ?

Ten post edytował Max Damage 19.09.2007, 18:43:42


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post
k@mil
post 19.09.2007, 20:15:50
Post #4





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 19.08.2007
Skąd: Glinnik

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


sprawdz czy identyfikator (czy czym bys nie sprawdzal) uzytkownika zalogowanego jest rowny identyfikatorowi (albo cos innego) uzytkownika ktorego profil probujesz zmienic

chyba ze nie bardzo o takie cos ci chodzi
Go to the top of the page
+Quote Post
Kicok
post 19.09.2007, 20:18:46
Post #5





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Ja na twoim miejscu zacząłbym od sprawdzenia co zwraca isset" title="Zobacz w manualu PHP" target="_manual. Potem przeanalizowałbym jeszcze raz warunek, o którym była już mowa powyżej.


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
Max Damage
post 20.09.2007, 16:36:23
Post #6





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


isset zwraca false gdy nie istnieje jakaś np. jakaś zmienna. Specjalnie ją tutaj napisałem aby wiedzieć czy ktoś jest zalogowany czy nie. Nie wiem co miałeś na myśli mówiąc mi o tym. Nie wiem nadal także jak to przerobić. Gdy ją usuwam to wszędzie mi pisze 'nie masz dostępu na to konto', niezależnie od tego czy jestem zalogowany czy nie. Może jakaś konkretniejsza podpowiedź ?


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post
vtuner
post 20.09.2007, 16:58:48
Post #7





Grupa: Zarejestrowani
Postów: 220
Pomógł: 10
Dołączył: 23.08.2005
Skąd: Łódź

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


sorry, zamiast:

  1. <?php
  2. if(isset($_SESSION['uzyt'])==$id)
  3. ?>


daj

  1. <?php
  2. if(isset($_SESSION['uzyt']) AND $_SESSION['uzyt']==$id)
  3. ?>
Go to the top of the page
+Quote Post
Max Damage
post 20.09.2007, 18:32:20
Post #8





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Niestety to też nie to. W ten sposób znów wszędzie wyświetla się : 'nie masz dostępu na to konto' niezależnie od tego czy jestem zalogowany czy nie :/
Ma ktoś może jeszcze jakieś pomysły?


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post
vtuner
post 20.09.2007, 19:01:13
Post #9





Grupa: Zarejestrowani
Postów: 220
Pomógł: 10
Dołączył: 23.08.2005
Skąd: Łódź

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


No to wyglada na to, że nie zapisuje Ci w sesji wartości ID.

Sprawdź co zwraca ci
  1. <?php
  2. echo $_SESSIOSN['uzyt']
  3. ?>
po zalogowaniu

Jeżeli będzie pusty to znaczy, że musisz poprawić przekazywanie danych do sesji.
Go to the top of the page
+Quote Post
Max Damage
post 21.09.2007, 14:03:58
Post #10





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Ehh, no tak, miałem w sesji przekazywany nick zamiast id użytkownika. Ale już sobie poradziłem. Dzięki wielkie za pomoc.


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 09:51