Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]przekazywanie zmiennych
Forum PHP.pl > Forum > Przedszkole
Paweł.ps
Witam
Bardzo proszę o odpowiedź bo nie wiem co sie dzieje.
W jednym pliku mam taki link:
  1. <a href="cms_wybor_dzialu.php?a=1"> wybor działu</a>


natomiast w pliku cms_wybor_dzialu.php mam coś takiego:

  1. <?php
  2. $a = $_GET['a'];
  3. echo $a;
  4. function odswiez()
  5. {
  6. header("Refresh: 1; URL=wybor_dzialu.php " );
  7.  echo 
  8. "Zostaniesz przeniesiony do oryginalnej storny!<br>";
  9.  echo "(Jeśli przeglądarka nie obsługuje przekierowań, " .
  10.  "<a href="cms_wybor_dzialu.php">kliknij tutaj</a>)";
  11.  die();
  12.  
  13. }
  14. echo '
  15. <form action="cms_wybor_dzialu.php" method="post">
  16. <select name="nazwa" onclick=odswiez()>
  17. <option value="1"> Jedzienie </option>
  18. <option value="2"> Puby, Kluby </option>
  19. <option value="3"> Hotele, noclegi </option>
  20. <option value="4"> Kultura </option>
  21. <option value="5"> Administracja </option>
  22. <option value="6"> Edukacja </option>
  23. <option value="7"> Moto-serwis </option>
  24. <option value="8"> Bankomaty </option>
  25. <option value="9"> Urzędy pocztowe</option>
  26. <option value="10"> Tel. alarmowe </option>
  27. <option value="11"> Komunikacja </option>
  28. <option value="12"> Sport i rekracja </option>
  29. <option value="13"> Aktualno?ci </option>
  30. <option value="14"> Biznes </option>
  31. </select><br><br>
  32. <input type="submit" class="submit" name="glowna_kateg" value="Wybierz głowny dział>
  33. </form><br>';
  34.  
  35.  
  36. if (isset($_REQUEST['glowna_kateg']))
  37. {
  38. $adres= $_POST['nazwa'];
  39.  
  40. switch ($adres)
  41. {
  42. case 1:
  43. { echo 
  44. <form action="cms_wybor_dzialu.php" method="post">
  45. <select name="adres" onclick=odswiez() >
  46. <option value="1.1"> Restauracje </option>
  47. <option value="1.2"> Pizzerie </option>
  48. <option value="1.3"> Fast-food </option>
  49. <option value="1.4"> Kawiarenki </option>
  50. </select><br><br>
  51. <input type="submit" class="submit" name="_dzial" value="wybież kategorie">
  52. </form><br>';
  53. break;
  54. }
  55. case 2:
  56. {
  57.  ...
  58. ...
  59. }
  60. }
  61. }else echo "Pracujesz na dziale : ";
  62. if (isset($_REQUEST['_dzial']))
  63. {
  64. $_SESSION['adres'] = $_POST['adres'];
  65. echo $_SESSION['adres'];
  66. switch($a)
  67.  {
  68.  case 1: cos tam ma sie wykonać
  69.  }
  70.  
  71.  
  72. }
  73. ?>


Problem jest w tym że kiedy zaczyna mi sie wykonywać ta część kodu to na początku wypisuje mi zmienną
$a (wypisze w naszym przypadku 1)
ale gdy już zaczyna mi sie wykonywać ostatni switch to pisze że zmiennej $a nie ma!
zaś tam gdzie wcześniej wypisywało mi $a to wypluwa mi tekst:
"Undefined index: a in d:\php\projekt\admin2\cms_wybor_dzialu.php on line 5"

Bardzo proszę o pomoc.
Oscar_83
a nie powinieneś mieć przypadkiem w 6 linii:
URL=cms_wybor_dzialu.php
Paweł.ps
Tak, masz racje ale to nic nie zmienia (tzn błąd jest dalej).
gdy wcisnę button "wybierz główny dział", strona sie odświeża a zmiennej $a już nie widać sad.gif
Oscar_83
musisz poczekać na kogoś mądrzejszego, ja niestety jestem bardzo początkującym i niestety nie potrafie Ci pomóc sad.gif
PS: a wywala jakiś błąd? tzn w jakiejś lini?
www0_0
jak na moje oko to przez to:
  1. <?php
  2. $a = $_GET['a'];
  3. echo $a;
  4. function odswiez()
  5. {
  6. header("Refresh: 1; URL=wybor_dzialu.php " );
  7.  echo
  8. ?>

w tej linijce gubisz zmienną przekazaną z geta
header("Refresh: 1; URL=wybor_dzialu.php " );

wyjść jest kilka, np przekazać parametr odśwież z tą zmienną lub sprawdzać czy zmienna z tablicy get istnieje:)

robiąc np tak:
  1. <?php
  2. $a = $_GET['a'];
  3. echo $a;
  4. function odswiez()
  5. {
  6. header("Refresh: 1; URL=wybor_dzialu.php?a=$a " );
  7.  echo
  8. ?>

powinno ci działać już dobrze chyba:)
Oscar_83
oczywiście "cms_" w URL na początku prawda?
www0_0
tego nawet w pośpiechu nie zauważyłem że adres jest zły:)
Chodziło mi o to że kolega odświeżał stronę i owszem, ale już bez zmiennej a przekazywanej w pasku adresu czyli w tablicy get.
Na skutek tego Zmienna a tak naprawdę jakby nie istniała, bo i zmiennej a w tablicy get nie było:)
Mogę się mylić, ale to wydaj mi się najbardziej prawdopodobne:)
Paweł.ps
Witam
Faktycznie brakowało wcześniej cms_ przed nazwą pliku
Dzięki za zainteresowanie tematem
Niestety dalej zmienna $a jest gubiona sad.gif tuż po wybraniu działu.

Właśnie jeszcze coś pozmieniałem na:
  1. <?php
  2. require_once 'http.php';
  3. $a =$_GET['a'];
  4. function odswiez()
  5. {
  6. header("Refresh: 1; URL=cms_wybor_dzialu.php?a=$a " );
  7.  echo 
  8.  "Zostaniesz przeniesiony do oryginalnej storny!<br>";
  9. echo "(Jeśli przeglądarka nie obsługuje przekierowań, " .
  10.  "<a href="cms_wybor_dzialu.php">kliknij tutaj</a>)";
  11. die();
  12. $a =$_GET['a'];
  13. }
  14.  
  15.  
  16. ?> <form action="cms_wybor_dzialu.php?a=$a" method="post"><?php
  17. echo ' <select name="nazwa" >
  18. <option value="1"> Jedzienie </option>
  19. <option value="2"> Puby, Kluby </option>
  20. <option value="3"> Hotele, noclegi </option>
  21. <option value="4"> Kultura </option>
  22. <option value="5"> Administracja </option>
  23. <option value="6"> Edukacja </option>
  24. <option value="7"> Moto-serwis </option>
  25. <option value="8"> Bankomaty </option>
  26. <option value="9"> Urzędy pocztowe</option>
  27. <option value="10"> Tel. alarmowe </option>
  28. <option value="11"> Komunikacja </option>
  29. <option value="12"> Sport i rekracja </option>
  30. <option value="13"> Aktualno?ci </option>
  31. <option value="14"> Biznes </option>
  32. </select><br><br>
  33. <input type="submit" class="submit" name="glowna_kateg" value="Wybierz głowny dział">';
  34. ?> </form><br>
  35.  
  36. <?php
  37. if (isset($_REQUEST['glowna_kateg']))
  38. {
  39. $adres= $_POST['nazwa'];
  40.  
  41. switch ($adres)
  42. {
  43. case 1:
  44. { echo 
  45. <form action="cms_wybor_dzialu.php?a=$a" method="post">
  46. <select name="adres" >
  47. <option value="1.1"> Restauracje </option>
  48. <option value="1.2"> Pizzerie </option>
  49. <option value="1.3"> Fast-food </option>
  50. <option value="1.4"> Kawiarenki </option>
  51. </select><br><br><br>
  52.  
  53.  
  54. <input type="submit" class="submit" name="_dzial" value="wybież kategorie">
  55. </form><br>';
  56.  
  57. break;
  58. }
  59. case 2:{
  60. .............
  61. }
  62.  
  63. .
  64. .
  65. . 
  66.  }
  67. }else echo "Pracujesz na dziale : ";
  68. if (isset($_REQUEST['_dzial']))
  69. {
  70. $_SESSION['adres'] = $_POST['adres'];
  71. $_SESSION['a'] = $_GET['a'];
  72. echo $_SESSION['adres'];
  73. echo $_SESSION['a'];
  74.  
  75. switch($_SESSION['a'])
  76. {
  77. case 1:
  78. {
  79. header("Refresh: 1; URL=cms_podzial_artykulow.php?" );
  80.  echo 
  81. "Zostaniesz przeniesiony do oryginalnej storny!<br>";
  82. echo "(Jeśli przeglądarka nie obsługuje przekierowań, " .
  83. "<a href="cms_wybor_dzialu.php">kliknij tutaj</a>)";
  84. die();
  85. }
  86.  
  87. }

I mi wyszło że zmienną a ma wartość nie "1" ale jakiś string w postaci "$a"
tak jakbym do tej zmiennej przypisał jakiś ciąg znaków a nie przekazaną liczbe
Cienki1980
Bo dokładnie to zrobiłeś. Przypisałeś ciąg znaków a nie wartość zmiennej.

Pierwszy <form> umieściłeś poza znacznikami php ale chciałeś tam wykorzystać $a ... żeby miała wartość musi być to wszystko w znacznikach php.
Paweł.ps
Już to poprawiłem ale dalej to samo.
www0_0
Spróbuj tak:
  1. <?php
  2. //rozpoczynamy sesje
  3. require_once 'http.php';
  4. $a =$_GET['a'];
  5. function odswiez()
  6. {
  7. header("Refresh: 1; URL=cms_wybor_dzialu.php?a=$a " );
  8.  echo
  9.  "Zostaniesz przeniesiony do oryginalnej storny!<br>";
  10. echo "(Jeśli przeglądarka nie obsługuje przekierowań, ";
  11.  echo '<a href="cms_wybor_dzialu.php?a=' .$a. '">kliknij tutaj</a>)';
  12. die();
  13. $a =$_GET['a'];
  14. }
  15.  
  16.  
  17. echo '<form action="cms_wybor_dzialu.php?a=' .$a. '" method="post">';
  18. echo ' <select name="nazwa" >
  19. <option value="1"> Jedzienie </option>
  20. <option value="2"> Puby, Kluby </option>
  21. <option value="3"> Hotele, noclegi </option>
  22. <option value="4"> Kultura </option>
  23. <option value="5"> Administracja </option>
  24. <option value="6"> Edukacja </option>
  25. <option value="7"> Moto-serwis </option>
  26. <option value="8"> Bankomaty </option>
  27. <option value="9"> Urzędy pocztowe</option>
  28. <option value="10"> Tel. alarmowe </option>
  29. <option value="11"> Komunikacja </option>
  30. <option value="12"> Sport i rekracja </option>
  31. <option value="13"> Aktualno?ci </option>
  32. <option value="14"> Biznes </option>
  33. </select><br><br>
  34. <input type="submit" class="submit" name="glowna_kateg" value="Wybierz głowny dział">';
  35. ?> </form><br>
  36.  
  37. <?php
  38. if (isset($_REQUEST['glowna_kateg']))
  39. {
  40. $adres= $_POST['nazwa'];
  41.  
  42. switch ($adres)
  43. {
  44. case 1:
  45. { echo '
  46. <form action="cms_wybor_dzialu.php?a=' .$a. '" method="post">
  47. <select name="adres" >
  48. <option value="1.1"> Restauracje </option>
  49. <option value="1.2"> Pizzerie </option>
  50. <option value="1.3"> Fast-food </option>
  51. <option value="1.4"> Kawiarenki </option>
  52. </select><br><br><br>
  53.  
  54.  
  55. <input type="submit" class="submit" name="_dzial" value="wybież kategorie">
  56. </form><br>';
  57.  
  58. break;
  59. }
  60. case 2:
  61. {
  62. //przykładowy kolejny warunek
  63. echo 'wybrałeś 2';
  64. }
  65. // case 3:
  66. // {
  67. // //kolejne warunki
  68. // }
  69. }
  70. }
  71. else
  72. echo "Pracujesz na dziale : ";
  73. if(isset($_REQUEST['_dzial']))
  74. {
  75. $_SESSION['adres'] = $_POST['adres'];
  76. $_SESSION['a'] = $_GET['a'];
  77. echo $_SESSION['adres'];
  78. echo $_SESSION['a'];
  79.  
  80. switch($_SESSION['a'])
  81. {
  82. case 1:
  83. {
  84. header("Refresh: 1; URL=cms_podzial_artykulow.php?a=$a" );
  85. "Zostaniesz przeniesiony do oryginalnej storny!<br>";
  86. echo '(Jeśli przeglądarka nie obsługuje przekierowań, ';
  87. '<a href="cms_wybor_dzialu.php?a=' .$a. '">kliknij tutaj</a>)';
  88. die();
  89. }
  90.  
  91. }

Wydaje mi się że wszystkie $a dobrze powstawiałem:)
aha umieściłem ci też na początku session start bo nie widziałem tego u ciebie a pracujesz też z sesjami:)
oraz ob_start(); bo wysyłasz hedery po tekście:) powiedz czy działa a jak nie to jakie błędy i gdzie:) będzie m kombinować dalej:)
piotrekkr
  1. <?php
  2. //rozpoczynamy sesje
  3. require_once 'http.php';
  4. $a =$_GET['a'];
  5. function odswiez()
  6. {
  7.  global $a;
  8.  header("Refresh: 1; URL=cms_wybor_dzialu.php?a=$a " );
  9.  echo
  10.  "Zostaniesz przeniesiony do oryginalnej storny!<br>";
  11. echo "(Jeśli przeglądarka nie obsługuje przekierowań, ";
  12.  echo '<a href="cms_wybor_dzialu.php?a=' .$a. '">kliknij tutaj</a>)';
  13. die();
  14. }
  15.  
  16.  
  17. echo '<form action="cms_wybor_dzialu.php?a=' .$a. '" method="post">';
  18. echo ' <select name="nazwa" >
  19. <option value="1"> Jedzienie </option>
  20. <option value="2"> Puby, Kluby </option>
  21. <option value="3"> Hotele, noclegi </option>
  22. <option value="4"> Kultura </option>
  23. <option value="5"> Administracja </option>
  24. <option value="6"> Edukacja </option>
  25. <option value="7"> Moto-serwis </option>
  26. <option value="8"> Bankomaty </option>
  27. <option value="9"> Urzędy pocztowe</option>
  28. <option value="10"> Tel. alarmowe </option>
  29. <option value="11"> Komunikacja </option>
  30. <option value="12"> Sport i rekracja </option>
  31. <option value="13"> Aktualno?ci </option>
  32. <option value="14"> Biznes </option>
  33. </select><br><br>
  34. <input type="submit" class="submit" name="glowna_kateg" value="Wybierz głowny dział">';
  35. ?> </form><br>
  36.  
  37. <?php
  38. if (isset($_REQUEST['glowna_kateg']))
  39. {
  40. $adres= $_POST['nazwa'];
  41.  
  42. switch ($adres)
  43. {
  44. case 1:
  45. { echo '
  46. <form action="cms_wybor_dzialu.php?a=' .$a. '" method="post">
  47. <select name="adres" >
  48. <option value="1.1"> Restauracje </option>
  49. <option value="1.2"> Pizzerie </option>
  50. <option value="1.3"> Fast-food </option>
  51. <option value="1.4"> Kawiarenki </option>
  52. </select><br><br><br>
  53.  
  54.  
  55. <input type="submit" class="submit" name="_dzial" value="wybież kategorie">
  56. </form><br>';
  57.  
  58. break;
  59. }
  60. case 2:
  61. {
  62. //przykładowy kolejny warunek
  63. echo 'wybrałeś 2';
  64. }
  65. // case 3:
  66. // {
  67. // //kolejne warunki
  68. // }
  69. }
  70. }
  71. else
  72. echo "Pracujesz na dziale : ";
  73. if(isset($_REQUEST['_dzial']))
  74. {
  75. $_SESSION['adres'] = $_POST['adres'];
  76. $_SESSION['a'] = $_GET['a'];
  77. echo $_SESSION['adres'];
  78. echo $_SESSION['a'];
  79.  
  80. switch($_SESSION['a'])
  81. {
  82. case 1:
  83. {
  84. header("Refresh: 1; URL=cms_podzial_artykulow.php?a=$a" );
  85. "Zostaniesz przeniesiony do oryginalnej storny!<br>";
  86. echo '(Jeśli przeglądarka nie obsługuje przekierowań, ';
  87. '<a href="cms_wybor_dzialu.php?a=' .$a. '">kliknij tutaj</a>)';
  88. die();
  89. }
  90.  
  91. }


sproboj tak
Paweł.ps
Witam biggrin.gif
Wielkie dzięki www0_0 nareszcie działa guitar.gif
Sesje miałem otwartą ale miałem zły zapis $a.
Dzięki za pomoc.exclamation.gif
Mam jeszcze takie pytanie wiesz jak może napisać jakąś funkcje do kasowania artykułów z bazy (np starszych niż 2 tygodnie)? , nie wiem może przy uruchamianiu panela admina?

Jeszcze raz wielkie dzięki !
Pozdrawiam
www0_0
jeśli artykuły w bazie masz w jednej tabeli, i ma ona na przykład taki schemat:

id|data|tytuł|treść|autor|.....

To odrazu w zapytaniu robisz warunek where data<tu wstawiasz date poniżej której ma kasować.
Paweł.ps
Dzięki wielkie
Pozdrawiam i życzę miłego dnia
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.