Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] zmienna przekazana do skryptu przez link
FunnyGuy
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 30.11.2011

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


Witam.

Chciałbym zbudować prosty interface oparty na php i html do obsługi bazy danych. Środowisko testowe to php 5.8.3 + IIS7.5 + MSSQLServer 2008 R2, win 7 x64 sp1.

Pomysł polega na utworzeniu menu z lewej strony okna przeglądarki (pierwsza ramka), w którym pojawiają się odpowiednie pozycje w postaci linków wygenerowane na podstawie zapytania do bazy. Po kliknięciu w link z prawej strony (druga ramka) pojawiać się mają dane dotyczące dokonanego wyboru - na podstawie kolejnej kwerendy, której warunkiem WHERE jest parametr określony przez pozycję w menu.

W pierwszym skrypcie generowane jest menu. Działa OK. Problem na jaki napotkałem to przekazanie wartości pola ID rekordu, który ma być przekazany jako parametr do zapytania w drugim skrypcie, aby wygenerować treść w drugiej ramce. Próbuję przesłać zmienną doklejając ją do linku w taki sposób:
  1. echo "<td><a target= strona href='ProjectInfo.php?ProjectID = $row[1]'><strong>$row[0]</strong></a></td>";
Wartości tablicy row[] pochodzą z wykonania funkcji:
  1. $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC);
Funkcja ta działa poprawnie. W docelowym skrypcie "ProjectInfo.php" odbieram wartość zmiennej z linku tak:
  1. $IDProjektu =$_GET['ProjectID'];
- jednak debbuger reaguje komunikatem "Undefined index: ProjectID". No i oczywiście zmienna $IDProjektu pozostaje z wartością null.

Z góry dzięki za wskazówki co robię nie tak...
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Wstaw to
  1. echo '<pre>';
  2. print_r($_GET);
  3. echo '</pre>';

przed "$IDProjektu =$_GET['ProjectID']; " i zobacz co wyrzuci (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
FunnyGuy
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 30.11.2011

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


Witaj CuteOne.

Po każdorazowym kliknięciu w odpowiedni link, w tablicy znajduje się odpowiednia wartość ID. Dostaję coś takiego:

Array ([ProjectID_] => 4)

Pomogło gdy poprawiłem na:

  1. if (isset($_GET['ProjectID_'])) {
  2. $IDProjektu = $_GET['ProjectID_']; }
  3. else {
  4. $IDProjektu = 0;}}


Dziękuję.

Ps. Nadal jednak nie rozumiem dlaczego sobie zmienił nazwę indeksu z ProjectID na ProjectID_. ?

Ten post edytował FunnyGuy 1.12.2011, 10:07:45
Go to the top of the page
+Quote Post
abort
post
Post #4





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


Strzelam: spacja w linku pomiędzy "ProjectID" a znakiem równości?
Apache zamieni to na "%20", ale nie wiem, jak zareaguje IIS.
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: 5.10.2025 - 15:59