Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zmienne z adresu
Forum PHP.pl > Forum > PHP
KCG
Mam być może banalny problem, ale jest. tongue.gif
Chcę zrobić sobie stronkę w jednym pliku na zasadzie, że w jednej części okna dla przykładu będzie wyświetlona zmienna $opis. Wartość tej zmiennej chcę przypisywać za pomocą adresu. Po kliknięciu na odpowiednie linki będzie ona miała wartości zmiennych $opis1, $opis2 albo $opis3. Tutaj przykładowy, prosty plik:
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Tytuł dokumentu</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<meta http-equiv="Reply-to" content="malaba@o2.pl" />
<meta http-equiv="Content-Language" content="pl" />
<meta name="Author" content="Michał" />
<link rel="stylesheet" href="styl.css" type="text/css" />
</head>
<body>

<table>
    <tr>
        <th>Link</th>
        <th>Opis</th>
    </tr>
    <tr>
        <td><a href="index.php?opis=">Opis 1</a></td>
        <td rowspan="3">
<?php

    $opis1 = "To jest opis 1.";
    $opis2 = "To jest opis 2.";
    $opis3 = "To jest opis 3.";

    echo $_REQUEST['opis'];
    
?>
        </td>
    </tr>
    <tr>
        <td><a href="index.php?opis=">Opis 2</a></td>
    </tr>
    <tr>
        <td><a href="index.php?opis=">Opis 3</a></td>
    </tr>
</table>

</body>
</html>
" title="Zobacz w manualu php" target="_manual">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Tytuł dokumentu</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<meta http-equiv="Reply-to" content="malaba@o2.pl" />
<meta http-equiv="Content-Language" content="pl" />
<meta name="Author" content="Michał" />
<link rel="stylesheet" href="styl.css" type="text/css" />
</head>
<body>

<table>
    <tr>
        <th>Link</th>
        <th>Opis</th>
    </tr>
    <tr>
        <td><a href="index.php?opis=">Opis 1</a></td>
        <td rowspan="3">
<?php

    $opis1 = "To jest opis 1.";
    $opis2 = "To jest opis 2.";
    $opis3 = "To jest opis 3.";

    echo $_REQUEST['opis'];
    
?>
        </td>
    </tr>
    <tr>
        <td><a href="index.php?opis=">Opis 2</a></td>
    </tr>
    <tr>
        <td><a href="index.php?opis=">Opis 3</a></td>
    </tr>
</table>

</body>
</html>
</a>

Co powinno być w adresie po "=" i ew. jakieś inne dopiski w kodzie? tongue.gif

Pozdrawiam z góry dzięki za wyrozumiałość laugh.gif
kossa
zaszalałeś smile.gif

np:
?opis=1
?opis=2

i w kodzie:

  1. <?php
  2. if ($_GET["opis"]=="1")
  3. {
  4.  
  5. //tekst gdy opis 1
  6.  
  7. }
  8. else
  9. {
  10.  
  11. }
  12. ?>


Łukasz
KCG
Dzięki winksmiley.jpg
Od czegoś trzeba zacząć biggrin.gif
KotDomowy
Jeżeli ma to być tylko jedna zmienna np $_GET['opis'] to lepiej skorzystać ze switch'a, ponieważ jak będziesz miał więcej wyników to musiałbyś korzystać z if...elseif.

  1. <?php
  2. switch ( $_GET['opis'] )
  3. {
  4.  
  5. case 1:
  6.  
  7. // tekst przy wartości 1
  8.  
  9. break;
  10.  
  11. case 2:
  12.  
  13. // tekst przy wartości 2
  14.  
  15. break;
  16.  
  17. case x:
  18.  
  19. // tekst przy wartości x (gdzie x jest którymś tam z kolei numerem
  20.  
  21. break;
  22.  
  23. default:
  24.  
  25. // standardowe zachowanie jeżeli zmienna nie równa się wartościom w case
  26.  
  27. }
  28. ?>
KCG
Dzięki, to chyba będzie faktycznie wygodniejsze rozwiązanie. Bo te większe serwisy chyba na podobnej zasadzie są robione, co?
KotDomowy
Większe serwisy są robione w oparciu o programowanie obiektowe, więc instrukcje warunkowe typu if...elseif...else czy switch są tam rzadko wykorzystywane (chociaż nie da się ich całkowicie wyeliminować)
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.