Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Ze sporą ilością instrukcji IF problem ze zmiennymi
Forum PHP.pl > Forum > Przedszkole
ostry400
Witam mam pytanie

Mam plik z sporą ilością danych i instrukcjami if w których adresach są zmienne

np
$z=z2204

np index.php?akcja=tt$z czyli wyświetla index.php?akcja=ttz2204

I jest problem bo ta zmienna ma być jeszcze raz zmienna
próbowałem to zrobić przez formularz z strony głównej i $_POST ale zapomina po pierwszym kliknięciu zmienną

$z=$_POST['zmienna']

Później próbowałem dodać do tego komendę if ale też nic z tego

Przedstawię kod

  1. <?php
  2.  
  3. $x = $_POST['zawody'];
  4. if ($x = z2204)
  5. {
  6. $z = z2204;
  7. $w = w2204;
  8. }
  9.  
  10. elseif ($x = z2904) // próbowałem też samo if wtedy zawsze pokazywało z2904 w2904
  11. {
  12. $z = z2904;
  13. $w = w2904;
  14. }
  15.  
  16. Tu jest HTML
  17.  
  18. <?echo "<a href=\"index.php?akcja=tt$z\">Twórz tabelę</a>";?>
  19. <?echo "<a href=\"index.php?akcja=dz$z\">Dodaj Zawodnika</a>";?>
  20.  
  21. Tu się kończy
  22.  
  23. $akcja=$_GET["akcja"];
  24.  
  25.  
  26. if($akcja='tt$z')
  27.  
  28. Sama akcja się wykonuje poprawnie
  29.  


w tym wypadku przypisuje mi zawsze pierwsze zmienne z2204 i w2204

A tu wersja bez if ale w niej tylko raz zmienna się zapisała a przy jakiejkolwiek akcji zmienna $z jest pusta
np index.php?akcja=tt$z czyli wyświetla index.php?akcja=tt
  1. <?php
  2.  
  3. $z = $_POST['zawody'];
  4. $w = $_POST['wyniki'];
  5.  
  6. Tu jest HTML
  7.  
  8. <?echo "<a href=\"index.php?akcja=tt$z\">Twórz tabelę</a>";?>
  9. <?echo "<a href=\"index.php?akcja=dz$z\">Dodaj Zawodnika</a>";?>
  10.  
  11. Tu się kończy
  12.  
  13. $akcja=$_GET["akcja"];
  14.  
  15.  
  16. if($akcja='tt$z')
  17.  


Jak by dało sie gdzieś tą zmienną zapisać na stałe w najgorszym wypadku zapiszę sobie ja do bazy danych i będę ją ściągał ale to robienie niepotrzebnego zamieszania mam nadzieje ze do tego nie będzie musiało dojść

Siedzę już nad taka pierdołą drugi dzień i nie mogę nigdzie znaleźć rozwiązania
koras140
Przypadkiem w if nie powinno być podwójnego znaku równości?
ostry400
z == wyświetla raz tak jak by to było przesłane POST
tomsol
jezeli musisz uzywac dużo razy if elseif
zamien sobie to na switch case
koras140
Szczerze mówiąc to już się zagubiłem o co tak naprawdę pytasz..
Chcesz żeby np. tt$z była zmienną, tak? No to jak przekazujesz w url tą zmienną to pobierasz ją za pomocą get.
Zrobiłeś to tak:
$akcja = $_GET['akcja'];
No i teraz ta Twoja zmienna tt$z jest w zmiennej $akcja.
Coś tam robisz w następnym ifie ale znów masz pojedynczy znak równości a nie podwójny (więc if jest zawsze spełniony).
Niestety nie do końca chyba rozumiem Twój problem..:/
hyhyhy
Po pierwsze w if'ie nie ma prawa być jednego znaku równości. Po drugie - chcesz odbierać dane z POST'a, ale wysyłasz GET'em (w URL)? To jest do poprawy. No i też nie do końca rozumiem, o co Ci chodzi smile.gif
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.