Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]problem z checboxem
gosienkami
post 5.02.2009, 11:04:56
Post #1





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


<input name="abonament" type="checkbox" id="abonament" value="zmien" />
  1. <?php
  2. $abonament=$_POST['zmien'];
  3. echo 'ab'.$abonament;//tu nic nie wyswietla
  4. if(isset($_POST['zmien'])) {
  5.   $abonament='bezterminowy';
  6.   }
  7.   else{
  8.    $abonament='terminowy';            
  9.   }
  10.   echo 'abonament::::  '.$abonament;
  11. ?>

dlaczego ze wzgledu czy sie zaznaczy cz nie wyswietla terminowy. //tak jakby nie była przekazywana zmienna.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
wookieb
post 5.02.2009, 11:06:16
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Kod
$_POST['abonament'];


--------------------
Go to the top of the page
+Quote Post
gosienkami
post 5.02.2009, 11:32:58
Post #3





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


mam jeszcze cos takiego ze pobieram wartosc abonamentu z bazy i przekazuje
<input name="abonament" type="hidden" id="abonament" value="<? echo $abonament; ?>" /> do nastepnego formularza.
nie wiem jak zmienić powyzsza petle zeby checbox niezaznaczony pozostawiał abonament taki jak jest w bazie natomiast jak zaznaczymy to zeby zmieniał na przeciwną jaka jest w bazie czyli np 'terminowy' na =>'bezterminowy' i na odwrot
Cytat(wookieb @ 5.02.2009, 11:06:16 ) *
Kod
$_POST['abonament'];
Go to the top of the page
+Quote Post
wookieb
post 5.02.2009, 11:39:19
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat
nie wiem jak zmienić powyzsza petle

Dowiedz się co to jest pętla.
Kod
if(isset($_POST['abonament']))
{
$abonament=($abonament=='terminowy')?'bezterminowy':'terminowy';
}


Ten post edytował wookieb 5.02.2009, 11:39:28


--------------------
Go to the top of the page
+Quote Post
gosienkami
post 5.02.2009, 12:36:18
Post #5





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


tylko nie wiem jak to zapisac:(
Cytat(wookieb @ 5.02.2009, 11:39:19 ) *
Dowiedz się co to jest pętla.
Kod
if(isset($_POST['abonament']))
{
$abonament=($abonament=='terminowy')?'bezterminowy':'terminowy';
}
Go to the top of the page
+Quote Post
wookieb
post 5.02.2009, 12:50:29
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(gosienkami @ 5.02.2009, 12:36:18 ) *
tylko nie wiem jak to zapisac:(

Możesz skopiować ... Masz pozwolenie. Podałem ci wszystko czego potrzebujesz. Teraz tylko naprawdę bardzo bardzo trochę się wysilic.


--------------------
Go to the top of the page
+Quote Post
gosienkami
post 5.02.2009, 13:19:59
Post #7





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


mam tak i działana odwrot, bo jak niezaznacze checboxa to zmienia wartosc na przeciwna co jest w bazie., a jak zznacze to zostawia.
  1. <?php
  2. if(isset($_POST['abonament']))
  3.  {
  4.  $abonament=($abonament=='terminowy')?'bezterminowy':'terminowy';
  5.   }
  6.   elseif(!isset($_POST['abonament']))
  7.   {
  8.   $abonament=($abonament=='bezterminowy')?'terminowy':'terminowy';            
  9.   }
  10.   else
  11.   echo $abonament;
  12. ?>
Go to the top of the page
+Quote Post
wookieb
post 5.02.2009, 13:22:47
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Błagam cię sad.gif
Kod
if(isset($_POST['abonament']) && $_POST['abonament']=='zmien')
  {
  $abonament=($abonament=='terminowy')?'bezterminowy':'terminowy';
   }
echo $abonament;

Ten $_POST['abonament']=='zmien' na wszelki wypadek

Ten post edytował wookieb 5.02.2009, 13:23:52


--------------------
Go to the top of the page
+Quote Post
gosienkami
post 5.02.2009, 14:16:31
Post #9





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


tak ale to działa na odwrot jak nie zaznaczony to zmienia wartosc
Kod
if(isset($_POST['abonament']) && $_POST['abonament']=='zmien')
   {
   $abonament=($abonament=='terminowy')?'bezterminowy':'terminowy';
    }
  echo $abonament;

Ten $_POST['abonament']=='zmien' na wszelki wypadek
[/quote]
Go to the top of the page
+Quote Post
wookieb
post 5.02.2009, 14:24:07
Post #10





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Pokaż cały kod.


--------------------
Go to the top of the page
+Quote Post
gosienkami
post 5.02.2009, 14:39:22
Post #11





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


plik1
  1. <input name="abonament" type="hidden" id="abonament" value="<? echo $abonament; ?>" />
  2. <input name="abonament" type="checkbox" id="abonament" value="zmien" />

plik2
  1. <?php
  2. abonament=$_POST['abonament'];
  3.  
  4.  if(isset($_POST['abonament']))
  5. {
  6. $abonament=($abonament=='terminowy')?'bezterminowy':'terminowy';
  7.  }
  8.  elseif(!isset($_POST['abonament']))
  9.  {
  10.  $abonament=($abonament=='bezterminowy')?'terminowy':'terminowy';            
  11.  }
  12.  else
  13.  echo $abonament;
  14. ?>


Ten post edytował gosienkami 5.02.2009, 14:39:49
Go to the top of the page
+Quote Post
wookieb
post 5.02.2009, 14:44:19
Post #12





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




To zacznijmy analize...
1) Czy przekazałaś do pliku2 zmienna w poscie na temat zaznaczonego boxa w pliku 1?
2) Przeanalizuj sobie drugi kod. Przecież podałem ci inny
a) Wrzucasz to $abonament zmienna $_POST['abonament'](która jak sie domyślam może jej nie byc albo zawierać string "zmien") (wyświetl sobie jej wartość)
cool.gif Jeżeli jest zmienna $_POST['abonament'] to wykonuje sie zamiana $zmiennej $abonament na "bezterminowy" pod warunkiem ze zawiera słowo "terminowy", jezeli nie to wrzuca "terminowy"
c) jeżeli nie ma zmiennej $_POST['abonament'] to bezwarunkowo $abonament przypisujesz 'terminowy'

Masz brak logiki. Przeanalizuj sobie SAMA to co zrobiłas a to co chcesz zrobic.

Masz przecież tylko Pobrać z bazy aktualna wartość $abonament i zamienić odpowiednie pod warunkiem, że box był zaznaczony (koniecznie sprawdź 1 punkt).

Nie podam ci rozwiązania bo musisz sama do tego dojść.

Ten post edytował wookieb 5.02.2009, 14:46:06


--------------------
Go to the top of the page
+Quote Post
gosienkami
post 5.02.2009, 15:58:06
Post #13





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


to zmieniłam tak
  1. <?php
  2. if(isset($_POST['zmiana'])) {
  3.  $zmiana='bezterminowy';
  4.  }
  5.  else{
  6.   $zmiana='terminowy';            
  7.  }
  8.  echo 'checbox::::  '.$zmiana.':::';
  9.  
  10.  
  11.  
  12.  
  13. if(isset($_POST['abonament'])&&($_POST['zmiana']=='zmien'))
  14. {
  15. $abonament=($abonament=='terminowy')?'bezterminowy':'terminowy';
  16.  }
  17.  else
  18.    echo $abonament;
  19. ?>


Cytat(wookieb @ 5.02.2009, 14:44:19 ) *
To zacznijmy analize...
1) Czy przekazałaś do pliku2 zmienna w poscie na temat zaznaczonego boxa w pliku 1?
2) Przeanalizuj sobie drugi kod. Przecież podałem ci inny
a) Wrzucasz to $abonament zmienna $_POST['abonament'](która jak sie domyślam może jej nie byc albo zawierać string "zmien") (wyświetl sobie jej wartość)
B) Jeżeli jest zmienna $_POST['abonament'] to wykonuje sie zamiana $zmiennej $abonament na "bezterminowy" pod warunkiem ze zawiera słowo "terminowy", jezeli nie to wrzuca "terminowy"
c) jeżeli nie ma zmiennej $_POST['abonament'] to bezwarunkowo $abonament przypisujesz 'terminowy'

Masz brak logiki. Przeanalizuj sobie SAMA to co zrobiłas a to co chcesz zrobic.

Masz przecież tylko Pobrać z bazy aktualna wartość $abonament i zamienić odpowiednie pod warunkiem, że box był zaznaczony (koniecznie sprawdź 1 punkt).

Nie podam ci rozwiązania bo musisz sama do tego dojść.
Go to the top of the page
+Quote Post
blooregard
post 5.02.2009, 16:00:40
Post #14


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat
if(isset($_POST['abonament'])&&($_POST['zmiana']=='zmien'))


Czy checkbox 'zmiana' w value ma "zmien" ?


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
wookieb
post 5.02.2009, 16:01:10
Post #15





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




To teraz wyjaśnij jak wysłałas do pliku2 zmienne w poscie i czy napewno dobre nazwy przyjelas bo chyba nadal niczego nie rozumiesz...
  1. <input type="NAZWA" value="WARTOSC" />


to po wyslaniu takiego inputa postem bedziesz miala cos takiego
Kod
echo $_POST['NAZWA'];

i wyswietli ci WARTOSC

Ten post edytował wookieb 5.02.2009, 16:01:32


--------------------
Go to the top of the page
+Quote Post
gosienkami
post 5.02.2009, 16:35:23
Post #16





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

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


wysłałam Ci do sprawdzenia tylko bo działa tak jak chciałam.
Cytat(wookieb @ 5.02.2009, 16:01:10 ) *
To teraz wyjaśnij jak wysłałas do pliku2 zmienne w poscie i czy napewno dobre nazwy przyjelas bo chyba nadal niczego nie rozumiesz...
  1. <input type="NAZWA" value="WARTOSC" />


to po wyslaniu takiego inputa postem bedziesz miala cos takiego
Kod
echo $_POST['NAZWA'];

i wyswietli ci WARTOSC
Go to the top of the page
+Quote Post
wookieb
post 5.02.2009, 16:49:10
Post #17





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(gosienkami @ 5.02.2009, 16:35:23 ) *
wysłałam Ci do sprawdzenia tylko bo działa tak jak chciałam.

... No to temat do zamkniecia. Poradziłas sobie.


--------------------
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.07.2025 - 10:08