Kezdőoldal » Számítástechnika » Weblapkészítés » Checkbox ellenőrzési hiba, de...

Checkbox ellenőrzési hiba, de miért?

Figyelt kérdés

Sziasztok!


Elkezdtem írni egy regisztrációs űrlapot, és a végén van egy checkbox, amivel elfogadja a felhasználó a szabályzatot. Maga az ellenőrzés le is fut, azonban ha nem jelöli be az én hibaüzenetemen kívül kapok egy php hibaüzenetet is ( Notice: Undefined index: checkbox in C:\wamp\www\reg\reg.php on line 21).

A kódban a 21.sorban ez van: $checkbox=$_POST['checkbox'];

Az elenőrzésnél pedig ez:

if (!$checkbox) {

echo "A regisztrációhoz szükséges feltételeket el kell fogadni!";

$error=true;

}

Az input pedig ilyen:

<input type="checkbox" id="checkbox" name="checkbox" style="margin:0 10px 0 0;"><label for="checkbox">A <a href="#">szabályzatot</a> elolvastam elfogadom.</label>


Köszi a segítséget előre is!



2013. dec. 12. 19:10
 1/7 anonim ***** válasza:
65%

csak a value értéket felejtetted el, amit tovább ad.

tedd be az input mezőbe a value="1" paramétert.

2013. dec. 12. 19:14
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
beleírtam, de a hibaüzenet ugyan úgy megmaradt
2013. dec. 12. 19:22
 3/7 anonim ***** válasza:
46%

mármint, ha nincs bejelölve akkor meg jelenik.

fel vehetsz a form elejére egy hidden input mezőt azonos name paraméterrel, de 0 value értékkel.

<input type="hidden" name="checkbox" value="0" />

Így a POST paraméter definiálva lesz...

2013. dec. 12. 19:29
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
Így már működik, köszönöm a segítséget!
2013. dec. 12. 19:33
 5/7 anonim ***** válasza:
46%

<?php

$hiba = "";

$checkbox = $_POST['checkbox'];

if (!$checkbox) {

$hiba = "A regisztrációhoz szükséges feltételeket el kell fogadni!";

$error=true;

} else {

$hiba = "okéééé";

}

?><form method="post" action="">

<input type="checkbox" id="checkbox" name="checkbox" value="1" style="margin:0 10px 0 0;" />

<button type="submit">Mehet</button>

</form>

<?php echo $hiba;?>

2013. dec. 12. 19:37
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:
Köszi!
2013. dec. 12. 19:41
 7/7 Drone007 ***** válasza:
100%

A checkbox speciális input elem. Ha nincs bejelölve, akkor nem is kerül be a $_POST tömbbe.

Ellenőrizni magát a $_POST tömböt érdemes, hogy egyáltalán létezik-e a keresett kulcs:

if (isset($_POST["checkbox"])) {

..bejelölve

} else {

..nincs bejelölve

}

2013. dec. 13. 06:37
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!