Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z przesyłaniem zmiennych pomiędzy stronami
dawid17
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 20.10.2016

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


Witam,

Mam następujący problem:

próbuję przesłać zmienną poprzez GET i za każdym razem w pliku docelowym pojawia się:

Notice: Undefined index: nazwa in
Notice: Undefined index: sku in

wiem, że oznacza to iż zmienne są puste i głowię się dlaczego.

Szczegóły:

w pliku x pobieram dane z bazy w postaci tablicy asocjacyjnej i zapisuje poszczególne wiersze pod zmiennymi $nazwa i $sku. Po czym w pliku y (inex.php) za pomocą require ładuję plik x . W tym momencie zmienne działają i wyświetla się lista produktów z tytułami generowanymi ze zmiennej $nazwa. Następnie klikając w tytuł ($nazwa) chcę przenieść się do pliku test.php (docelowo szczegóły produktu) gdzie pojawiają mi się powyżej wspomniane błędy. Próbowałem też sesji i zawsze to samo. Proszę o wyrozumiałość i pomoc. Poniżej załączam kod pliku x

  1. if ($rezultat = @$polaczenie->query("SELECT product.sku, product.nazwa_produktu, product.cena, product.cena_promocyjna, product.promocja, product.zdjecie, zawartosc_zamowienia.ilosc FROM product, zawartosc_zamowienia order by zawartosc_zamowienia.ilosc desc"))
  2. $ile_produktow = $rezultat->num_rows;
  3.  
  4. for($i=0; $i <4; $i++)
  5.  
  6. {
  7. $zl=" zł";
  8. $wiersz = $rezultat->fetch_assoc();
  9. $nazwa=$wiersz['nazwa_produktu'];
  10. $sku=$wiersz['sku'];
  11.  
  12. echo '<h3 class="name">
  13. <a href="test.php?='.$sku.'&'.$nazwa.'" >'.$nazwa.'</a>
  14. </h3>
  15. }




Plik test.php (docelowa strona szczegółów produktu)

  1. <?php
  2.  
  3. $sku = $_GET ['sku'];
  4. $nazwa = $_GET ['nazwa'];
  5. echo $nazwa;
  6. echo $sku;
  7.  
  8. ?>




Zmieniłem kod w pliku test.php i błąd zniknął natomiast nadal nie mogę wyświetlić przesłanych zmiennych (wyświetla się pusta strona)
  1. <?php
  2. $sku = $nazwa = false;
  3. if(isset($_GET['sku'], $_GET['nazwa']) && filter_var($_GET['sku'], Filter_Validate_int, array('min_range' => 1))){
  4.  
  5. $sku = $_GET ['sku'];
  6. $nazwa = $_GET ['nazwa'];
  7. echo $nazwa;
  8. echo $sku;
  9. }


Nie wiem czy ma to znaczenia ale kożystam z netbeansa

Ten post edytował dawid17 21.10.2016, 01:58:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Link powinien mieć postać test.php?sku=$sku&nazwa=$nazwa albo oczywiście rewrite.
Go to the top of the page
+Quote Post
dawid17
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 20.10.2016

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


Cytat(viking @ 21.10.2016, 06:29:28 ) *
Link powinien mieć postać test.php?sku=$sku&nazwa=$nazwa albo oczywiście rewrite.


zmieniłem link. Wygląda tak ale nadal to samo ;/ kolejna noc nie przespana;/
  1. echo '<h3 class="name">
  2. <a href="test.php?sku='.$sku.'&'.$nazwa.'" = >'.$nazwa.'</a>
  3. </h3>';


wydaje mi się natomiast że te zmienne są wysyłane ponieważ po kliknięciu w link w adresie pojawia się

http://localhost/maluszek/strona/test.php?sku=9&Śpiochy

Ten post edytował dawid17 21.10.2016, 07:39:33
Go to the top of the page
+Quote Post
nansss93
post
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 27.10.2015

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


A może lepiej tak?

  1. echo '<h3 class="name">
  2. <a href="test.php?sku='.$sku.'&nazwa='.$nazwa.'">'.$nazwa.'</a>
  3. </h3>';


?
Go to the top of the page
+Quote Post
viking
post
Post #5





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Oczywiście że poprawny jest zapis 2 chociaż lepiej było by przekazać id produktu.
Go to the top of the page
+Quote Post
Tomplus
post
Post #6





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


Notice wyświetlają się gdy nie masz zadeklarowane zmiennej, więc musisz ją zadeklarować np.

  1. $nazwa = isset($_GET['nazwa'])?$_GET['nazwa']:'';
Go to the top of the page
+Quote Post
dawid17
post
Post #7





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 20.10.2016

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


Cytat(nansss93 @ 21.10.2016, 08:37:49 ) *
A może lepiej tak?

  1. echo '<h3 class="name">
  2. <a href="test.php?sku='.$sku.'&nazwa='.$nazwa.'">'.$nazwa.'</a>
  3. </h3>';


?

Dzięki mistrzu. Dwie noce nie przespane. uratowałeś moją rodzinę i nareszcie dziecko będzie miało tatę a mama męża (IMG:style_emoticons/default/smile.gif) )
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 - 14:47