p2p.wrox.com Forums

p2p.wrox.com Forums (http://p2p.wrox.com/index.php)
-   Dreamweaver (all versions) (http://p2p.wrox.com/forumdisplay.php?f=58)
-   -   Data collection form prob. d.mx/mysql (http://p2p.wrox.com/showthread.php?t=4184)

€urorunner September 23rd, 2003 08:52 AM

Data collection form prob. d.mx/mysql
 
I have setup a connection from a html form to a database table (mysql).

Table setup with the following sql statement:

CREATE TABLE Brochure_Request (Requester_ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, ****_checkbox ENUM('Y','N') DEFAULT 'N', *****_checkbox ENUM('Y','N') DEFAULT 'N', First_name VARCHAR(20) NOT NULL, Last_name VARCHAR(30) NOT NULL, Address VARCHAR(50), Phone_no INT NOT NULL, Email VARCHAR(20));


HTML FORM FIELDS:

****_checkbox
*****_checkbox
First_name (textfield - singleline)
Last_name (textfield - singleline)
Address (textfield - multiline)
Phone_no (integer)
Email (textfield - singleline)


Using the Dreamweaver interface, selected insert records under database - selected the Brochure_Request table from the list, matched each field with the equivalent form field - click ok and that should be it.

On submit, the fields are validated to make sure their all filled out and with the right data type.

However, on testing it, no data is dropping in to the table??

Any ideas as to what might be going on here?


€urorunner September 23rd, 2003 08:53 AM

forgot to post insert statement:

if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "Brochure_requests")) {
$insertSQL = sprintf("INSERT INTO Brochure_Request (****_checkbox, *****_checkbox, First_name, Last_name, Address, Phone_no, Email) VALUES (%s, %s, %s, %s, %s, %s)",
GetSQLValueString(isset($HTTP_POST_VARS['****_checkbox']) ? "true" : "", "defined","'Y'","'N'"),
GetSQLValueString($HTTP_POST_VARS['*****_checkbox']) ? "true" : "", "defined","'Y'","'N'"),
GetSQLValueString($HTTP_POST_VARS['First_name'], "text"),
GetSQLValueString($HTTP_POST_VARS['Last_name'], "text"),
GetSQLValueString($HTTP_POST_VARS['Address'], "text"),
GetSQLValueString($HTTP_POST_VARS['Phone_no'], "int"),
GetSQLValueString($HTTP_POST_VARS['Email'], "text"));

mysql_select_db($database_DB_CONN, $DB_CONN);
$Result1 = mysql_query($insertSQL, $DB_CONN) or die(mysql_error());

mysql_select_db($database_DB_CONN, $DB_CONN);
$Result1 = mysql_query($insertSQL, $DB_CONN) or die(mysql_error());


My fudging around with the codes getting me into deeper bullcrap...now getting this error for the form page:

Parse error: parse error, unexpected ',' in /xxxx/xxxx/xxxx/xxxxxx/request_brochure.php on line 36

where line 36 =
GetSQLValueString($HTTP_POST_VARS['*****_checkbox']) ? "true" : "", "defined","'Y'","'N'"),

Its exactly the same as the line before it so wheres the problem?


Imar September 23rd, 2003 02:01 PM

You may have found this one already, but the line is missing an isset. There is no if statement, so the other code in the block won't run correctly.

Cheers,

Imar


---------------------------------------
Imar Spaanjaars
Everyone is unique, except for me.

€urorunner September 23rd, 2003 06:51 PM

Imar,

Thanks for your help ref. missing isset. I'm afraid my coding skills are all but non-existant (although i'm trying to change this!)..so i have been depending on the dreamweaver mx application features to square this away for me. Below is the complete page code:

<?php require_once('../../Connections/DB_CONN.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $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 = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
  $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
}

if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "Brochure_requests")) {
  $insertSQL = sprintf("INSERT INTO Brochure_Request (****_checkbox, *****_checkbox, First_name, Last_name, Address, Phone_no, Email) VALUES (%s, %s, %s, %s, %s, %s)",
                       GetSQLValueString(isset($HTTP_POST_VARS['****_checkbox']) ? "true" : "", "defined","'Y'","'N'"),
                       GetSQLValueString(isset ($HTTP_POST_VARS['*****_checkbox']) ? "true" : "", "defined","'Y'","'N'"),
                       GetSQLValueString($HTTP_POST_VARS['First_name'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['Last_name'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['Address'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['Phone_no'], "int"),
                       GetSQLValueString($HTTP_POST_VARS['Email'], "text"));

  mysql_select_db($database_DB_CONN, $DB_CONN);
  $Result1 = mysql_query($insertSQL, $DB_CONN) or die(mysql_error());
}

if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "Brochure_requests")) {
  $insertSQL = sprintf("INSERT INTO Brochure_Request (****_checkbox, *****_checkbox, First_name, Last_name, Address, Phone_no, Email) VALUES (%s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString(isset($HTTP_POST_VARS['****_checkbox']) ? "true" : "", "defined","'Y'","'N'"),
                       GetSQLValueString(isset($HTTP_POST_VARS['*****_checkbox']) ? "true" : "", "defined","'Y'","'N'"),
                       GetSQLValueString($HTTP_POST_VARS['First_name'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['Last_name'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['Address'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['Phone_no'], "int"),
                       GetSQLValueString($HTTP_POST_VARS['Email'], "text"));

  mysql_select_db($database_DB_CONN, $DB_CONN);
  $Result1 = mysql_query($insertSQL, $DB_CONN) or die(mysql_error());
}

if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "Brochure_requests")) {
  $insertSQL = sprintf("INSERT INTO Brochure_Request (****_checkbox, *****_Checkbox, First_name, Last_name, Address, Phone_no, Email) VALUES (%s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString(isset($HTTP_POST_VARS['****_checkbox']) ? "true" : "", "defined","'Y'","'N'"),
                       GetSQLValueString(isset($HTTP_POST_VARS['*****_checkbox']) ? "true" : "", "defined","'Y'","'N'"),
                       GetSQLValueString($HTTP_POST_VARS['First_name'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['Last_name'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['Address'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['Phone_no'], "int"),
                       GetSQLValueString($HTTP_POST_VARS['Email'], "text"));

  mysql_select_db($database_DB_CONN, $DB_CONN);
  $Result1 = mysql_query($insertSQL, $DB_CONN) or die(mysql_error());

  $insertGoTo = "/*******/******/account.php";
  if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

/*
  $Id: product_info.php,v 1.92 2003/02/14 05:51:21 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  require('includes/application_top.php');

  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO);
?>


<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<base href="<?php echo (($request_type == '../../catalog/SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script language="javascript">
<!--



function popupWindow(url) {
  window.open(url,'popupWindow','toolbar=no,location =no,directories=no,status=no,menubar=no,scrollbars =no,resizable=yes,copyhistory=no,width=100,height= 100,screenX=150,screenY=150,top=150,left=150')
}
//-->
</script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<SCRIPT language=JavaScript src="http://***********/*******/menu_array.js" type=text/javascript></SCRIPT>

<SCRIPT language=JavaScript src="http://**********/*******/mmenu.js" type=text/javascript></SCRIPT>

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>



<table border="0" width="100%" cellspacing="3" cellpadding="3">
  <tr>
    <td width="<?php echo BOX_WIDTH; ?>" valign="top">
<table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?><p align="center"><img src="images/spacer.gif" width="5" height="160" vspace="0" hspace="1"></p>

    </table></td>

    <td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?>
      <table border="0" width="100%" cellspacing="0" background="images/wasser_bg.jpg" cellpadding="0">

        <?php
  $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . $languages_id . "'");
  if (!tep_db_num_rows($product_info_query)) { // product not found in database
?>
        <tr>
          <td colspan="2" class="main"><br> <blockquote>
              <div align="left">
                <h3 align="left"><b>Request a Product Brochure</b></h3>
              </div>
              <div align="center">
                <div align="left">Simply add your details below
                  and press the submit button.</div>
              </div>
            </blockquote></td>
        </tr>
        <tr>
          <td width="448" height="380" align="left" valign="top"> <blockquote>
              <form action="<?php echo $editFormAction; ?>" method="POST" name="Brochure_requests" target="_blank" id="Brochure_requests">
                <div align="left">
                  <pre><b>Please forward product literature on the following:</b></pre>
                </div>
                <div align="left">
                  <pre>*****************<input name="****_checkbox" type="checkbox" id="*****_checkbox" value="checked">
***** ********<input name="*****_checkbox" type="checkbox" id="******_checkbox" value="checked">
               </pre>

                </div>
                <div align="left"></div>
                <div align="left">
                  <pre>*First Name:<input name="First_name" type="text" id="First_name" size="30"> </pre>
                </div>
                <div align="left">
                  <pre>*Last Name: <input type="text" name="Last_name" size="30"></pre>
                </div>
                <div align="left">
                  <pre>*Address: <textarea name="Address" cols="23" rows="7"></textarea></pre>
                </div>
                <div align="left">
                  <pre>*Phone No.: <input name="Phone_no" type="text" id="Phone_no" size="30"> </pre>
                </div>
                <div align="left">
                  <pre>*E-mail: <input type="text" name="Email" size="30"></pre>
                </div>
                <div align="left">
                  <pre>


                       <input type="submit" name="Submit" value="Submit"></pre>
                </div>
                <blockquote>
                  <div align="left"></div>
                </blockquote>
                <input type="hidden" name="MM_insert" value="Brochure_requests">
              </form>
            </blockquote>
            <div align="left"></div>
            <blockquote>
              <p>&nbsp;</p>
              <p>* = Required Fields.</p>
            </blockquote>
            [list]
            </ul></td>
          <td width="307" valign="top"><p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p></td>
        </tr>
        <tr>
          <td height="99" colspan="2" valign="top">&nbsp;</td>
        </tr>
        <?php
  } else {
    tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . $languages_id . "'");
    $product_info = tep_db_fetch_array($product_info_query);

    if ($new_price = tep_get_products_special_price($product_info['products_id'])) {
      $products_price = '<s>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>';
    } else {
      $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));
    }
?>
        <tr>
          <td colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="2">
              <tr height="40">
                <td align="right" class="pageHeading"><?php echo $products_price; ?></td>
              </tr>
              <?php
    if (PRODUCT_LIST_MODEL > 0) {
      echo ' <tr>' . "\n" .
           ' <td colspan="2" class="pageHeading">' . $product_info['products_model'] . '</td>' . "\n" .
           ' </tr>' . "\n";
    }
?>
            </table></td>
        </tr>
        <tr>
          <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?>
          </td>
        </tr>
        <tr>
          <td colspan="2" class="main"><table border="0" cellspacing="0" cellpadding="2" align="right">
              <?php
    if (tep_not_null($product_info['products_image'])) {
?>
              <tr>
                <td align="center" class="smallText"> <script language="javascript"><!--
document.write('<?php echo '<a href="javascript:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id']) . '\\\')">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>');
//--></script> <noscript>
                  <?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>
                  </noscript> </td>
              </tr>
              <?php
    }
?>
            </table>
            <p><?php echo stripslashes($product_info['products_description']); ?></p>
            <?php
    $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'");
    $products_attributes = tep_db_fetch_array($products_attributes_query);
    if ($products_attributes['total'] > 0) {
      echo '<b>' . TEXT_PRODUCT_OPTIONS . '</b><br>' .
           '<table border="0" cellpadding="0" cellspacing"0">';
      $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'");
      while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {
        $selected = 0;
        $products_options_array = array();
        echo '<tr><td class="main">' . $products_options_name['products_options_name'] . ':</td><td>' . "\n";
        $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . $products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . $languages_id . "'");
        while ($products_options = tep_db_fetch_array($products_options_query)) {
          $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);
          if ($products_options['options_values_price'] != '0') {
            $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') ';
          }
        }
        echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]);
        echo '</td></tr>';
      }
      echo '</table>';
    }
?>
          </td>
        </tr>
        <?php
    $reviews = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . $HTTP_GET_VARS['products_id'] . "'");
    $reviews_values = tep_db_fetch_array($reviews);
    if ($reviews_values['count'] > 0) {
?>
        <tr>
          <td colspan="2" class="main"><br> <?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews_values['count']; ?></td>
        </tr>
        <?php
    }

    if (tep_not_null($product_info['products_url'])) {
?>
        <tr>
          <td colspan="2" class="main"><br> <?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td>
        </tr>
        <?php
    }

    if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) {
?>
        <tr>
          <td colspan="2" align="center" class="smallText"><br> </td>
        </tr>
        <?php
    } else {
?>
        <tr>
          <td colspan="2" align="center" class="smallText"><br> </td>
        </tr>
        <?php
    }
?>
        <tr>
          <td colspan="2"><br> <table border="0" width="100%" cellspacing="0" cellpadding="0">
              <tr>
                <td class="main"><a href="<?php echo tep_href_link(FILENAME_PRODUCT_REVIEWS, substr(tep_get_all_get_params(), 0, -1)); ?>"><?php echo tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS); ?></a></td>
                <td align="right" class="main"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td>
              </tr>
            </table></td>
        </tr>
        <tr>
          <td colspan="2"><br>
            <?php
    if ( (USE_CACHE == 'true') && !defined('SID')) {
      echo tep_cache_also_purchased(3600);
    } else {
      include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);
    }
  }
?>
          </td>
        </tr>
      </table>
      </form></td>

    <td width="<?php echo BOX_WIDTH; ?>" valign="top">
      <table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">

<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?><p align="center"><img src="images/celticknot_template3.jpg" width="108" height="50" vspace="10" hspace="17"></p>
      <p align="center"><b>[u]<strong><var>*******</var></strong></u></b></p>Address:<br>
          ******,<br>

                    Web: *********

    </table></td>
  </tr>
</table>



<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>



Now there are a couple of other blocks of similar code with 'if' statements - is there still an 'if' statement missing - can you point me to where it needs to be cos i'm not too sure on this..


Thanks again for your help.


Imar September 24th, 2003 05:42 AM

Hi there,

It's a bit too much code for me to wade through and find an error, especially since you didn't indicate the problem (do you get an error, and if so what??)

Things to check:
Right before you pass $insertSQL to the database, echo it to your browser. What does the SQL statement look like? If you copy and paste it into your database directly (using PHPAdmin for example), does it run fine or do you get an error there as well?

Imar


---------------------------------------
Imar Spaanjaars
Everyone is unique, except for me.


All times are GMT -4. The time now is 11:57 AM.

Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.