Mam mały problem. Na mojej stronie można się rejestrować i logować. Na każdej podstronie użytkownik zostaje przywitany, np: "Witaj Admin!". Wszystko jest dobrze, ale nie do końca. Gdy wejdziemy na profil jakiego¶ użytkownika jeste¶my przywitani jego loginem...
Znam przyczynę powstawania takiego czego¶. Mi chodzi o to, żeby¶my na profilach innych użytkowników byli poprawnie przywitani.
Wszystkie podstrony pobieraj± dane użytkownika za pomoc± $user_data = get_user_data(); . Ale na profilach użytkowników tak nie jest. Pobierane s± wówczas dane usera na którego jeste¶my profilu, a nasze dane pobierane nie s±. Na profilach zamiast $user_data = get_user_data(); jest $user_data = get_user_data($_GET['id']); - pobiera to dane użytkownika o danym numerze id.
Jeżeli byłoby to interesuj±ce, b±dĽ potrzebne to adresem profilu jest /profile.php?id=1, gdzie 1 to numer id usera.
Mam nadzieję, że napisałem to w miarę przystępnie i kto¶ będzie potrafił mi pomóc.
Poniżej prezentuję skrypt profile.php:
<?php include 'config.php'; db_connect(); check_login(); // filtrujemy id oraz rzutujemy je na int $_GET['id'] = (int)clear($_GET['id']); // pobieramy dane usera z podanego id $user_data = get_user_data($_GET['id']); // sprawdzamy czy znalazło użytkownika // jeśli nie to wyświetlamy komunikat // a jeśli tak to wyświetlamy wszystkie jego dane // jeśli user nie ma podanej strony www lub skąd jest to wyświetlamy "brak" if($user_data === false) { } else { echo '<html> <head> </head> <body> <h2>'.$user_data['user_name'].':</h2> <p>Email: '.$user_data['user_email'].'</p> <p>Strona WWW: '.(empty($user_data['user_website']) ? 'Nie podano' : $user_data['user_website']).'</p> </body> </html>'; } db_close(); ?>