Solved

insert into mysql database form with multiple fields that include a checkbox array

Posted on 2011-02-11
1
427 Views
Last Modified: 2012-05-11
I am able to submit all fields into my database with the exception of the art_photos[] checkbox array. All fields enter their correct data but the array inserts the word NULL. Any help would be appreciated as to why the array won't insert my data value.  I removed the styles from this code so if you see something regarding Spry, just ignore that part of the code. Here's what I am working with.


<?php virtual('/budgets/Connections/connAdmin.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO daily_budget (rundate, slug, reporter, budgetInfo, notes, `section`, deadline, art_photos, sidebar, sBudget) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['rundate'], "text"),
                       GetSQLValueString($_POST['slug'], "text"),
                       GetSQLValueString($_POST['reporter'], "text"),
                       GetSQLValueString($_POST['budgetInfo'], "text"),
                       GetSQLValueString($_POST['notes'], "text"),
                       GetSQLValueString($_POST['section'], "text"),
                       GetSQLValueString($_POST['deadline'], "text"),
                                 GetSQLValueString($_POST['art_photos'], "text"),
                       GetSQLValueString($_POST['sidebar'], "text"),
                       GetSQLValueString($_POST['sBudget'], "text"));

  mysql_select_db($database_connAdmin, $connAdmin);
  $Result1 = mysql_query($insertSQL, $connAdmin) or die(mysql_error());
}

?>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Budget Record</title>
</head>

<body>
<center><h2>Insert Daily Budget </h2></center>
<?php
if (isset($error)) {
      echo '<ul>';
      foreach($error as $alert) {
            echo "<li class='warning'>$alert</li>\n";
      }
      echo '</ul>';
}
?>
<form action="<?php echo $editFormAction; ?>" method="POST" name="form1" id="form1">
  <table align="center" width="60%" border="2" bgcolor="#FFFFFF">
    <tr valign="baseline">
      <td width="14%" align="right" nowrap="nowrap"><STRONG>Rundate:</STRONG></td>
      <td width="86%">
        <input type="text" name="rundate" size="30" value="" id="jQueryUICalendar2"/>
 
</td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><STRONG>Section:</STRONG></td>
      <td>
        <select name="section">
        <option value=""></option>
          <option value="A1">A1</option>
          <option value="Pickup All">Pickup All</option>
          <option value="Region">Region</option>
          <option value="Atlantic">Atlantic</option>
               <option value="Business">Business</option>
          <option value="Features">Features</option>
          <option value="Sports">Sports</option>
        </select>
     </td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Slug:</strong></td>
      <td><span id="sprytextfield2">
      <input type="text" name="slug" value="" size="32" />
      <span class="textfieldRequiredMsg">REQUIRED</span></span><span style="color: #F00; font-weight: bold; font-size: 10px;"></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Budget Information:</strong></td>
      <td><span id="sprytextarea1">
        <textarea name="budgetInfo" cols="50" rows="4"></textarea>
<span class="textareaRequiredMsg">Required.</span></span><span style="color: #F00; font-weight: bold; font-size: 11px;"></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Notes:</strong></td>
      <td><input type="text" name="notes" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Reporter:</strong></td>
      <td><span id="sprytextfield3">
        <input type="text" name="reporter" value="" size="32" />
      <span class="textfieldRequiredMsg">Required.</span></span><span style="color: #F00; font-weight: bold; font-size: 10px;"></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Deadline:</strong></td>
      <td><input type="text" name="deadline" size="30" value="Enter date" id="jQueryUICalendar1"/>
> </td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Artwork:</strong></td>
      <td><label>
          <input type="checkbox" name="art_photos[]" value="factbox" id="art_photos_0"  />
          Factbox</label>
       
        <label>
          <input type="checkbox" name="art_photos[]" value="graphic" id="art_photos_1" />
          Graphic</label>
       
        <label>
          <input type="checkbox" name="art_photos[]" value="photo" id="art_photos_2" />
          Photo</label>
       
        <label>
          <input type="checkbox" name="art_photos[]" value="video" id="art_photos_3"  />
          Video</label>
      <br /></td>
    </tr>
        <tr>
       
    </tr>
       <tr valign="baseline">
      <td nowrap="nowrap" align="right">      <strong>Sidebar:</strong></td>
      <td valign="baseline"><span id="spryradio2">
        <label>
          <input type="radio" name="sidebar" value="y" id="sidebar_0" />
          Yes</label>
        <br />
        <label>
          <input type="radio" name="sidebar" value="n" id="sidebar_1" />
          No</label>
        <br />
        <span class="radioRequiredMsg"><strong style="font-size: 11px">REQUIRED.</strong></span></span>
       
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"><strong>Sidebar Information:</strong></td>
      <td><input type="text" name="sBudget" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td><input type="submit" value="Insert record" /></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1" />
</form>

<h3><a href="/new_budget/admin/manage_budgets.php"><strong>View your budget entry, make changes or delete your budget.</strong></a></h3>

</body>
</html>
0
Comment
Question by:acpress
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 27

Accepted Solution

by:
Lukasz Chmielewski earned 500 total points
ID: 34875323
I think the database field is not availab le to get any value from an array thus it is getting null,
you would have to implode the art_photos[] array with some character and then insert it into that field art_photos.
Is the field type text or varchar ?
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Foreword In the years since this article was written, numerous hacking attacks have targeted password-protected web sites.  The storage of client passwords has become a subject of much discussion, some of it useful and some of it misguided.  Of cou…
This article shows the steps required to install WordPress on Azure. Web Apps, Mobile Apps, API Apps, or Functions, in Azure all these run in an App Service plan. WordPress is no exception and requires an App Service Plan and Database to install
This video Micro Tutorial shows how to password-protect PDF files with free software. Many software products can do this, such as Adobe Acrobat (but not Adobe Reader), Nuance PaperPort, and Nuance Power PDF, but they are not free products. This vide…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question