Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]wyciąganie nicku z sesji
Terrorizer
post 6.02.2014, 18:34:15
Post #1





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


Cześć,
Niestety kolejny raz jestem zmuszony prosić o pomoc. Cały dzień siedze i myśle nad prostymi linijkami kodu, a każdy kolejny pomysł okazuje się coraz gorszy...
Mam prostą stronę na której wpisuje się komentarze.
Mój tok rozumowania jest taki...
Wypełniam formularz, przesyłany nick i komentarz za pomocą post zapisywane są w bazie. W tym czasie przechwytywany jest nick z POST i przekazywany do sesji, która sprawia ,że nie trzeba go ponownie wpisywać.
Na razie nie umiem wstawić takiej informacji do formularza, ale chciałem chociaż aby echo wypisało mi dany nick, jednak coś z tą moją sesją jest nie tak.
Co ja tutaj robię źle? Linijki: 9,13,14 odpowiedzialne są za sesję

  1. <form action="" method="POST">
  2. <label>Twoje imie:</label><input type="text" name='twoje_imie' required ><br>
  3. <label>Komentarz:<br></label><textarea rows="4" cols="50" name='komentarz' autofocus required> </textarea><br>
  4. <input type='submit' name='submit' value='wyslij'>
  5. </form>
  6.  
  7.  
  8. <?php // SENDING FORM TO DATABASE + SESSION NICK //
  9. if (isset($_POST['submit'])){
  10. mysql_query('insert into komentarze (imie, komentarz) values ("'.$_POST["twoje_imie"].'" , "'.$_POST["komentarz"].'")')
  11. or die('nie mozna zapisac komentarza'.mysql_error());
  12. $_SESSION['nick'] = $_POST['twoje_imie'];
  13. echo("$_SESSION['nick']");
  14. header("Location: index.php");
  15. }
  16. ?>


Ten post edytował Terrorizer 6.02.2014, 18:36:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 17)
Turson
post 6.02.2014, 18:56:34
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


daj
  1. print_r($_SESSION);
Go to the top of the page
+Quote Post
Terrorizer
post 6.02.2014, 18:58:24
Post #3





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


W ogóle wywala mi "Parse error: syntax error, unexpected 'nick' (T_STRING) " sad.gif
Go to the top of the page
+Quote Post
webmaniak
post 6.02.2014, 19:02:22
Post #4





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


Chyba:
  1. echo($_SESSION['nick']);


--------------------
Pomogłem - kliknij , wprowadziłem w błąd - poinformuj niżej lub na pm.
Go to the top of the page
+Quote Post
Terrorizer
post 6.02.2014, 19:04:02
Post #5





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


Uff te apostrofy mnie wykończą...
Linijka print_r niczego mi nie wyświetla sad.gif
Go to the top of the page
+Quote Post
webmaniak
post 6.02.2014, 19:05:44
Post #6





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


A to co podalem?


--------------------
Pomogłem - kliknij , wprowadziłem w błąd - poinformuj niżej lub na pm.
Go to the top of the page
+Quote Post
Terrorizer
post 6.02.2014, 19:11:19
Post #7





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


Niestety też nic sad.gif
Chociaż teraz nie ma błędu, bo apostrofy poprawiłem biggrin.gif
Go to the top of the page
+Quote Post
webmaniak
post 6.02.2014, 19:14:38
Post #8





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

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


To:
  1. var_dump($_SESSION);

Wklej wynik.


--------------------
Pomogłem - kliknij , wprowadziłem w błąd - poinformuj niżej lub na pm.
Go to the top of the page
+Quote Post
Terrorizer
post 6.02.2014, 19:22:55
Post #9





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


To też niczego nie wyświetla sad.gif
Mój błąd leży gdzieś w podstawach, jak się domyślam. Coś musiałem źle sformułować, zwyczajnie te sesje mi nie działają
Go to the top of the page
+Quote Post
Turson
post 6.02.2014, 19:26:11
Post #10





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Pokaż cały kod łącznie z tym var_dump
Go to the top of the page
+Quote Post
Terrorizer
post 6.02.2014, 19:28:15
Post #11





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <html lang="en">
  5. <title> Pisz co chcesz </title>
  6. <meta charset="UTF-8">
  7. <link rel="stylesheet" href="css/index style.css">
  8. </head>
  9.  
  10.  
  11. <?php // DATABASE CONNECTION //
  12. mysql_connect('localhost','root','')
  13. or die('brak polaczenia z serwerem<br>blad'.mysql_error());
  14.  
  15. mysql_select_db('komentarze')
  16. or die('Nie mogę połączyć się z bazą danych<br>Błąd: '.mysql_error());
  17. ?>
  18.  
  19. <div id="comments">
  20. <?php // WRITING COMMENTS FROM DATABASE //
  21. $komenty = mysql_query('select * from komentarze');
  22. while ($txt = mysql_fetch_assoc($komenty)){
  23. echo($txt['imie'].' : '. $txt['komentarz'] .' '. "<br>");
  24. }
  25. ?></div>
  26.  
  27.  
  28. <form action="" method="POST">
  29. <label>Twoje imie:</label><input type="text" name='twoje_imie' required ><br>
  30. <label>Komentarz:<br></label><textarea rows="4" cols="50" name='komentarz' autofocus required> </textarea><br>
  31. <input type='submit' name='submit' value='wyslij'>
  32. </form>
  33.  
  34.  
  35. <?php // SENDING FORM TO DATABASE //
  36. if (isset($_POST['submit'])){
  37. mysql_query('insert into komentarze (imie, komentarz) values ("'.$_POST["twoje_imie"].'" , "'.$_POST["komentarz"].'")')
  38. or die('nie mozna zapisac komentarza'.mysql_error());
  39. $_SESSION['nick'] = $_POST['twoje_imie'];
  40. echo($_SESSION['nick']);
  41. var_dump($_SESSION);
  42. header("Location: index.php");
  43. }
  44. ?>
  45.  
  46. </body>
  47.  
  48. </html>


Ten post edytował Terrorizer 6.02.2014, 19:54:52
Go to the top of the page
+Quote Post
Turson
post 6.02.2014, 19:30:29
Post #12





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


I po wysłaniu formularzu nie wyświetla czy $_SESSION jest null/array?
Go to the top of the page
+Quote Post
redeemer
post 6.02.2014, 19:30:59
Post #13





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Włącz sobie wyświetlanie warningów, bo powinieneś widzieć to:
Kod
PHP Warning:  session_start(): Cannot send session cookie - headers already sent by ...

http://phpedia.pl/wiki/Cannot_add_header_i...rs_already_sent

Ten post edytował redeemer 6.02.2014, 19:31:17


--------------------
Go to the top of the page
+Quote Post
Terrorizer
post 6.02.2014, 20:35:25
Post #14





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


Nic mi się nie wyświetla .. sad.gif
Dzięki za info o warningach, myślałem ,że wszystkie mi się wyświetlają. Chociaż i tak nic z tego nie rozumiem haha.gif

Będę wdzięczny za każdą informację... siedzę od wczoraj gapiąc się w kod i nie jestem w stanie zrobić kroku dalej sad.gif

Ten post edytował Terrorizer 6.02.2014, 19:38:41
Go to the top of the page
+Quote Post
abjk
post 6.02.2014, 20:57:46
Post #15





Grupa: Zarejestrowani
Postów: 29
Pomógł: 6
Dołączył: 5.04.2013
Skąd: W

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


A czy po przekierowaniu na index.php ustawiłeś w nim sesję?

  1. header("Location: index.php");
Go to the top of the page
+Quote Post
Terrorizer
post 6.02.2014, 21:21:10
Post #16





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


To co zamieściłem kilka postów wyżej, to mój index.php
Jest to cały kod jaki napisałem, z wyłączeniem CSS.
Go to the top of the page
+Quote Post
abjk
post 6.02.2014, 22:11:50
Post #17





Grupa: Zarejestrowani
Postów: 29
Pomógł: 6
Dołączył: 5.04.2013
Skąd: W

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


Wyjmij var_dumpa z warunku if. Po przekierowaniu nie wchodzisz już do pętli if, bo $_POST['submit'] już nie ma. Dlatego var_dump nic nie pokazuje.

  1. <?php // SENDING FORM TO DATABASE //
  2. if (isset($_POST['submit'])){
  3. mysql_query('insert into komentarze (imie, komentarz) values ("'.$_POST["twoje_imie"].'" , "'.$_POST["komentarz"].'")')
  4. or die('nie mozna zapisac komentarza'.mysql_error());
  5. $_SESSION['nick'] = $_POST['twoje_imie'];
  6. header("Location: index.php");
  7. }
  8.  
  9. echo($_SESSION['nick']);
  10. var_dump($_SESSION);
  11. ?>
Go to the top of the page
+Quote Post
Terrorizer
post 6.02.2014, 23:16:47
Post #18





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


Zajebiście!! działa biggrin.gif
Dziękuję wszystkim exclamation.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:29