Page 1 of 1

php form trouble

Posted: Fri Aug 22, 2003 12:53 am
by longhorn14
I am close, but doing something wrong. I have a php page with a form and all of the php code to process it. The database is set up, but when I submit the form, my database does not reflect the information submitted, but it has variable names. I think it is a problem with assigning variables. The hidden field values appear, but nothing else (i.e. the company field has $1_company as the value. If someone could put me on the right track, I would be very happy!
thanks,
nat
code pasted below.

Code: Select all

<?
include("dbcustomers.inc.php");
mysql_connect(mysql,$username,$password);
@mysql_select_db($database) or die( "Unable to select database"); 


$query = "INSERT INTO customers VALUES ('','$whichform','$typeName','$a_company','$1_contact','$1_address','$1_city','$1_state','$1_zip','$1_region','$1_area','$1_phone','$1_fax','$1_cell','1_email','$1_website','$1_comments','1_submittedBy')";
mysql_query($query);

mysql_close();
?> 
<html>
<head>
<title>Customer Database</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../mdm.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="644" border="0" cellpadding="0" cellspacing="0" class="FORMlive">
  <form name="processors_taxidermists" method="post" action="add_customer.php">
    <tr> 
      <td colspan="2"><strong>Game Processors and Taxidermists</strong></td>
      <td width="58">&nbsp;</td>
      <td width="144"><input name="whichform" type="hidden" id="whichform" value="1">
        <input name="typeName" type="hidden" id="typeName" value="Game Processors and Taxidermists"></td>
      <td width="22">&nbsp;</td>
      <td width="144">&nbsp;</td>
    </tr>
    <tr> 
      <td width="130">&nbsp;</td>
      <td width="144">&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td valign="middle"> <div align="right">Business/Company</div></td>
      <td> <input name="1_company" type="text" class="INPUTTEXTAREA" id="1_company"> 
      </td>
      <td><div align="right">Contact</div></td>
      <td><input name="1_contact" type="text" class="INPUTTEXTAREA" id="1_contact"></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td valign="middle"> <div align="right">Address</div></td>
      <td><input name="1_address" type="text" class="INPUTTEXTAREA" id="1_address"></td>
      <td><div align="right">City/State</div></td>
      <td valign="middle"> <input name="1_city" type="text" class="INPUTTEXTAREA" id="1_city" size="10"> 
        &nbsp; <select name="1_state" class="INPUTTEXTAREA" id="1_state">
          <option value="TX" selected>TX</option>
          <option value="AL">AL</option>
          <option value="AK">AK</option>
          <option value="AZ">AZ</option>
          <option value="AR">AR</option>
          <option value="CA">CA</option>
          <option value="CO">CO</option>
          <option value="CT">CT</option>
          <option value="DE">DE</option>
          <option value="DC">DC</option>
          <option value="FL">FL</option>
          <option value="GA">GA</option>
          <option value="HI">HI</option>
          <option value="ID">ID</option>
          <option value="IL">IL</option>
          <option value="IN">IN</option>
          <option value="IA">IA</option>
          <option value="KS">KS</option>
          <option value="KY">KY</option>
          <option value="LA">LA</option>
          <option value="ME">ME</option>
          <option value="MD">MD</option>
          <option value="MA">MA</option>
          <option value="MI">MI</option>
          <option value="MN">MN</option>
          <option value="MS">MS</option>
          <option value="MO">MO</option>
          <option value="MT">MT</option>
          <option value="NE">NE</option>
          <option value="NV">NV</option>
          <option value="NH">NH</option>
          <option value="NJ">NJ</option>
          <option value="NM">NM</option>
          <option value="NY">NY</option>
          <option value="NC">NC</option>
          <option value="ND">ND</option>
          <option value="OH">OH</option>
          <option value="OK">OK</option>
          <option value="OR">OR</option>
          <option value="PA">PA</option>
          <option value="RI">RI</option>
          <option value="SC">SC</option>
          <option value="SD">SD</option>
          <option value="TN">TN</option>
          <option value="UT">UT</option>
          <option value="VT">VT</option>
          <option value="VA">VA</option>
          <option value="WA">WA</option>
          <option value="WV">WV</option>
          <option value="WI">WI</option>
          <option value="WY">WY</option>
          <option value="Other">N/A</option>
        </select> </td>
      <td><div align="right">Zip</div></td>
      <td><input name="1_zip" type="text" class="INPUTTEXTAREA" id="1_zip"></td>
    </tr>
    <tr> 
      <td valign="middle"> <div align="right"></div></td>
      <td>&nbsp;</td>
      <td><div align="right"></div></td>
      <td>&nbsp;</td>
      <td><div align="right"></div></td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td valign="middle"> <div align="right">Region</div></td>
      <td><input name="1_region" type="text" class="INPUTTEXTAREA" id="1_region"></td>
      <td><div align="right">Area</div></td>
      <td><input name="1_area" type="text" class="INPUTTEXTAREA" id="1_area"></td>
      <td><div align="right"></div></td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td height="15" valign="middle"> <div align="right"></div></td>
      <td>&nbsp;</td>
      <td><div align="right"></div></td>
      <td>&nbsp;</td>
      <td><div align="right"></div></td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td valign="middle"> <div align="right">Business Phone</div></td>
      <td><input name="1_phone" type="text" class="INPUTTEXTAREA" id="1_phone"></td>
      <td><div align="right">Fax</div></td>
      <td><input name="1_fax" type="text" class="INPUTTEXTAREA" id="1_fax"></td>
      <td><div align="right">Cell</div></td>
      <td><input name="1_cell" type="text" class="INPUTTEXTAREA" id="1_cell"></td>
    </tr>
    <tr> 
      <td valign="middle"> <div align="right">Email</div></td>
      <td><input name="1_email" type="text" class="INPUTTEXTAREA" id="1_email"></td>
      <td><div align="right">Website</div></td>
      <td><input name="1_website" type="text" class="INPUTTEXTAREA" id="1_website"></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td valign="middle"> <div align="right"></div></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td valign="middle"> <div align="right">Comments/Agreement</div></td>
      <td colspan="3"><textarea name="1_comments" cols="50" rows="5" class="INPUTTEXTAREA" id="1_comments"></textarea></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td valign="middle">&nbsp;</td>
      <td colspan="3">&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td valign="middle"><div align="right">Submitted By</div></td>
      <td colspan="3"><select name="1_submittedBy" class="INPUTTEXTAREA" id="1_submittedBy">
          <option value="null">Please Select</option>
          <option value="Mitchell Aswell">Mitchell Aswell</option>
          <option value="Nathan Dragoo">Nathan Dragoo</option>
          <option value="Alan Hill">Alan Hill</option>
          <option value="Frank Nelson">Frank Nelson</option>
          <option value="John Nelson">John Nelson</option>
        </select></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td valign="middle">&nbsp;</td>
      <td colspan="3">&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td valign="middle">&nbsp;</td>
      <td colspan="3"><div align="center"> 
          <input name="Submit" type="submit" class="INPUTTEXTAREAGREEN" value="Add Record">
        </div></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td valign="middle">&nbsp;</td>
      <td colspan="3">&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
  </form>
</table>
</body>
</html>


?>

Posted: Fri Aug 22, 2003 12:56 pm
by McGruff
Variable names must start with a letter or underscore.

http://www.php.net/manual/en/language.variables.php

Thanks

Posted: Sat Aug 23, 2003 1:28 am
by longhorn14
That worked! I have one more question:
Since I have my PHP code and the HTML form on the same page, if you refresh the page, it submits another empty record. Is there some to get it to submit only when the submit button is pressed? (like is_submitted = true ...)
Thanks for your help.

Posted: Sat Aug 23, 2003 2:14 am
by Caped Knight
That worked! I have one more question:
Since I have my PHP code and the HTML form on the same page, if you refresh the page, it submits another empty record. Is there some to get it to submit only when the submit button is pressed? (like is_submitted = true ...)
Thanks for your help.
Check to see if the variable's value is "" before submitting anything:

Code: Select all

<?php

if($varname == ""){unset($varname);}

?>
Or you be even more creative and add a hidden form:

Code: Select all

<input type="hidden" name="confirm" value="">

<?php if(isset($confirm)){ [execute queries] } ?>
?>

Posted: Sat Aug 23, 2003 2:23 am
by longhorn14
Thanks a ton, I will give it a shot. I knew there must be some way, as there is in ASP.

Posted: Mon Aug 25, 2003 8:50 pm
by JAM
Well, refreshing the page will make the page submit the same info again if I'm not mistaking...

You could add the following after the $_POST info has been dealt with:

Code: Select all

<script language="JavaScript">window.location="add_customer.php";
</script>
...or using php's header() function to redirect the user to the same (or other) page a second time, and while doing that loosing the $_POST info...

Posted: Thu Aug 28, 2003 8:15 pm
by Caped Knight
You could just unset all $_POST's, couldn't you?

Posted: Thu Aug 28, 2003 8:51 pm
by fractalvibes
I usually just check for the submit button that fires the event being greater than "". Usually have a number of different submit buttons and sections of the page that either display or are hidden depending upon the button clicked...seems logical to me!

fv