Jump to content

!isset($_POST["check"]["$cnt"])


Chris Val Kef

Recommended Posts

i want to check if a checkbox was checked or not.

if (isset($_POST["check"]["$cnt"] works fine but it seems that

elseif (!isset($_POST["check"]["$cnt"])) is being skipped.

i use this in the form <input type="checkbox" name="check[]" value="id">

does anyone knows if the check[] table POSTs only the checked checkboxes?
any ideas to check the unchecked checkboxes? ;)


                                 
Link to comment
https://forums.phpfreaks.com/topic/27512-isset_postcheckcnt/
Share on other sites

<?php

session_start();

include '../config.php';

$con = mysql_connect($dbServer,$dbUser,$dbPass) or exit("Error Connecting to Database");

$sqlSTUDENT = "SELECT id FROM students WHERE user_id = '".$_SESSION["user_id"]."' ";
$resSTUDENT = mysql_db_query ("elearning",$sqlSTUDENT);
$resultSTUDENT = mysql_fetch_array ($resSTUDENT);

for ($cnt=0; $cnt<count($_POST["check"]); $cnt++)
{

if ( isset($_POST["check"]["$cnt"]) )
{

$sqlREGISTERED = "SELECT id FROM student_attends_class WHERE student_id = '".$resultSTUDENT["id"]."' AND class_id = '".$_POST["check"]["$cnt"]."' AND active = 1 ";
$resREGISTERED = mysql_db_query ("elearning", $sqlREGISTERED);
//$resultREGISTERED = mysql_fetch_array ($resREGISTERED);


if ( mysql_num_rows ($resREGISTERED) == 0 )
{

$sqlSEMESTER = "SELECT semester FROM classes WHERE id = '".$_POST["check"]["$cnt"]."' ";
$resSEMESTER = mysql_db_query ("elearning",$sqlSEMESTER);
$resultSEMESTER = mysql_fetch_array ($resSEMESTER);

$sqlREQUEST = "INSERT INTO student_attends_class VALUES ( '',
'".$_POST["check"]["$cnt"]."',
'".$resultSTUDENT["id"]."',
'0',
'".$resultSEMESTER["semester"]."'
)";

$resREQUEST = mysql_db_query ("elearning", $sqlREQUEST);
}

}

else
{

$sqlREGISTERED = "SELECT id FROM student_attends_class WHERE student_id = '".$resultSTUDENT["id"]."' AND class_id = '".$_POST["check"]["$cnt"]."' AND active = 1 ";
$resREGISTERED = mysql_db_query ("elearning", $sqlREGISTERED);
$resultREGISTERED = mysql_fetch_array ($resREGISTERED);


if ( mysql_num_rows ($resREGISTERED) == 1)
{

$sqlUNREGISTER = "DELETE FROM student_attends_class WHERE id = '".$resultREGISTERED["id"]."' ";
$resUNREGISTER = mysql_db_query ("elearning", $sqlUNREGISTER);

}
}
}


header ('Location: main.php?message=updated_lessons');
}


?>

this is my code! it seems fine to me but when i submit i get a white screen... after some tries i found that it doesn't like the outer  if...else
Link to comment
https://forums.phpfreaks.com/topic/27512-isset_postcheckcnt/#findComment-126059
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.