• 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

VPS Starter Arubacloud
0 głosów
2,578 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 (81,480 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ź 418 wizyt
0 głosów
1 odpowiedź 325 wizyt
pytanie zadane 16 października 2016 w SQL, bazy danych przez Rafik Obywatel (1,870 p.)
0 głosów
1 odpowiedź 323 wizyt
pytanie zadane 1 października 2019 w PHP przez michal_php Stary wyjadacz (13,700 p.)

92,452 zapytań

141,262 odpowiedzi

319,084 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...