• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odbieranie danych z checkboxa i radio

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
3,939 wizyt
pytanie zadane 11 października 2017 w HTML i CSS przez adrian588 Początkujący (470 p.)
Witam.

Mam w html checkboxy. Jak odebrać dane w php z takiego formularza?

czy to przez name czy value? Próbuję i nie wychodzi:/...

Chcę tak aby np. po zaznaczeniu checkboxa odpowiednia zmienna w PHP przyjmowała jakaś wartość np. 2

a jeżeli nie zaznaczone np. 1

3 odpowiedzi

0 głosów
odpowiedź 11 października 2017 przez Malias Początkujący (300 p.)
Nazywasz tego checkboxa.

np:

<input type="checkbox" name="check"/>

Następnie w php tworzysz zmienną:

$_POST['check'];

I w sumie masz pobrane czy checkbox jest zaznaczony, czy nie :)
komentarz 12 października 2017 przez adrian588 Początkujący (470 p.)
A może problem jest z tym iż korzystam z ajax?

i Dane podane z checkboxa są przesyłane na tą samą stronę za pomocą skryptu:

<script>
function runAjax()
{
    var numer =  document.getElementById("rodzajobliczen").value;
    var numer =  document.getElementById("rodzajpretow").value;
    var numer =  document.getElementById("zakonczeniepreta").value;
    var numer =  document.getElementById("srednicaglowne").value;
    var numer =  document.getElementById("klasastalipretyglowne").value;
    var numer =  document.getElementById("warunkiprzyczepnosci").value;
 

 // pobieramy wartość inputa
  var xmlhttp = new XMLHttpRequest(); // tworzymy obiekt XMLHttpRequest

  // definiujemy funkcję callback dla zdarzenia onreadystatechange
  xmlhttp.onreadystatechange = function()
  {
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
    {
      // jeśli otrzymamy odpowiedź, to wpisujemy ją do DIV-a o id=response
      document.getElementById("response").innerHTML = xmlhttp.responseText;
    }
  };

  // tworzymy żądanie i wysyłamy
      xmlhttp.open("POST", "wynikzbrojenieminimalne.php", true);
      xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    
// tutaj należy wpisać wszelkie zdefiniowane zmienne !
    xmlhttp.send("rodzajobliczen="+ document.getElementById("rodzajobliczen").value +"&rodzajpretow="+ document.getElementById("rodzajpretow").value +"&zakonczeniepreta="+ document.getElementById("zakonczeniepreta").value +"&srednicaglowne="+ document.getElementById("srednicaglowne").value  +"&klasastalipretyglowne="+ document.getElementById("klasastalipretyglowne").value +"&warunkiprzyczepnosci="+ document.getElementById("warunkiprzyczepnosci").value);
}
</script>
komentarz 12 października 2017 przez Malias Początkujący (300 p.)

To może spróbuj bez deklaracji zmiennej przed ifem.

czyli tylko tak:

if(isset($_POST['warunkiprzyczepnosci']))
    {
        echo "Zaznaczono";
    }else{
        echo "Nie zaznaczono!";
    } 

 

komentarz 12 października 2017 przez adrian588 Początkujący (470 p.)

Powyższe działa tak :

jeżeli kod jest zgodny czyli:

if(isset($_POST['warunkiprzyczepnosci']))
    {
        echo "Zaznaczono";
    }else{
        echo "Nie zaznaczono!";
    }

a jeżeli zmienię go na :

if(isset($_POST['XXXXXX]))
    {
        echo "Zaznaczono";
    }else{
        echo "Nie zaznaczono!";
    }

wyświetla iż nie działa.

Ale nie ważne czy checkbox jest zaznaczony czy też nie..

kurcze niby taka prosta rzecz jak odebranie danych a tu taki problem:/

 

komentarz 12 października 2017 przez Malias Początkujący (300 p.)
Możliwe, że AJAX coś tam psuje, ale niestety z tym już nie pomogę.
komentarz 12 października 2017 przez adrian588 Początkujący (470 p.)
Wyłączyłem ajax i dalej to samo:/

Ale dzięki wielkie za pomoc.. jak znajdę rozwiązanie wrzucę na forum:)
0 głosów
odpowiedź 11 października 2017 przez marcin99b Szeryf (84,330 p.)

Jeśli nie wiesz jakiego typu są dane w zmiennej, sprawdź je print_r() lub var_dump()

Dowiesz sie w ten sposób dokładnie jak wygląda wnętrze zmiennej w różnych sytuacjach

0 głosów
odpowiedź 12 października 2017 przez sc4rface Dyskutant (7,710 p.)

Jeśli dobrze rozumiem to co chcesz osiągnąć, to kombinujesz jak koń pod górkę.

Jak mniemam, chcesz wyświetlić jakiś tekst jeżeli checkbox jest zaznaczony, oraz jeżeli nie zaznaczony to inny. W założeniu checkbox oraz radio jest booleanem, stąd przyjmuje wartości true/false.

Na podstawie tego co zamieściłeś


<input type="checkbox" id="warunkiprzyczepnosci" name="warunkiprzyczepnosci" value="warunkiprzyczepnosci" checked>

W PHP odbierzesz to w sposób taki

$_POST['warunkiprzyczepnosci'];

A porównanie będzie wyglądać w ten sposób

if ($_POST['warunkiprzyczepnosci'] == true) {
	echo "Checkbox zaznaczony";
} else {
	echo "Checkbox odznaczony";
}

 

 

komentarz 12 października 2017 przez adrian588 Początkujący (470 p.)
Po wklejeniu Twojego kodu zawsze wyświetla iż zaznaczony.

Właśnie w tym mam problem stąd tyle kombinacji:/
komentarz 12 października 2017 przez sc4rface Dyskutant (7,710 p.)
Spróbuj usunąć atrybut checked w HTML'u ;)
komentarz 12 października 2017 przez adrian588 Początkujący (470 p.)
Ciągle to samo.

Może przez to że dane przesyłam przez skrypt ajax i wyniki do tego samego pliku?
komentarz 12 października 2017 przez Malias Początkujący (300 p.)

Gdzieś coś musisz mieć co Ci koliduje z tym kodem cheeky

komentarz 12 października 2017 przez adrian588 Początkujący (470 p.)
Jeszcze takie pytanie aby nie zakłądać kolejnego wątku:

Czy w IFie można zadeklarować sprawdzenie dwóch wartości?

Tzn If ( a>2 i b>4 )

{}

? Czy jakoś inaczej trzeba to sprawdzać?
komentarz 12 października 2017 przez Malias Początkujący (300 p.)

Tak:

if(a > 2 && b>4)
{

}

 

komentarz 12 października 2017 przez adrian588 Początkujący (470 p.)
Super :) Dzięki:)
komentarz 19 października 2017 przez adrian588 Początkujący (470 p.)
Witam.

Nie zakładam kolejnego wątku tylko próbuję rozwiązać dalej sytuację z checkboxem.

Mianowicie zawsze wyświetla mi jako zaznaczony czyli zwraca wartość ON.

Nie ważne czy jest zaznaczony czy też nie.

Czy ktoś miał taki problem?

Może coś doradzić o co chodzi?

Podobne pytania

0 głosów
1 odpowiedź 501 wizyt
0 głosów
1 odpowiedź 468 wizyt
pytanie zadane 16 października 2016 w SQL, bazy danych przez Rafik Obywatel (1,870 p.)
+1 głos
2 odpowiedzi 202 wizyt
pytanie zadane 30 maja 2024 w JavaScript przez El Lirón Obywatel (1,350 p.)

93,430 zapytań

142,427 odpowiedzi

322,652 komentarzy

62,793 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...