Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> przekazanie zmiennej
a79rtur
post 7.10.2004, 17:09:25
Post #1





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


w pliku html mam cos takiego :
  1. <img src="display_pic.php?ID=1" border="0" alt="">


jestem w pliku display_pic.php. jak odwołać się tam do zmiennej ID ? $_POST['ID'] oraz $_GET['ID'] nie działają. Jesli wpisze w pasku przegladarki ...display_pic?ID=77 parametr jest przekazywany tak jak trzeba.


--------------------
php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::..
www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu
Go to the top of the page
+Quote Post
misterLu
post 7.10.2004, 17:29:23
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.08.2004

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


nic dziwnego! Abyś widział zmienną typu GET, musi ona wystąpić w żądaniu strony, a tu nie występuje. Występuje tylko we wskażniku do obrazka.
Możesz to zrobić tak:
zamiast tej linijki wstaw dwie:

$ID=1;
include('display_pic.php');

a starą linijkę (po odpowiedniej modyfikacji) wstaw do display_pic.php.
Wtedy w pliku display_pic możesz swobodnei używać zmiennej ID.

Ten post edytował misterLu 7.10.2004, 17:32:48
Go to the top of the page
+Quote Post
a79rtur
post 7.10.2004, 17:35:14
Post #3





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


to caly przyklad z ksiazki :

  1. Wydruk 13.5. Strona HTML powodująca wyświetlenie rysunku z bazy danych
  2. <title>Wyświetlenie rysunku</title>
  3. </head>
  4.  
  5. <img src="show_pic.phtml?ID=1" border="0" alt="">
  6.  
  7. </body>
  8. </html>


Wydruk 13.6. Skrypt wyświetlający rysunki

  1. <?php
  2. include_once( &#092;"db_mysql.php\" );
  3.  
  4. // Utworzenie podklasy DB_Sql do zapisywania i odczytu rysunków
  5. class pictures_db extends DB_Sql
  6. {
  7. var $Host  = &#092;"localhost\";
  8. var $Database  = &#092;"mydb\";
  9. var $User  = &#092;"root\";
  10. var $Password  = &#092;"root\";
  11. }
  12.  
  13. $aDB = new pictures_db();
  14.  
  15. $aSQL = &#092;"select * from pictures where ( picture_id = $ID )\";
  16. $aDB->query( $aSQL );
  17. if ( $aDB->next_record() )
  18. {
  19. header( &#092;"Content-length: \" . $aDB->f( \"pic_size\" ) );
  20. header( &#092;"Content-type: \" . $aDB->f( \"pic_type\" ) );
  21. print( $aDB->f( &#092;"pic_data\" ) );
  22. }
  23. else
  24. {
  25. // Nie znaleziony rysunek, obsługa błędu!
  26. Header( &#092;"HTTP/1.0 404 Not Found\" );
  27. }
  28. ?>


jak z ksiazki to pewnie komuś to działało. podejrzewam że $ID jest tutaj traktowane jako zmienna globalna, a że globalne mam wyłączone jak manual przykazał smile.gif, wiec jej nie widzi. jest jakiś inny sposob żeby sie do niej dobrac ?


--------------------
php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::..
www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu
Go to the top of the page
+Quote Post
Vertical
post 7.10.2004, 17:42:22
Post #4





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Cytat
jak z ksiazki to pewnie komuś to działało

Oj, nie zawsze, nie zawsze... Autorzy bardzo często zapominają dodać "GET[]" albo przypisać zmienną... Zamiast ustawaiania globalnej można w url-u to dodać, a później ściągnąć metodą GET:
Kod
http://strona.domena/plik.php?zmienna=wartosc


Ten post edytował Vertical 7.10.2004, 17:44:05
Go to the top of the page
+Quote Post
a79rtur
post 7.10.2004, 17:45:54
Post #5





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


no w tej ksiazce nagminnie dawali $zmianna tam gdzie powinno byc $_POST['zmienna'] albo $_GET['zmienna'] , pewnie przez to ze testowali na php z register globals włączone. tutaj zamiana $ID na $_GET['ID'] nie dziala no bo nie jest to w pasku adresu wpisane. tak ze dalej nie wiem co z tym zrobić..


--------------------
php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::..
www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu
Go to the top of the page
+Quote Post
Vertical
post 7.10.2004, 17:47:18
Post #6





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Bez zmiennych globalnych byłoby najlepszym wyjściem napisać zmienną w pasku adresu... Ja tak robię. Później ewentualnie możesz zamienić:
  1. <?php
  2. $ID = $_GET['ID'];
  3. ?>


Ten post edytował Vertical 7.10.2004, 17:48:22
Go to the top of the page
+Quote Post
a79rtur
post 7.10.2004, 21:50:11
Post #7





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


mozna zrobić tak ze w pliku html dać :

  1. <a href="display_pic.php?ID=1">obrazek</a>


a w skrypcie do obsługi tak jak pisałeś:

  1. <?php
  2.  
  3. $ID = $_GET['ID'];
  4.  
  5. ?>


działa ok ,tylko ja sie zastanawiałem czemu tam jest to <img src=... itd
ale widać to poprostu pomyłka w książce. ja w kazdym razie nie mam pomysłu o co autorowi chodziło.


--------------------
php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::..
www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu
Go to the top of the page
+Quote Post
silent
post 7.10.2004, 22:28:18
Post #8





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.08.2004
Skąd: Jastrzębie Zdrój

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


Mi działa coś takiego:
  1. <?php
  2. // image.php
  3. switch ($_GET['id']) {
  4. case 1: $filename='rysunek1.gif'; break;
  5. case 2: $filename='rysunek2.gif'; break;
  6. }
  7. $img=file_get_contents($filename);
  8. print($img);
  9. ?>


  1. <img src="image.php?id=1" alt="" />


Ogólnie chodzi o to, że nie trzeba znać informacji o zdjęciu - wszystkim zajmuje się skrypt (tutaj image.php) który wstawia odpowiednie zdjęcie w zależności od parametru.
Go to the top of the page
+Quote Post
a79rtur
post 7.10.2004, 22:53:31
Post #9





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


//moglbyś wstawić cale skrypty które ci działąją? bo u mnie dalej cos nie bardzo.

już nie trza. zmieniłem rozszerzenie pliku w którym było:

<img src="image.php?id=1" alt="" />

z .html na .php i spoko działa. ale dlaczego to akurat pomogło to nie wiem. moze mi ktoś wyjaśnić ?

Ten post edytował a79rtur 7.10.2004, 22:56:06


--------------------
php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::..
www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 16:12