I am trying to put info into the database, have 3 issues (no errors though)
1, The userid username are empty
2, The drivers name are just "on" (need to assign drivers names to checks? )
3, Page echos query, but DB is still empty.
Result page is
INSERT INTO user_drivers(userid, username, driver1, driver2, driver3, driver4, driver5, driver6, driver7) VALUES('','','on','on',''on', 'on', 'on', 'on', 'on')
DB table structure is
CREATE TABLE `user_drivers` (
`userid` int(11) NOT NULL,
`username` varchar(32) character set utf8 collate utf8_unicode_ci NOT NULL,
`driver1` text character set latin1 NOT NULL,
`driver2` text character set latin1 NOT NULL,
`driver3` text character set latin1 NOT NULL,
`driver4` text character set latin1 NOT NULL,
`driver5` text character set latin1 NOT NULL,
`driver6` text character set latin1 NOT NULL,
`driver7` text character set latin1 NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Form page is
<?php
$tpl = new template;
$tpl -> Load("!theme/{$GLOBALS["THEME"]}/templates/fantasy/fselteam.tpl");
$tpl -> GetObjects();
if (isset($_SESSION["id"])) $tpl->Zone("userStatus", "user");
else $tpl->Zone("userStatus", "guest");
if (isset($GLOBALS["LOGIN_FAIL_TYPE"])) {
if ($GLOBALS["LOGIN_FAIL_TYPE"] == "e.password") $loginError = $GLOBALS["OBJ"]["loginError.password"];
elseif ($GLOBALS["LOGIN_FAIL_TYPE"] == "e.user") $loginError = $GLOBALS["OBJ"]["loginError.username"];
elseif ($GLOBALS["LOGIN_FAIL_TYPE"] == "e.bruteforce") $loginError = $GLOBALS["OBJ"]["loginError.bruteforce"];
elseif ($GLOBALS["LOGIN_FAIL_TYPE"] == "e.active") $loginError = $GLOBALS["OBJ"]["loginError.active"];
}
$tpl -> AssignArray(array(
"login.failMessage" => (isset($loginError)?$loginError:NULL)
));
// Report all PHP errors (see changelog)
// error_reporting(E_ALL);
include_once('db_conn.php');
$sql = "SELECT * FROM `nascar_standings` ORDER BY driver ASC LIMIT 65";
$rs = mysql_query($sql);
$username = me('username');
$userid = me('id');
$i = 0;
$sel_text = "";
$column = "</tr><tr>";
while($row = mysql_fetch_assoc($rs)){
$label = $row['driver'];
$sel_text .= "<td><input type='checkbox' name='chks[]'> $label </td>";
if (++$i % 4 == 0)
{
$sel_text .= $column;
}
}
$sel_text .= "</tr><tr><td colspan =4 valign = center><input type='submit' value='Validate & Submit' name='validate' onclick='if(!checkCount()) return false;'></td></tr></table></form>";
$sel_text .= "<script type='text/javascript'>
function checkCount(){
var mincheck = 7;
var testform = document.getElementById('frmChk');
var items = testform.getElementsByTagName('input');
var count = 0;
for (var i=0; i < items.length-1; i++)
{
if (items[i].type == 'checkbox' && items[i].checked)
{
count++;
}
}
if(count != mincheck)
{
alert('You must select ' + mincheck + ' Drivers');
return false;
}
return true;
}
</script>";
$tpl -> AssignArray(array('selteam' => $sel_text));
$tpl -> Flush();
?>
The insert page is
<?php
if(! isset($_POST['submit'])) header("fhome.php");
if(isset($_POST['chks']) && count($_POST['chks']) == 7){
$drivers = $_POST['chks'];
include_once('db_conn.php');
//note the sql has an ellipsis(...) where you need to fill in the rest
$sql = "INSERT INTO user_drivers(userid, username, driver1, driver2, driver3, driver4, driver5, driver6, driver7) VALUES('".$userid."','".$username."','".$drivers[0]."','".$drivers[1]."',''".$drivers[2]."', '".$drivers[3]."', '".$drivers[4]."', '".$drivers[5]."', '".$drivers[6]."')";
mysql_query($sql);
}
else{
//output invalid number of drivers specified
}
echo $sql;
?>