Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] pobieranie zmiennej z linku
mariuszzzzzz
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 27.06.2005

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


mam problem z pobieraniem zmiennej z linku w wyniku czego nie pokazuje wszystkich rekordow.
Po kliknieciu na link ktory wyglada tak:

  1. <?php
  2. <a href="http://www.strona.pl/index.php?p=obiekt&amp;o='.$wiersz['id'].'">'.$wiersz['nazwa'].'</a>
  3. ?>


link odczytuje ten skrypt:

  1. <?php
  2. $o = $_GET['o'];
  3. if ($_GET['p'])
  4.    {
  5.          $q="SELECT * FROM `obiekty` WHERE id='$o'";
  6.            $r=mysql_query($q);
  7.            while ($wiersz = mysql_fetch_array($r))
  8.    {        
  9. ?>


czy jesto to prawidlowo napisane?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Foxx
post
Post #2





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


Konstrukcja linka jest poprawna tylko jeżeli jest wyświetlany za pomocą echo, czyli tak:
  1. <?php
  2. echo '<a href="http://www.strona.pl/index.php?p=obiekt&o='.$wiersz['id'].'">'.$wiersz['nazwa'].'</a>';
  3. ?>

W przeciwnym razie powienien wyglądać tak:
  1. <a href="http://www.strona.pl/index.php?p=obiekt&o=<?php echo $wiersz['id'];?>"><?php echo $wiersz['nazwa'];?></a>


Natomiast w zapytaniu nie powinieneś się odwoływać do zmiennej $o tylko do o jako elementu tablicy $_GET.
Poza tym inaczej należy zagnieżdżać zmienne php w zapytaniu sql.
  1. <?php
  2. $q="SELECT * FROM `obiekty` WHERE id='".$_GET['o']."'";
  3. ?>
Go to the top of the page
+Quote Post
piaseq
post
Post #3





Grupa: Zarejestrowani
Postów: 161
Pomógł: 25
Dołączył: 6.09.2008
Skąd: Warszawa

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


Cytat(Foxx @ 12.03.2009, 22:57:02 ) *
Natomiast w zapytaniu nie powinieneś się odwoływać do zmiennej $o tylko do o jako elementu tablicy $_GET.

Mógłbyś rozwinąć? Dlaczego odwoływanie się bezpośrednio do elementu tablicy $_GET jest lepsze? Moim zdaniem jest wręcz odwrotnie. Przed wykorzystaniem danych z $_GET powinno się je odpowiednio przefiltrować, aby być pewnym, że zawierają to czego się spodziewamy.
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 15:49