Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z sesjami
Forum PHP.pl > Forum > Przedszkole
thunder1982
Witam wszystkich. Mam następujące 2 pliki:
session01.php
  1. <?
  2.  
  3.  
  4. if (!$PHPSESSID) {
  5. session_register('font_family');
  6. session_register('font_size');
  7. } else
  8. if ((!$font_family) || (!$font_size)) {
  9. session_register('font_family');
  10. session_register('font_size');
  11. }
  12. if (!$font_family) {
  13. $font_family = "sans-serif";
  14. }
  15. if (!$font_size) {
  16. $font_size = "10";
  17. }
  18.  
  19. ?>
  20.  
  21. <HTML>
  22. <HEAD>
  23. <TITLE>My Display Preferences</TITLE>
  24. <STYLE type="text/css">
  25. BODY, P, A {font-family:<? echo "$font_family"; ?>;font-size:<? echo $font_size + 4; ?>pt;font-weight:bold;}
  26. </STYLE>
  27. </HEAD>
  28. <BODY>
  29. <H1>Skonfiguruj własne preferencje wyświetlania</H1>
  30. <FORM METHOD="POST" ACTION="session02.php">
  31.  
  32. <P>Wybierz rodzinę czcionek:<br>
  33. <input type="radio" name="sel_font_family" value="serif"> serif
  34. <input type="radio" name="sel_font_family" value="sans-serif" checked> sans-serif
  35. <input type="radio" name="sel_font_family" value="Courier"> Courier
  36. <input type="radio" name="sel_font_family" value="Wingdings"> Wingdings
  37. </P>
  38.  
  39. <P>Wybierz rozmiar czcionki bazowej:<br>
  40. <input type="radio" name="sel_font_size" value="8"> 8pt
  41. <input type="radio" name="sel_font_size" value="10" checked> 10pt
  42. <input type="radio" name="sel_font_size" value="12"> 12pt
  43. <input type="radio" name="sel_font_size" value="14"> 14pt
  44. </P>
  45.  
  46. <P><input type="submit" name="submit" value="Ustaw preferencje wyświetlania"></P>
  47. </FORM>
  48.  
  49. </BODY>
  50. </HTML>


oraz session02.php

  1. <?
  2.  
  3.  
  4. if (!$PHPSESSID) {
  5. session_register('font_family');
  6. session_register('font_family');
  7. } else
  8. if ((!$font_family) || (!$font_size)) {
  9. session_register('font_family');
  10. session_register('font_family');
  11. }
  12.  
  13. $font_family = $sel_font_family;
  14. $font_size = $sel_font_size;
  15.  
  16. if (!$font_family) {
  17. $font_family = "sans-serif";
  18. }
  19.  
  20. if (!$font_size) {
  21. $font_size = "10";
  22. }
  23.  
  24. ?>
  25.  
  26. <HTML>
  27. <HEAD>
  28. <TITLE>My Display Preferences</TITLE>
  29. <STYLE type="text/css">
  30. BODY, P, A {font-family:<? echo "$font_family"; ?>;font-size:<? echo "$font_size"; ?>pt;font-weight:normal;}
  31. H1 {font-family:<? echo "$font_family"; ?>;font-size:<? echo $font_size + 4; ?>pt;font-weight:bold;}
  32. </STYLE>
  33. </HEAD>
  34. <BODY>
  35. <H1>Twoje preferencje zostały skonfigurowane</H1>
  36.  
  37. <P>Jak widać, wybraną przez ciebie rodziną czcionek jest teraz <? echo "$font_family"; ?> o rozmiarze bazowym <? echo "$font_size" ?> pt.</P>
  38.  
  39. <P>Zapraszam do ponownej <a href="session01.php">zmiany swych preferencji</a>.</P>
  40.  
  41. </BODY>
  42. </HTML>

Pliki po uruchomieniu w przeglądarce generują mi co następuje :
session01.php -
Kod
Notice: Undefined variable: PHPSESSID in c:\apache group\apache\htdocs\session01.php on line 5

Notice: Undefined variable: font_family in c:\apache group\apache\htdocs\session01.php on line 13

Notice: Undefined variable: font_size in c:\apache group\apache\htdocs\session01.php on line 16


a session02.php -
Kod
Notice: Undefined variable: PHPSESSID in c:\apache group\apache\htdocs\session02.php on line 5

Notice: Undefined variable: sel_font_family in c:\apache group\apache\htdocs\session02.php on line 14

Notice: Undefined variable: sel_font_size in c:\apache group\apache\htdocs\session02.php on line 15


Poniżej tych uwag wyświetla się to co powinno tylko nie następuje zmiana czcionki ani jej rozmiaru, wybieram różne czcionki i ich rozmiary klikam przycisk "Ustaw preferencje wyświetlania", ładuje się plik session02.php i czcionka jest zawsze taka sama. Dlaczego ?
crash
1. Używaj BBCode!
2. Informacje te spowodowane są przez... Undefined variable tongue.gif Albo wyłącz zgłaszanie notice, albo delaruj poprawnie zmienne.
thunder1982
Jestem bardzo początkujący, pewnie moje pytanie bardzo głupio zabrzmi ale je zadam: jak poprawnie zadeklarować te zmienne ?
Przykłady te są wzięte z książki i tam nie ma mowy o ich deklarowaniu...
I jeszcze mam pytanie co dokładnie oznacza taki zapis:

[B]$zmienna = $_POST['zmienna'];
sniper1993
Emm nie wiem czy u pytającego też takie coś się pojawia ale u mnie funkcja ropoczynająca sesje (session_start();)musi byc na poczatku dokumentu zaraz po znaczku <?php czyli tak
<?php
session_start();
withstupidsmiley.gif
thunder1982
Bardzo prosze o odpowiedź jak poprawnie zadeklarować te zmienne.
Jeśli robię to poprzez : $zmienna = $_POST['zmienna']; to mi wywala : Undefined index ... Nie wiem o co biega...
nospor
$_POST['zmienna'] oznacza że dobierasz się do zmiennej 'zmienna', którą uważasz że została wyslana formualrzem metodą post. Jeżeli dostajesz undefined index, znaczy to że 'zmienna' nie zostala wyslana metodą post, lub ze jej nie ma w formularzu lub ze formualrz wogóle nie zostal wyslany.
i używaj BBCODE. Poprawiam ci w pierwszym poście
thunder1982
Wielkie dzięki za pomoc.
Pozdrawiam.
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.