Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Automatyczne oddalanie, zapisywanie ostatnio odiwedzanej strony do sql
Forum PHP.pl > Forum > Gotowe rozwiązania
RosheD
Witam bardzo serdecznie! Potrzebował bym kodu który będzię oddalał strone automatycznie do podanych przezemnie wartości. Strona ma być oddalana cała a nie dany div.
Drugą sprawą jest tak jak w temacie abym mógł umieścić np takie coś "Ostatnio skończyłeś przeglądać /18.php" czy coś w ten deseń.
Trzecią sprawą jest raczej podpowiedzenie mi. Mam stworzoną rejestrację. Wystarczy że podepne ją do strony nadrzednej za pomocą include a wszystko będzie działąć ? Czy jak to się robi...
Z góry dziekuje za odpowiedzi smile.gif
com
punkt 2 poczytaj na temat HTML5 History API tu masz przykład http://html5demos.com/history
punkt 3 "to jest tak jakbyś się nas zapytał czy jak do pluszowego misia włożę silnik to ożyje? " pokaż nam swój kod a wtedy ktoś ci powie jak z niego skorzystać, bo mam wrażenie, że tak to nie zadziała, tylko to raczej nie powinno być w tym dziale wink.gif
RosheD
Przepraszam co do 2 punktu nie wyraziłem się wyraznie. Miałem na mysli że ma to działać po przez SQL. A co do 3 to masz racje nie ten dział ale chyba lepiej jak zadam go tutaj niż jak będę zakładał milion tematów. Ale jesli ma tak być to się dostosuje.
com
poco na bazie skoro są do tego o wiele lepsze narzędzia typu HTML5 History API? a co do reszty to chodzi o to, że nie jest zgodne z tematyka, a skoro potrzebujesz pomocy to to trzeba się tam do nas zwracać, po pierwsze nie będzie zaśmiecać tego działu, a po drugie prędzej znajdziesz tam odpowiedź wink.gif
RosheD
Dobrze. Ale jednak bardzo zależy mi na tym aby historia była w SQL ponieważ zalogowany użytkownik bedzie miał dostęp do strony na której skończył a będzie to działało jako gra. A osoba co gra pierwszy raz będzie miała dostep na wiecej sprzetów niż tylko na swoim. Więc bardzo nalegał bym aby ktoś mi pomógł lub zrobił gotowca co do pyt 2 jak i pierwszego które nie otrzymało narazie żadnej odpowiedzi smile.gif
com
No to w tym wypadku to zmienia sens, chodzi Ci o przechowywanie tylko ostatniej pozycji czy całej historii? bo jeśli ostatnia pozycje to wystarczy, że stworzysz sobie w bazie tabelkę np taka
http://sqlfiddle.com/#!2/c1ba37/1

no i przy logowaniu pobierasz wartość tam zapisaną, no chyba ze chodzi o zmianę za każdym razem jak gdzieś przejdziesz, to będziesz po prostu przy lądowaniu strony robił update ... a jeśli tylko ostatnia przed wylogowaniem to po prostu klikając wyloguj przęśli do tego pliku ostatnia ścieżkę a tam zrób update... a ścieżkę możesz pobrać np przez pathinfo
RosheD
Dokładnie o takie coś mi chodziło exclamation.gif Teraz tylko jak to przypiąć. Dodać tabelkę do bazy danych póżniej reszte kodu dodać do php i przypiąć w miejsce gdzie chce mieć te informacje? (przypiąć za pomocą include) i dzieki naprawde świetna robota exclamation.gif

@edit
Po dodaniu kodu do strony wyskakuje taki błąd "Parse error: syntax error, unexpected T_STRING in /home/u557143795/public_html/history.php on line 4 "
Kod :
  1. require 'config.php';
  2.  
  3. INSERT INTO history
  4. (users, history)
  5. VALUES
  6. ('przyklad', './a.php');
com
tak możesz to zrobić jeśli chcesz te informacje wykorzystywać wielu plikach, bo jak w jednym to bym się pokusił o umieszczenie kodu bezpośrednio w tym pliku z resztą strony wink.gif
RosheD
Nie nie plik będzie umieszany w bardzo wielu stronach, więc przez takie coś to musi być. Zrobiłem update i pokazałem jaki błąd mi wyskakuje . Możesz mi wytłumaczyć gdzie zrobiłem błąd?
com
ten kod http://sqlfiddle.com/#!2/c1ba37/1 jest tylko pseudokodem smile.gif żeby to zrobić w php to musisz połączyć się z bazą, wybrać tabele a potem tylko w pliku z rejestracja dajesz to
  1. $dodaj = "INSERT INTO history (users, history) VALUES ('przyklad', './a.php')";
  2. mysql_query($dodaj) OR die('Błąd zapytania');

oczywiście pod 'przyklad' podstawisz swoja nazwę usera smile.gif a pod ścieżkę własną smile.gif
RosheD
Ok dzięki jeszcze raz. Teraz kod działa tylko nie rozumiem jak przypisać to do danego użytkownika.
jak zrobić żeby ten kod brał dane z innej tabelki, w sensie że bierze ID z tabelki users a zapisuje dane do history tak jak zaproponowałeś smile.gif


com
masz rację zapomniałem o tej kwestii, że przecież musisz być zalogowany poprawka do tabeli http://sqlfiddle.com/#!2/bc825 a id_user łączysz z id w tabeli używanej do logowania za pomocą relacji smile.gif i na podstawie tego ustalasz jaki ma nr dany user smile.gif
RosheD
"id_user łączysz z id w tabeli używanej do logowania za pomocą relacji smile.gif i na podstawie tego ustalasz jaki ma nr dany user "
mógł byś wyjaśnić o co dokładnie kaman? Jak dokładnie to zrobić jeśli możesz to podaj gotowca z tego nauczę się najwiecej analizując linijke po linijce niż jak mam cię meczyć odpowiedziami co 2 min.
com
nie dam ci gotowca bo nie mam twoje tabeli user i wgl ale mogę Ci wytłumaczyć co i jak, chodzi o to, że zapewne w tabeli user posiadasz pole id auto_increment, wiec automatycznie dopisuje Ci się nr, no wiec na podstawie tego nr w tabeli historia będziesz oznaczał użytkowników, czyli po stworzeniu użytkownika sprawdzasz jaki został przydzielony mu numer i zapisujesz go do zmiennej np $idUser a następnie tworzysz w tabeli historia wpis :
  1.  
  2. // tutaj łączysz się z baza itd.
  3. $dodaj = "INSERT INTO history (id_user, history) VALUES ($idUser, './a.php')";
  4. mysql_query($dodaj) OR die('Błąd zapytania');
RosheD
Zrozumiałem to tak że musze dodać ten wpis do rejestracji on automatycznie będzie przypisywał id zarówno w tabeli "users" bo tam u mnie rejestrują się użytkownicy jak i history . Dobrze zrozumiałem?
com
no prawie dobrze... jeszcze raz po kolei wypunktuje Ci:
1. użytkownik podaje dane i dodaje sie nowy wpis do tabeli users
2. pobierasz z bazy danych id z tabeli users na podstawie loginu użytkownika który masz zapisany w $POST['user'] czy dowolnie inaczej
3. zapisujesz pobrane id do zmiennej np $idUser
4. dodajesz wpis do tabeli history jak na przykładzie wyżej
5. Użytkownik loguje się wykonujesz UPDATE ścieżki pliku który odwiedził pobierając id w podobny sposób jak wcześniej, można by tu użyć SELECT INSERT i SELECT UPDATE ale z tym sobie chyba nie poradzisz, dlatego rozbij sobie na dwa zapytania wink.gif
RosheD
Stary proszę cię, mózg ro****any biggrin.gif Możesz trochę mniej mózgowo ? Nie mam takiej umiejętności nie potrafię się nauczyć z tego co mi mówisz jeśli jestem zielony w tych sprawach.
Jeśli masz trochę czasu i chęci to prosze cię wyjaśnij mi to tak samo tylko każdy z tych punktów bardziej rozpisz bo nie zrozumiałem pare więc:
Na czym polega sciąganie z bazy danych, ten kod który podałeś już to samo wykonuje prawda?
Ten kod również sam zapisuje dane do id_user?
Nie będzie prościej przerobić ten kod aby pokrywał się z już "users". Nie może po prostu wczytywać już gotowego id ?
Co masz na myśli "robić update", z czym to się je i o co dokładnie chodzi bo tego to wgl nie rozumiem. To też chyba już ten sam kod wykonuje prawda?
Naprawdę przepraszam ale nie potrafię tego zrozumieć i niech ci Bóg w ilości s*ksu wynagrodzi smile.gif

com
widzę, że na chwile obecna to ja nie jestem w stanie Ci pomóc, bo ja myślałem ze po prostu nie wiesz jak do tego podejść ale widzę Ty po prostu jesteś zielony w temacie mysql dlatego na początek trzeba by poznać jego tajniki http://webmade.org/kursy-online/kurs-mysql.php wink.gif a potem jak już opanujesz materiał to można pomyśleć o tym co jest w temacie.. bo ja choćbym chciał w tym temacie nie nauczę Cie całego mysql smile.gif
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-2024 Invision Power Services, Inc.