Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][SQL][PHP]Profil użytkownika.
Forum PHP.pl > Forum > Przedszkole
prostowniczek
Poszukuje skryptu, lub poradnika, jak zrbić prostą stronę, gdzie każdy użytkownik, by miał swoje dane. W tej stronie by mógł zmieniać hasło. Chciałbym, żeby np, jego profil był po adresem: strona.pl/?t=profil=nick
To jest przykład, nie wiem jak to sie robi, proszę o pomoc.
Dodam, że logowanie + rejestracja zrobiona.
Jeżeli dostanę, kod, na pewno sam dostojue do swojej bazy danych.
darko
Jakie ma być przeznaczenie tej strony? Blog, portal czy coś jeszcze innego? Nie możesz skorzystać z gotowych cmsów np. Joomla lub Wordpress? Tam jest taka funkcjonalność.
prostowniczek
dokłądnie, to robię sklep dla serwera, ale chcę aby, można było, zmieniać sobie hasło, w przyszłości, chce to rozbudować, do czegoś poważniejszego.
darko
Jeżeli planujesz wdrożyć coś poważniejszego to polecam Ci wybór np. Magento/os-commerce/Zen Cart/iStore
//edit
ewentualnie Presta shop. Jest tego trochę
prostowniczek
tak, ale ja chciałbym sam kod profil.php + wyszukiwarka użytkowników ewentualnie, nie chcę gotowych projektów.
mat-bi
Jeju, jedno z najłatwiejszych rzeczy -

1. tworzysz plik profil.php
2. w ty pliku sprawdzasz $_GET
3. wysyłasz zapytanie do serwa o takiego usera
4. zwraca ci serw dane
(5.) Reagujesz na problemy

Oczywiście 5 też obowiązkowe, ale na początku nie musi być do nauki.
prostowniczek
łatwiej powiedzieć, trudniej zrobić, jak zaczynałęś, też pewnie nie wiedziałeś co i jak, to ze GET to to ja wiem, ale zrozum, że nie wiem jak napisać ten kod exclamation.gif!!!!!!!!!!!!!!!!
mat-bi
Temat: linkiKursy dla poczatkujacych

Radzę przejrzeć wink.gif

A tak w ogóle, większość apliakcji robimy bardzo podobnie z bazą.
prostowniczek
omg, forum jest aby w temacie pomagać, a nie google google i google, ludzie, ja do aws pisze, a nie mma szperać kursach, zanim ja do tego dojdę, minie miesiąc, proszę was tylko o przykładowy kod exclamation.gif!!
Daiquiri
Po pierwsze: nie "omg" tylko proszę o spokój. Po drugie: forum nie wyklucza korzystania z google/kursów/książek tylko ma pomagać w zrozumieniu zagadnień, które użytkownik już poznał. Ewentualnie pomóc sprecyzować zakres poszukiwań, jeżeli mamy problem ze sformułowaniem haseł kierowanych do google.

Czego nie rozumiesz w punktach, jakie podał Ci mat-bi? Bo to są podstawy podstaw.
prostowniczek
wiem co mati chce mi przetłumaczyć, ale nie potrafię stworzyć kodu
ciekawskiii
gotowca nikt Ci tu nie da skoro Ci nie chce sie uczyć
prostowniczek
no dobra:

  1. <?
  2.  
  3. include ('config.php');;
  4.  
  5. if(isset($_GET['id'])) {
  6. $select=mysql_query("SELECT * FROM uzytkownicy WHERE login='".$_GET['id']."'");
  7. if(!mysql_num_rows($select)) { echo 'Ten użytkownik nie istnieje!!!'; } else {
  8. $user=mysql_fetch_array($select);
  9. echo 'Profil użytkownika: '.$user['nick'].'<br>';
  10. echo 'Imię: '.$user['nick'].'<br>';
  11. }
  12. }
  13.  
  14. ?>


wynalazłem takie coś, ale pisze mi, że taki użytkownik nie istnieje, nie wiem w czym ma błąd,
Daiquiri
A masz usera o takim loginie w bazie?
prostowniczek
no to mój login, wiec powinien byc, i w dodatku wystepuje mi błąd:

Parse error: syntax error, unexpected T_ELSE in /home/ossto/public_html/profil.php on line 8
Nie ma takiego usera

mat-bi
Mam pytanie, czemu sprawdzasz login, a podajesz wartość id? Toż to sensu nie ma (no chyba, że pod id kryje się nick, co jest mało prawdopodobne)
ciekawskiii
kod ogolnie wyglada ok, masz w adresie ?id=TWOJ_LOGIN ?
po drugie powinno byc $user['login']
prostowniczek
  1. <?
  2.  
  3. include ('config.php');;
  4.  
  5. if(isset($_GET['id'])) {
  6. $select=mysql_query("SELECT * FROM uzytkownicy WHERE id='".$_GET['id']."'");
  7. if(!mysql_num_rows($select)) { echo 'Ten użytkownik nie istnieje!!!'; } else {
  8. $user=mysql_fetch_array($select);
  9. echo 'Profil użytkownika: '.$user['nick'].'<br>';
  10. echo 'Imię: '.$user['nick'].'<br>';
  11. }
  12. }
  13.  
  14. ?>


teraz dobrze questionmark.gif sory pomyłka chyba, według mnie kod wyczytuje po id tak? jeżeli nawet to
wyskakuje ten sam błąd w lini 7
ciekawskiii
po include masz dwa średniki
prostowniczek
  1. <?
  2.  
  3. include ('config.php');
  4.  
  5. if(isset($_GET['id'])) {
  6. $select=mysql_query("SELECT * FROM users WHERE id='".$_GET['id']."'");
  7. if(!mysql_num_rows($select)) { echo 'Ten użytkownik nie istnieje!!!'; } else {
  8. $user=mysql_fetch_array($select);
  9. echo 'Profil użytkownika'.$user['nick'];
  10. echo '<p>Login:'.$user['nick'].'</p><br>';
  11. }
  12. }
  13.  
  14. ?>


Dobra wkońcu jakis przełom, pokazuje mi login po id, ale teraz następne pytanie, jak zrobić, aby dany użytkownik, który ma swoje id, może edytować swój profil, a nie może inne id edytować.
mat-bi
....

Ludzie! Odsyłam do zwykłego kursu, bo to zakrawa na kpinę.
Daiquiri
Możesz zapisać numer ID w sesji (np. po logowaniu) i przy edycji go porównywać. Zanim zadasz kolejne pytanie - przeszukaj proszę google i zerknij w kurs.
prostowniczek
nie radzę se z tym, jakieś wskazówki, co mam zrobić, questionmark.gif
mat-bi
po potwierdzeniu logowania
  1.  
  2. $_SESSION['id'] = $row['id'] //tu wprowadzasz zmienną z danymi usera i w razie potrzeby podmieniasz nazwę tablicy


W skrypcie edytowania
  1. if($row['id'] == $_SESSION['id'];
  2. {
  3. //kod
  4. }
  5. else
  6. echo "Nie masz uprawnień";



prostowniczek
po potwierdzeniu logowania, czyli login.php questionmark.gif a co do skryptu edycji, osobny plik? jeżlei tak, to jaki input mam dodać do skryptu profil.php
Daiquiri
"po potwierdzeniu logowania" czyli np. po wysłaniu danych do logowania poprzez formularz.

Brakuje Ci jakichkolwiek podstaw języka PHP, jak więc planujesz w nim cokolwiek samodzielnie napisać?

Edycję możesz rozplanować następująco:
1. Pobrać odpowiednie dane z bazy
2. Wstawić je w formularz np. w textarea
3. Obsłużyć akcję wywoływaną przez wciśnięcie buttona w formularzu
4. Dodać (przefiltrowane) dane wysyłane przez formularz do bazy (update danych).

Jednak zanim pozwolisz komukolwiek cokolwiek edytować musisz go uwierzytelnić. Wybór sposobu w jaki to zrobisz należy do Ciebie.
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.