Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kilka możliwości parametrów w adresie
Forum PHP.pl > Forum > Przedszkole
Coolmax
  1. <?php
  2. $color = $_GET['color']; {
  3. red == imagecolorallocate($img, 255, 0, 0);
  4. blue == imagecolorallocate($img, 0, 0, 255);
  5. silver == imagecolorallocate($img, 158, 158, 158);
  6. }
  7. ?>


Mam taki kłopot: Problem tkwi, żeby wywołać kolor np. silver, trzeba wpisać ?color=3, a rzecz jasna chcę, żeby można było wpisać color=silver. Czy da się tak zrobić, jeżeli tak, to co trzeba zmienić?
revyag
To sobie zrób tablicę z nazwami kolorów:
  1. <?php
  2. $colors = array("red"=>0,"green"=>1,"blue"=>2,"silver"=>3)
  3. //przy wywołaniu będziesz miał
  4. $colors[$_GET["color"]]  //$colors["silver"]
  5.  
  6. ?>

i poza tym co to jest:
  1. <?php
  2. red == imagecolorallocate($img, 255, 0, 0);
  3. ?>


questionmark.gif
Coolmax
Mógłbyś polecić dobry przykład z takim zastosowaniem tablicy? Nie znam się kompletnie na tablicach i nie wychodzi mi to. sad.gif
revyag
Robisz to co podałem wyżej. Teraz no iteraz można się odwoływać poprzez ?color=silver, nic innego nie zmieniająć. Dodaj tylko to co napisałen.
Coolmax
Cytat(revyag @ 2006-02-08 15:01:17)
i poza tym co to jest:
  1. <?php
  2. red == imagecolorallocate($img, 255, 0, 0);
  3. ?>


questionmark.gif

A co mam z tym zmienić?
crash
1. Zmienne w php oznacza się za pomocą $
2. Nie chcesz tu przyrównać (==) tylko przypisać więc użyj =
Coolmax
Jak zmienie na

  1. <?php
  2. $color = $_GET['color']; {
  3. $red = imagecolorallocate($img, 255, 0, 0);
  4. $blue = imagecolorallocate($img, 0, 0, 255);
  5. $silver = imagecolorallocate($img, 158, 158, 158);
  6. }
  7.  
  8. ?>


To nie działa, a jak jest tak jak w 1. przykładzie to działa, ale numerami 1,2,3.
crash
Coś ty wymyślił z tymi klamrami? Co to ma być... Zacznij może od podstawowego kursu php dla najbardziej początkujących?
Coolmax
Chwytałem się, różnych kombinacji, wydawała mi się, że ta będzie dobra, ale też nic:

  1. <?php
  2.  
  3. $colors = array("red" => "imagecolorallocate($img, 255, 0, 0)","blue" => "imagecolorallocate($img, 0, 0, 255)","silver" => "imagecolorallocate($img, 158, 158, 158)");
  4. $colors[$_GET["color"]];
  5.  
  6. ?>
revyag
TO jest dział php początkujący, ale Ty piszesz masakryczne rzeczy. Co ma działać, co chcesz osiągnąć ?
Bierzesz się za operowanie kolorami, nie znając podstawowej składni php. Polecam dużo czytać i zacząć od prostszych rzeczy.
crash
Strzelasz zamiast myśleć. Fart, że coś Ci wychodzi...

  1. <?php
  2. $colors = array(
  3.                  'r' => imagecolorallocate( $i, 255, 0, 0 ),
  4.                  'g' => imagecolorallocate( $i, 0, 255, 0 ),
  5.                  'b' => imagecolorallocate( $i, 0, 0, 255 )
  6.                );
  7.  
  8. $color = $colors[ ( isset( $_GET[ 'col' ] ) and array_key_exists( $_GET[ 'col' ], $colors ) ) ? $_GET[ 'col' ] : 'r' ];
  9. ?>
Coolmax
Cytat(crash @ 2006-02-08 16:57:53)
Strzelasz zamiast myśleć. Fart, że coś Ci wychodzi...

  1. <?php
  2. $colors = array(
  3.                  'r' => imagecolorallocate( $i, 255, 0, 0 ),
  4.                  'g' => imagecolorallocate( $i, 0, 255, 0 ),
  5.                  'b' => imagecolorallocate( $i, 0, 0, 255 )
  6.                );
  7.  
  8. $color = $colors[ ( isset( $_GET[ 'col' ] ) and array_key_exists( $_GET[ 'col' ], $colors ) ) ? $_GET[ 'col' ] : 'r' ];
  9. ?>

Dzięki, dopiero dzisiaj zaczałęm od nowa z tymi kolorami i jakoś wyszło smile.gif Przepraszam za tamte posty, faktycznie głupio mi. Co prawda jeszcze nie rozumie drugiej części tego kodu, ale się uczę i staram zrozumieć, na razie wystarczy mi to:

  1. <?php
  2. $colors = array(
  3. 'red' => imagecolorallocate($img, 255, 0, 0),
  4. 'blue' => imagecolorallocate($img, 0, 0, 255),
  5. 'silver' => imagecolorallocate($img, 158, 158, 158)
  6. );
  7. $color = $colors[$_GET['color']]; 
  8. ?>


Jeżeli nadal widzicie w tym zapisie błędy to poinformujcie mnie. Mam takie pytanie
gdzie ma znaczenie użycie " " " albo " ' ", a gdzie nie?
w00t
W "" mozesz wyswietlac zmienne od razu np:
  1. <?php
  2. echo "Tekst $lol texttttt";
  3. ?>


Ale duzo duzo bezpieczniejsze i czasami nawet latwiejsze jest uzycie ' '
  1. <?php
  2. echo 'Tekst '.$tekst.' textttt'.$okruca;
  3. ?>


Nie uzywamy apostrofow gdy wyswietlamy zmienne
  1. <?php
  2. echo $zmienna;
  3. ?>


Pozatym na forum istnieje taki wynalazek jak wyszukiwarka...
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.