• 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

0 głosów
134 wizyt
pytanie zadane 11 października 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 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 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 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 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 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 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 przez marcin99b Pasjonat (22,680 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 przez sc4rface Mądrala (6,370 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 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 przez sc4rface Mądrala (6,370 p.)
Spróbuj usunąć atrybut checked w HTML'u ;)
komentarz 12 października 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 przez Malias Początkujący (300 p.)

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

komentarz 12 października 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 przez Malias Początkujący (300 p.)

Tak:

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

}

 

komentarz 12 października przez adrian588 Początkujący (470 p.)
Super :) Dzięki:)
komentarz 19 października 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ź 64 wizyt
pytanie zadane 16 października 2016 w SQL, bazy danych przez Rafik Obywatel (1,790 p.)
0 głosów
2 odpowiedzi 59 wizyt
0 głosów
1 odpowiedź 120 wizyt
pytanie zadane 15 lutego 2016 w HTML i CSS przez Filip31411 Dyskutant (8,790 p.)

42,435 zapytań

81,740 odpowiedzi

162,233 komentarzy

20,381 pasjonatów

Przeglądających: 305
Pasjonatów: 36 Gości: 269

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...