Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przypisanie id zalogowanego usera do posta
Forum PHP.pl > Forum > PHP
kaczorek
Witam,
Probuje zrobic sobie program, dzieki ktoremu poprawnie zalogowany user moglby zglosic problem do odpowiedniego wydzialu. Posty sie dodaja, ale nie moge zidentyfikowac usera, ktory dodal posta.

Informacje do bazy zapisuje w ten sposob:
  1. <?php
  2. if (isset($_POST[subject])){
  3.  
  4. include "database/dbaseinfo.php";
  5.  
  6. $topic=$_POST[subject];
  7. $content=$_POST[problem];
  8. $cat=$_POST[cat];
  9. $time=time();
  10. $results = mysql_query("INSERT INTO post VALUES ('','$time','$topic','$content','1','1','','$cat')") or die mysql_error());
  11.  
  12.  if ($results) {
  13. $info= "Issue has been added. You may add another one";
  14. include ("user/input.php");
  15. }
  16. }
  17. ?>


W tabeli post mam nastepujace pola:
post_id, post_date, post_topic, post_message, post_type, post_modify, user_id, cat_id

Niestety wszystkie rekordy w polu user_id wynosza 0 - co uniemozliwia mi identyfikacje.

Jak sprawic, zeby "user_id" z tabeli user mial taka sama wartosc w tabeli post?

Dzieki z gory za wszelka pomoc.
cadavre
Po dodaniu, odczytaj tą wartość SELECT'em.
mokry
Jeśli chodzi Ci o id użytkownika, to podczas logowania i wybierania ID usera z bazy, zapisz go sobie w sesji, np
$_SESSION['user_id'] = $row['id']

I potem przy jakiejkolwiek operacji gdzie potrzebujesz id usera, wyciągasz ją ze zmiennej $_SESSION['user_id'].
Cienki1980
W tym kodzie co podałeś nie widzę nawet próby wstawienia ID_USERA do bazy.

Tak jak pisał poprzednik zapisz dane usera do sesji i będziesz mógł je w każdej chwili wyciągnąć.
cadavre
Pole `post_id` pozostawiasz puste do wypełnienia. Dalej piszesz:
Cytat
Niestety wszystkie rekordy w polu user_id wynosza 0 - co uniemozliwia mi identyfikacje.
Dodaj zatem atrybut AUTO_INCREMENT (mysql) lub SERIAL (postgresql) dla tabeli dla kolumny `post_id`. Po insercie odczytaj selectem ID, który został automatycznie przypisany i gotowe - możesz dalej ten ID zapisać - jak poprzednicy pisali - w sesji.
Cienki1980
@cadavre tu chyba nie chodzi o id_posta ale o id_usera, który stworzył posta.
cadavre
Więc może po prostu logowanie do systemu i podczas niego zapis ID usera? Innego sposobu nie widzę - czysto teoretycznie rozpoznanie usera.
_Martin_
Też tak mi się wydaję smile.gif

Robisz np zmienną sesji
Ja to widzę tak:
Jak masz zapytanie!
`ID_USERA`

VALUE ="", "", "", "'.$_SESSION['ID_USERA'].'", "","", itp...

P.S Przy logowaniu sesja zapisuje id usera i po kłopocie!

I Chyba gotowe automatycznie będzie ci robić id_usera
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.