Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Zmiana koloru strony
Efan
post 28.10.2008, 12:36:54
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 25.01.2007

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


Mam 4 wersje kolorystyczne strony. W pliku konfiguracyjnym mam taką zmienną:

$_IMG='1';

Mogę ręcznie zmieniać kolorystykę zamiast 1 wpisać 2,3 lub 4.
Jak mogę uczynić, że użytkownik będzie sam mógł wybierać kolorystykę klikając w link na stronie np: zielony, czerwony, niebieski, żółty
Go to the top of the page
+Quote Post
Wykrywacz
post 28.10.2008, 12:39:02
Post #2





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

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


Zrób sobie np. inputa typu select. wsadź tam te kolorki w value wpisz ich id, po czym zmień na $_IMG= $_POST['id_coloru'];
Go to the top of the page
+Quote Post
robos85
post 28.10.2008, 12:41:10
Post #3





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

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


do tego użyj np COOKIES żeby zapamiętało wybór po wyłączeniu przeglądarki
Go to the top of the page
+Quote Post
Efan
post 28.10.2008, 14:20:58
Post #4





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 25.01.2007

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


spróbuje z selectem

Tak więc mam taki kod:

  1. Zmień kolor:
  2. <option value="1" selected>Niebieski</option>
  3. <option value="2">Szary</option>
  4. <option value="3">Zielony</option>
  5. <option value="4">Pomarańczowy</option>
  6. <input type="button" name="zmiana_koloru" value="Wczytaj">


Pytanie jaka ma być akcja żeby wartość z formularza została przesłana do pliku ze zmienną?
Go to the top of the page
+Quote Post
Wykrywacz
post 28.10.2008, 14:47:18
Post #5





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

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


Najprościej method="post".
I potem odczytujesz ją tak jak ci napisałem $_IMG= $_POST['zmiana_koloru'];

mała poprawka:
  1. <?php
  2. <form enctype="multipart/form-data" action="xxx.php" method="post" >
  3. <select name="zmiana_koloru">
  4. <option value="1">Niebieski</option>
  5. <option value="2">Szary</option>
  6. <option value="3">Zielony</option>
  7. <option value="4">Pomarańczowy</option>
  8. </select>
  9. <input type="submit" value="Wczytaj">
  10. ?>


A jak chcesz aby zapamiętał to tak jak powiedział @Efan wrzuć to do cookie.

a potem albo na ifie który sprawdza czy masz pusty $_POST['zmiana_koloru'], jak tak to wsadza wartość z ciacha, jak nie to z posta.

Ten post edytował Wykrywacz 28.10.2008, 14:56:03
Go to the top of the page
+Quote Post
Efan
post 28.10.2008, 15:10:04
Post #6





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 25.01.2007

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


Pewnie rozwiązanie jest prostsze niż myślę,ale z racji znajomości PHP nie mogę sobie poradzić.

index.php

  1. <form enctype="multipart/form-data" action="dane.inc.php" method="post" >
  2. <select name="zmiana_koloru">
  3. <option value="1">Niebieski</option>
  4. <option value="2">Szary</option>
  5. <option value="3">Zielony</option>
  6. <option value="4">Pomarańczowy</option>
  7. <input type="submit" value="Wczytaj">


dane.inc.php

  1. <?php
  2. $_IMG=$_POST['zmiana_koloru'];
  3. ?>


Takie rozwiązanie nie działa!

O cookies już nawet nie pytam

Ten post edytował Efan 28.10.2008, 15:11:36
Go to the top of the page
+Quote Post
piotrooo89
post 28.10.2008, 15:13:37
Post #7


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




dlaczego masz tak dziwnie nazany ten plik? a sposób Wykrywacza jest na 100% poprawny.


--------------------
Go to the top of the page
+Quote Post
Efan
post 28.10.2008, 15:21:12
Post #8





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 25.01.2007

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


To jest część aplikacji którą próbuję przerobić, dlatego zmiana nazwy raczej nie wchodzi w grę.

Widzę to tak: Wybrana wartość wysyłana jest do pliku dane.inc.php ale wyświetlany jest index.php
Go to the top of the page
+Quote Post
Wykrywacz
post 28.10.2008, 15:26:11
Post #9





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

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


Rozwiń co oznacza nie działa?

Zacznij od wyświetlenia $_POSTA (wyechuj go), zobacz czy faktycznie przesyła ci właściwą wartość i czy w ogóle coś przesyła.

Cytat
Widzę to tak: Wybrana wartość wysyłana jest do pliku dane.inc.php ale wyświetlany jest index.php

Rozumiem że dane.inc.php gdzieś sobie dołączasz w skrypcie, np. poprzez include? W takim wypadku niech formularz odnosi się do index.php
w tym momencie przed załączeniem dane.inc.php zrób $_IMG= $_POST['zmiana_koloru'];
Go to the top of the page
+Quote Post
Efan
post 28.10.2008, 15:37:29
Post #10





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 25.01.2007

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


Okej, po wysłaniu danych do index.php zmiana koloru zaskakuje, ale podczas pierwszego ładowania strony nie ma wybranego szablonu, selected w option nie pomaga.

Mogę zrobić taki myk:

  1. <?php
  2. $_IMG='2';
  3. $_IMG=$_POST['zmiana_koloru'];
  4. ?>



Jednak nie działa takie przypisanie wartości. Tak więc jak ustawić zmienną domyślna powiedzmy na 2?

Ten post edytował Efan 28.10.2008, 16:18:57
Go to the top of the page
+Quote Post
Wykrywacz
post 28.10.2008, 16:22:56
Post #11





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

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


  1. <?php
  2. if (isset($_POST['zmiana_koloru']){
  3. $_IMG=$_POST['zmiana_koloru'];
  4. }
  5. else {
  6. $_IMG='2';
  7. }
  8. ?>


Ten post edytował Wykrywacz 28.10.2008, 16:23:04
Go to the top of the page
+Quote Post
Efan
post 29.10.2008, 13:56:39
Post #12





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 25.01.2007

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


Storna jest trochę skomplikowana.

W pliku index.php jest tylko
  1. <?php
  2. include('k.php');
  3. ?>

Z kolei w k.php jest include do dane.inc.php a tam dopiero jest $_IMG="1"

Tak więc Twoje rozwiązanie nie działa.


tak więc da się coś zrobić z tym problemem?

W procedurze brakowało jednego nawiasu, tak więc już działa. Dzięki Wykrywacz!
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: 25.04.2024 - 05:03