Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zapis w tabeli $_SESSION['user']
-jorgus-
post
Post #1





Goście







  1. <?php
  2. "INSERT INTO komentarze (ID, tresc, nick, "." data) VALUES ('$id', '$srodek', '$nick', "." NOW());";
  3. ?>


i chciałbym, a nie wiem jak tak zrobić, żeby jeżeli jest ktoś zalogowany w sesji $_SESSION['user'] zapisał się w tabli zamiast $nick. Jeżeli natomiast nie ma takiej sesji z user to wtedy zapisuje się w tabli jako $nick.
Go to the top of the page
+Quote Post
NetJaro
post
Post #2





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Nie rozumiem.. ale.. może o to Ci chodzi:
  1. <?php
  2. if (isset($_SESSION['user']))
  3. $nick = $_SESSION['user'];
  4.  
  5. //dalej dajesz zapytanie. To co wyzej napisalem podmieniasz zmienna $nick gdy sesj
    a 'user' istnieje.
  6. ?>
Go to the top of the page
+Quote Post
-jorgus-
post
Post #3





Goście







o to chodziło dzięki,

ale nasuwa sie teraz juz powazny problem, zeby nikt kto jest w bazie i przekazywany jest jego nick sesją nie mógłbyć zastąpiony przez $nick, nawet jeśli nie jest zalogowany ?
Go to the top of the page
+Quote Post
revyag
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Nie wiem czy dobrze zrozumialem, ale zakładając że nick jest unikalny to problem nie istnieje.
Go to the top of the page
+Quote Post
NetJaro
post
Post #5





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Napisz wyraźniej pytanie.. ja nic nie rozumiem :|
Go to the top of the page
+Quote Post
-jorgus-
post
Post #6





Goście







no chodzi o to jak zapewne jest tutaj na forum, że jeżeli jako gość wpisze Twój nick to nie będę mógł wysłać posta.
w tamtym przykładzie chodzi o to samo ponieważ normalnie dodawać do bazy mogą niezarejestrowani i chodzi wlaśnie o to żeby nie mogli używać nizków tych zarejestrowanych, których nick będzie przekazywany w sesji.

ale już wiem jak to zrobić, tak mi się chyba wydaje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
NetJaro
post
Post #7





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Podczas wysyłania sprawdzaj czy user o takim nicku jest zarejestrowany, i jeżeli jest to po prostu informuj o tym przerywając wykonywanie skryptu.
Go to the top of the page
+Quote Post
-jorgus-
post
Post #8





Goście







  1. <?php
  2. if (isset($_SESSION['prawid_uzyt'])){
  3. $nick = $_SESSION['prawid_uzyt'];
  4.  
  5. //to mi potrzebne żeby wstawić automatycznie nazwę użytkownika do forumularza jeże
    li będzie zalogowany
  6.  
  7. }
  8.  
  9. if ($tresc && $nick ) {
  10.  
  11. //tu sprawdzam czy pola są wypełnione
  12.  
  13. if ($w = mysql_query("select * from users where uzytkownik='$nick'"))
  14.  
  15. //a tu niby to zapytanie o którym niżej
  16. ?>


no i tak sobie próbuje wykombinować jakby to było, żeby nie mógł nikt wykorzystać nicka który jest zarejestrowany w bazie. Więc mam zapytanie jak powyżej i jeżeli się będzie równał ten z bazy z tym który zostanie wpisany to przerywa działanie. Jest tylko jeden problem, że w takim przypadku problem bedzie równeż wtedy kiedy nick będzie pobrany z sesji - wtedy też będzie przerwane działanie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) nie wiem jak to rozdzielić
Go to the top of the page
+Quote Post
Kicok
post
Post #9





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


Chodzi ci o to, że zalogowani użytkownicy mają tylko wpisać treść komentarza, a ich login zostanie dodany automatycznie. Natomiast niezalogowani będą musieli wpisać swój login do dodatkowego pola w formularzu?

Jeśli tak to najpierw sprawdzasz czy w sesji jest zapisany login - jeśli tak to bez pytania dodajesz jego komentarz do bazy z loginem zapisanym w sesji. Jeśli użytkownik nie jest zalogowany, to odczytujesz login z formularza ($_POST['login']), sprawdzasz, czy któryś z zarejestrowanych użytkowników ma już taki login. Jeśli ma to wyświetlasz prośbę o wpisanie innego loginu, a jeśli nie to dodajesz komentarz do bazy z loginem podanym w formularzu.
Go to the top of the page
+Quote Post
-jorgus-
post
Post #10





Goście







dzięki, ale czy sobie dam radę to nie wiem ....
Go to the top of the page
+Quote Post
Luke_Star
post
Post #11





Grupa: Zarejestrowani
Postów: 129
Pomógł: 2
Dołączył: 17.01.2005

Ostrzeżenie: (0%)
-----


Zawsze możesz zrobic że wszyscy niezarejstrowani beda dopisywanie jako "gość". Albo do nazwy niezalogowanego dodawać tylde (~)
Go to the top of the page
+Quote Post
-jorgus-
post
Post #12





Goście







coś kombinuje tylko nie wiem czy tak może być ? może ktoś zerknąć na ten kod?

  1. <?php
  2. if ($dd=='dodaj') { 
  3.  
  4. $id = intval($id);
  5. $srodek = addslashes(nl2br(htmlentities_iso88592 ($srodek))); 
  6. $nick = addslashes(htmlentities_iso88592 ($nick));
  7.  
  8. if (isset($_SESSION['prawid_uzyt'])){
  9. $nick = $_SESSION['prawid_uzyt'];
  10. if ($tresc && $nick) { 
  11. into(); //dodaje do bazy
  12. } }
  13.  
  14. else {
  15.  
  16. if ($w = mysql_query("select * from users where uzytkownik='$nick'")) 
  17.  
  18. echo 'ten nick jest zarezerwowany';
  19.  
  20.  
  21.  
  22. if ($tresc && $nick) { 
  23. into(); //dodaje do bazy
  24. } }
  25.  
  26. else {
  27.  
  28. echo 'musi być wpisany autor i tresc';
  29.  
  30. }
  31.  
  32. }
  33. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 11:57