Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] include i cookie
R_Przemek
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 25.06.2006
Skąd: Dąbrowa Górnicza

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


Mam dwie strony "index.php" i "coo.php" i teraz na stronie index.php wczytuje zawartość strony coo.php za pomocą include.
Zawartość strony coo.php jest taka:

  1. <?php
  2. if(!isset($action)) {
  3.  
  4. $action="dodaj";
  5.  
  6. }
  7.  
  8. switch ($action) { 
  9. case"dodaj": 
  10. echo"<form action="" method="post">
  11. <FORM>
  12. <TEXTAREA NAME="sss" cols="70" rows="10">tesssssst</TEXTAREA>
  13. <FORM><br>
  14. <input name="dodaj" value="Dodaj" type="submit">
  15. <input name="show" value="Wyświetl" type="submit">
  16. </form>";
  17.  
  18.  
  19. $va = $sss;
  20.  
  21.  
  22. if (isset($_POST['dodaj'])) {
  23. setcookie ("TestCookie", $va);
  24. echo 'Wartość <b>'. $va .'</b> została dodana';
  25. }
  26.  
  27. if (isset($_POST['show'])) {
  28. $wva = $_COOKIE["TestCookie"];
  29. echo 'Watrość <b>'. $wva. '</b> została pomyślnie wczytana';
  30. }
  31. break;
  32.  
  33. }
  34. ?>



A problem jest taki że zawartość pola tekstowego niechce się zapisać do cookie....
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Ludvik
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


Ten switch wygląda tragicznie i jest strasznie nieczytelny.

Zamiast zmiennej $sss użyj $_POST['sss'], a poza tym ciastka wysyła się zanim przekażesz ciało odpowiedzi, czyli jakikolwiek tekst. Użyj na początku skryptu ob_start" title="Zobacz w manualu php" target="_manual, a na końcu ob_flush" title="Zobacz w manualu php" target="_manual.
Go to the top of the page
+Quote Post
R_Przemek
post
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 25.06.2006
Skąd: Dąbrowa Górnicza

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


Cytat(Ludvik @ 30.06.2006, 11:13 ) *
a poza tym ciastka wysyła się zanim przekażesz ciało odpowiedzi, czyli jakikolwiek tekst. Użyj na początku skryptu ob_start" title="Zobacz w manualu php" target="_manual, a na końcu ob_flush" title="Zobacz w manualu php" target="_manual.


Może mi ktoś objaśnić o co chodzi w "ciastka wysyła się zanim przekażesz ciało odpowiedzi, czyli jakikolwiek tekst." (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Ludvik
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


Ciastka muszą zostać wysłane przed jakąkolwiek instrukcją echo/print itp... Takie są wymagania protokołu HTTP, że najpierw wysyła się nagłówki, a potem dopiero dokument.
Go to the top of the page
+Quote Post
R_Przemek
post
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 25.06.2006
Skąd: Dąbrowa Górnicza

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


Zmodyfikowałem wszystko według tego co pisał Ludvik
i dalej tosamo cookie się nie dodaje....

Ale jeśli ten skrypt który zamieściłem w pytaniu wkleję na stronę która nie jest ładowana poprzez include to wszystki działa poprawnie. Więc wydaje mi się że skrypt nie działa bo jest zbyt głęboko......
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 - 13:46