Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Strona uzytkownika - jak zbudowac
Forum PHP.pl > Forum > Przedszkole
Turson
Zastanawiam się na jakiej zasadzie zbudować stronę użytkownika, tzn. każdy użytkownik ma swój profil i tam informacje o nim.
Link do niego zrobilem tak <a href=?id=user-'. $wiersz[1] .'> gdzie $wiersz[1] = nick usera.
Ale jak zbudowac jego profil?
Moze lepiej dać <form action=?id=user method=post> do uzytkownikow, np. w podstronie za pomoca POST wyciagnac jego dane z bazy?
Albo w PHP funkcją GET wyciagnac nick?
piotrooo89
zapisuj w sesji id_user'a i z każdej podstrony będziesz miał do niego dostęp.
Turson
Swojego zalogowanego mam, a mnie chodzi o innych uzytkownikow, gdzie moge innych podejrzec
piotrooo89
aaa chodzi Ci o zakładkę Użytkownicy? wiec metoda jest chyba dowolna ajax, formularz, link. ja preferowałbym link. dlaczego? z prostego względu, ktoś Cie poprosi o podanie linka do użytkownika XXX i Ty już będziesz wiedział jak go skopiować i przekazać dalej, jest to dość proste zastosowanie ale bardzo bardzo często ludzie pokazują coś za pomocą POST'a i jak trzeba to komuś przesłać to jest lekkie kuku. dlatego ja stosuje coś co pokazujemy userowi ślemy GET'em, dane które lecą do DB ślemy POST'em.
Turson
Ale na zasadzie <form> + GET? Czy nie a w pilczku php dać dopiero get?
piotrooo89
może być i form, ale moim zdaniem to lekka przesada.
Turson
Wiec jak, bo całkiem mi się pomieszało. Przykład proszę
piotrooo89
masz zakładke użytkownicy (users.php) w której będziesz pokazywał listę user'ów w systemie. i teraz po kliknięciu np w nick
  1. <a href="user_info?id_user=2">TursoN</a>

przekierowuje Cię do user_info.php i tam sobie pobierasz info na temat danego usera (po id_user wiesz jakiego) i tyle.
Turson
No tak i w jaki sposób zbudować tego GETa w user_info.php?
piotrooo89
jakiego GET'a chcesz tam budować? tam masz go tylko odebrać "włożyć" do SQL'ki i wyświetlić dane.
Turson
Napisałem coś takiego
  1. <center><u>Ksiega gosci</u></center><br><?php
  2. if($_SESSION["zalogowany"]==1){echo "
  3. <form action='index.php?id=ksiega-wpis' method=post>
  4. Komentarz <input type=text size=40 name=wpis> <input type=submit value='Dodaj wpis' class=button>"; }
  5.  
  6. ?>
  7. <?PHP
  8. $zapytanie = "SELECT wpis, autor FROM `ksiega` ORDER BY `id` DESC";
  9. $idzapytania = mysql_query($zapytanie);
  10.  
  11. echo '<br><br><b>WPISY:</b><br>';
  12. while ($wiersz = mysql_fetch_row($idzapytania))
  13. {
  14. echo '<font color="#494949"><b>Komentarz:</b> '. $wiersz[0] .'<br>
  15. <span style=margin-left:10px;font-size:12px;>Dodane przez <a href=?user='. $wiersz[1] .'><i>~'. $wiersz[1] .'</a></span></i></font><hr size=1 width=100% style=height:1px>';
  16. }
  17. //odtąd już nie działa
  18. if($_GET["user"]==$wiersz[1]){
  19. echo "Nick tego usera to <b>' .$wiersz[1]. '";}
  20. else echo "Taki uzytkownik nie istnieje";
  21. ?>

Ale nie wiem czy w ogóle to ma prawo dzialac.
piotrooo89
z tego kodu nie da się NIC wyczytać. wiec pokaż co masz w których plikach etc a nie tak "na pałę" powrzucałeś.
Turson
index
  1. //całosc strony
  2. if(empty($_REQUEST['id'])) {
  3. $_REQUEST['id'] = "news";
  4. $id = "news";
  5. }
  6. switch($_REQUEST['id']) {
  7. case "news":
  8. include("news.php");
  9. break;
  10. case "ksiega";
  11. include("ksiega.php");
  12. break;
  13. case "wyloguj";
  14. include("wyloguj.php");
  15. break;
  16. case "ksiega?wpis";
  17. include("ksiega-wpis.php");
  18. break;
  19. case "user";
  20. include("user.php");
  21. break;
  22. //reszta strony

ksiega
  1. <center><u>Ksiega gosci</u></center><br><?php
  2. if($_SESSION["zalogowany"]==1){echo "
  3. <form action='?id=ksiega?wpis' method=post>
  4. Komentarz <input type=text size=40 name=wpis> <input type=submit value='Dodaj wpis' class=button>"; }
  5.  
  6. ?>
  7. <?PHP
  8. $zapytanie = "SELECT wpis, autor FROM `ksiega` ORDER BY `id` DESC";
  9. $idzapytania = mysql_query($zapytanie);
  10.  
  11. echo '<br><br><b>WPISY:</b><br>';
  12. while ($wiersz = mysql_fetch_row($idzapytania))
  13.  
  14. {
  15. echo '<font color="#494949"><b>Komentarz:</b> '. $wiersz[0] .'<br>
  16. <span style=margin-left:10px;font-size:12px;>Dodane przez <a href=?id=user?id='. $wiersz[1] .'><i>~'. $wiersz[1] .'</a></span></i></font><hr size=1 width=100% style=height:1px>';
  17. }
  18. ?>

No i teraz link dziala prawidolowo. Pozostaje napisac skrypt wyswietlania danych wg. nicku uzytkownika ale nie wiem jak dane o uzytkowniku przeslac/wyciagnac z linku
piotrooo89
robisz dodatkowy skrypt user_info.php. teraz w pliku ksiega.php w miejscu:

  1. <a href=?id=user?id='. $wiersz[1] .'><i>~'. $wiersz[1] .'</a>


robisz tak

  1. <a href=user_info.php?id=user?id='. $wiersz[1] .'><i>~'. $wiersz[1] .'</a>


(fajnie by było jakbyś miał jeszcze w tej SQL'ce id_user'a).

  1. SELECT wpis, autor, id FROM `ksiega` ORDER BY `id` DESC


i teraz ładnie możesz przekazać sobie do user_info jego id.

W pliku user_info masz SQL'ek do pokazania info na temat usera:

  1. SELECT * FROM nazwa_twojej_tabeli_z_danymi_usera WHERE id_user=$_GET['id']


jakaś ewentualna pętla (chyba nie potrzebna bo chcesz mieć tylko jeden rekord).

takie coś oczywiście poglądowe. przetraw na spokojnie zastanów się, i odpowiednio zakodz.
Turson
Ok, chodzi, wielkie dzięki.
Trochę odmienny problem, mój index wygląda następująco:
  1. if(empty($_REQUEST['id'])) {
  2. $_REQUEST['id'] = "news";
  3. $id = "news";
  4. }
  5. switch($_REQUEST['id']) {
  6. case "news":
  7. include("news.php");
  8. break;
  9. case "user";
  10. include("user.php");
  11. break;

Więc w jaki sposób mam ten kod 'wmiksować', żeby działało to na index.php?id=user?id= ?

Robiąc index.php?id=user?id=nick nie działa, nie mam pojęcia co zrobić...

ref
jaca19
Chodzi o takie coś: http://designerstudio.pl/userinfo.php?user=admin ?
Turson
Chodzi mi żeby linki wygladały normalnie, ale żebym za każdym razem nie musiał pisać menu itd, ale wystarczy zrobić plik np. z tekstem "ABC" a on już zostanie zaincludowany do body.
Teraz tylko pliki z linkiem index.php?id= działają w ten sposób, a zrobię user.php?nick= i już bez stylów itd...
nekomata
GET (bo tych tu uzywasz chociaz odwołujesz sie requestem) można przecież łączyć ... przykładowo
Kod
index.php?id=user&nick=stasiek
łączysz za pomocą znaku & (and).
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.