Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zmienna przekazana do skryptu przez link
Forum PHP.pl > Forum > Przedszkole
FunnyGuy
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...
CuteOne
Wstaw to
  1. echo '<pre>';
  2. print_r($_GET);
  3. echo '</pre>';

przed "$IDProjektu =$_GET['ProjectID']; " i zobacz co wyrzuci smile.gif
FunnyGuy
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_. ?
abort
Strzelam: spacja w linku pomiędzy "ProjectID" a znakiem równości?
Apache zamieni to na "%20", ale nie wiem, jak zareaguje IIS.
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.