Autor Zpráva
Lupa
Profil
Zdravím. Mám taký problém.
Jedná sa o php skript - anketu, či skôr prieskum. V skript mám zaškrtávacie políčka. Chcem tam dať podmienku, aby údaje boli zapísané do databázi, len ak je zaškrtnuté minimálne 1 pole. Vy-doodlil by som si to, ale neviem čo presne mám hľadať.

Poradíte mi?

<input type="checkbox" name="clanky">
<input type="checkbox" name="forum">
<input type="checkbox" name="inzercia">
<input type="checkbox" name="pocasie">
<input type="checkbox" name="katalog">
Taps
Profil
Lupa:
podle mě by bylo nejlepší pracovat s polem
<input type="checkbox"  name= "anketa[]" value="clanky">
<input type="checkbox" name= "anketa[]" value="forum">
<input type="checkbox" name= "anketa[]" value="inzercia">
<input type="checkbox" name= "anketa[]" value="pocasie">
<input type="checkbox" name= "anketa[]" value="katalog">
<?
if(count($_POST['anketa'])==0){
echo "je nutné zvolit aspon jednu možnost";
}
?>
jenikkozak
Profil
Taps:
Je-li to checkbox, není nutné použít pole, protože zaškrtnutá může být jen jedna položka.
Takže bych dal všemu stejné name, různé hodnoty a v PHP testovat existenci daného name.

Edit: Napsal jsem nesmysl. Spletl jsem si checkbox s radioaktivním inputem.
Lupa
Profil
Taps:
Také jednoduché, a ja som len rozmýšlal. he. ďakujem

jenikkozak:
díki


Vyriešeno podľa [#2]. Ešte raz díki
panther
Profil
jenikkozak:
protože zaškrtnutá může být jen jedna položka.
to by použi rádio. Zaškrtnutá má být alespoň jedna položka, což je rozdíl.
TomasJ
Profil
jenikkozak:
Je-li to checkbox, není nutné použít pole, protože zaškrtnutá může být jen jedna položka.
Nene tohle je u type="radio". Taps to má správně.

Asi bych ankety řešil přes type="radio" než checkboxy. To by totiž znamenalo, že může vybrat více položek.
A testovat se to dá efektivněji JavaScriptem :)

Pozdě, panther mě předběhl :)
jenikkozak
Profil
Omlouvám se, kluci, máte samozřejmě pravdu. Spletl jsem si radio s checkboxem.
Lupa
Profil
[#6] TomasJ

" Asi bych ankety řešil přes type="radio" než checkboxy. To by totiž znamenalo, že může vybrat více položek.
A testovat se to dá efektivněji JavaScriptem :) " -presne o to mi ide, aby užívateľ mal možnosť vybrať viac položiek, aj všetky, ale minimálne jednu. Zmysel v tom vidím v tom, že potom údaje vyberiem z DB a grafom znázorním najväčší záujem.
TomasJ
Profil
Lupa:
Tak pokud chceš víc položek, udělej to přes type="checkbox" jak je v [#2].
Lupa
Profil
už to mám. :) Ďakujem ešte raz
Lupa
Profil
Zdravím ešte raz. som usilovný, učím sa, študujem, ale som sa zasekol znovu. Jednoducho cez POST sa mi údaje z checkboxov nedopíšu do DB.

Ak dám toto, nič sa nestane, predpokladám - toto je zle.
$clanky = strip_tags($_POST["clanky"]);


Pri tomto mi vypíše "Array"
$clanky = strip_tags($_POST["anketa"]);


Ak mám 5x checkbox tak ako to rozlíšiť?

som bezradný... Vie niekto prečo?
petr 6
Profil
print_r($_POST["anketa"])

resp.
$_POST["anketa"][0]
Lupa
Profil
petr 6:


díki, skúsim a naštudujem... :)
Lupa
Profil
Funguje, a úspešne funguje...

$_POST["anketa"][0]



díki
Darker
Profil
TomasJ:
A testovat se to dá efektivněji JavaScriptem :)
Ale uživatel to může podvrhnout. V PHP je test potřeba.

Asi bych ankety řešil přes type="radio" než checkboxy. To by totiž znamenalo, že může vybrat více položek.
To taky na začátku chce.

Tak pokud chceš víc položek, udělej to přes type="checkbox" jak je v [#2].
O tom mluvil už když to zakládal.
TomasJ
Profil
Darker:
Ale uživatel to může podvrhnout. V PHP je test potřeba.
Taky neříkám, že bych test PHP vynechal :)

To taky na začátku chce.
Já jen přihodil argument, že anketa je nejlepší přes type="radio", jelikož s checkboxy to není anketa ale spíš dotazník :)


Ale co tu ještě řešíme, když problém je vyřešen že? :)
Lupa
Profil
TomasJ: :)
Darker
Profil
TomasJ:
To jsem říkal tobě, ne jemu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: