Jump to content

Ghost writer? PHP questions...


MercuryBlue

Recommended Posts

I have a form that writes to a database.  Which works fine except for two things.  The first of which I called the ghost writer because no matter what I put in the field for the phone number it writes back to the database a phone number I did not enter. 

 

Here is the code below:

 

<?php
//passing the variable
$order_list=$_POST['order_list'];

//Including the connection information
include "config.php";

//connect to the mysql server
$link = mysql_connect($server, $db_user, $db_pass) or die("Could not connect to MySQL");

//select the database
mysql_select_db($database) or die ("Could not select database");

//Getting all the variables
$query = mysql_query ("SELECT * FROM clients WHERE order_id = ".$order_list, $link) or die("<center>There was an error and we could not load the Client list</center>");

//Putting the results in an array
$result = mysql_fetch_array($query);

?>

    <div align="center">
      <p><br>
        <br>
        <span class="style1"><u>Order Confirmation Form</u><br>
      (Sales)
      </span></p>
      <form name="form1" method="post" action="update.php">
          <table width="800" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td><div align="left">Order Number: </div></td>
              <td> </td>
              <td><input name="order_id" type="text" value="<?php echo $result["order_id"]; ?>" maxlength="11" readonly="true">              
              <div align="left"></div></td>
              <td> </td>
              <td> </td>
              <td> </td>
              <td> </td>
            </tr>
            <tr>
              <td width="159" colspan="2"><div align="left">Date of Contact</div></td>
              <td width="91"><div align="left">
                <input name="date_req" type="text" id="date_req" value="<?php echo $result["date_req"]; ?>" maxlength="11" readonly="true">
</div></td>
              <td width="91"> </td>
              <td width="176"><div align="left">Phone:</div></td>
              <td colspan="2"><div align="left">
                <input name="client_phone" type="text" id="phone_num4" value="<?php echo $result["client_phone"]; ?>" maxlength="10">
              </div></td>
            </tr>
            <tr>
              <td colspan="2"><div align="left">Name:</div></td>
              <td colspan="2"><div align="left">
                <input name="client_name" type="text" id="name4" value="<?php echo $result["client_name"]; ?>" maxlength="50">
              </div></td>
              <td><div align="left">Fax:</div></td>
              <td colspan="2"><div align="left">
                <input name="client_fax" type="text" id="fax_num5" value="<?php echo $result["client_fax"]; ?>" maxlength="10">
              </div></td>
            </tr>
            <tr>
              <td colspan="2"><div align="left">Company:</div></td>
              <td colspan="2"><div align="left">
                <input name="client_company" type="text" id="company4" value="<?php echo $result["client_company"]; ?>" maxlength="50">
              </div></td>
              <td><div align="left">Department:</div></td>
              <td colspan="2"><div align="left">
                <input name="client_department" type="text" id="client_department2" value="<?php echo $result["client_department"]; ?>" size="20" maxlength="50">
              </div></td>
            </tr>
            <tr>
              <td colspan="2"><div align="left">Address:   </div></td>
              <td colspan="2"><div align="left">
                <textarea name="client_address" cols="20" rows="1" id="textarea6"><?php echo $result["client_address"]; ?></textarea>
              </div></td>
              <td><div align="left"></div></td>
              <td colspan="2"><div align="left"></div></td>
            </tr>
            <tr>
              <td colspan="2"><div align="left">City:</div></td>
              <td colspan="2"><div align="left">
                <input name="client_city" type="text" id="city4" value="<?php echo $result["client_city"]; ?>" maxlength="50">
              </div></td>
              <td><div align="left">Website:</div></td>
              <td colspan="2"><div align="left">
                <input name="client_website" type="text" id="website5" value="<?php echo $result["client_website"]; ?>" maxlength="50">
              </div></td>
            </tr>
            <tr>
              <td colspan="2"><div align="left">State: </div></td>
              <td colspan="2"><div align="left">
                <select name="client_state" size="1" id="select4">
                    <option value="<?php echo $result["client_state"]; ?>"><?php echo $result["client_state"]; ?></option>
                    <option value="Alaska">AK - Alaska</option>
                    <option value="Arizona">AZ - Arizona</option>
                    <option value="Arkansas">AR - Arkansas</option>
                    <option value="California">CA - California</option>
                    <option value="Colorado">CO - Colorado</option>
                    <option value="Connecticut">CT - Connecticut</option>
                    <option value="Delaware">DE - Delaware</option>
                    <option value="District of Columbia">DC - District of Columbia</option>
                    <option value="Florida">FL - Florida</option>
                    <option value="Georgia">GA - Georgia</option>
                    <option value="Hawaii">HI - Hawaii</option>
                    <option value="Idaho">ID - Idaho</option>
                    <option value="Illinois">IL - Illinois</option>
                    <option value="Indiana">IN - Indiana</option>
                    <option value="Iowa">IA - Iowa</option>
                    <option value="Kansas">KS - Kansas</option>
                    <option value="Kentucky">KY - Kentucky</option>
                    <option value="Louisiana">LA - Louisiana</option>
                    <option value="Maine">ME - Maine</option>
                    <option value="Maryland">MD - Maryland</option>
                    <option value="Massachusetts">MA - Massachusetts</option>
                    <option value="Michigan">MI - Michigan</option>
                    <option value="Minnesota">MN - Minnesota</option>
                    <option value="Mississippi">MS - Mississippi</option>
                    <option value="Missouri">MO - Missouri</option>
                    <option value="Montana">MT - Montana</option>
                    <option value="Nebraska">NE - Nebraska</option>
                    <option value="Nevada">NV - Nevada</option>
                    <option value="New Hampshire">NH - New Hampshire</option>
                    <option value="New Jersey">NJ - New Jersey</option>
                    <option value="New Mexico">NM - New Mexico</option>
                    <option value="New York">NY - New York</option>
                    <option value="North Carolina">NC - North Carolina</option>
                    <option value="North Dakota">ND - North Dakota</option>
                    <option value="Ohio">OH - Ohio</option>
                    <option value="Oklahoma">OK - Oklahoma</option>
                    <option value="Oregon">OR - Oregon</option>
                    <option value="Pennsylvania">PA - Pennsylvania</option>
                    <option value="Rhode Island">RI - Rhode Island</option>
                    <option value="South Carolina">SC - South Carolina</option>
                    <option value="South Dakota">SD - South Dakota</option>
                    <option value="Tennessee">TN - Tennessee</option>
                    <option value="Texas">TX - Texas</option>
                    <option value="Utah">UT - Utah</option>
                    <option value="Vermont">VT - Vermont</option>
                    <option value="Virginia">VA - Virginia</option>
                    <option value="Washington">WA - Washington</option>
                    <option value="West Virginia">WV - West Virginia</option>
                    <option value="Wisconsin">WI - Wisconsin</option>
                    <option value="Wyoming">WY - Wyoming</option>
                </select>
              </div></td>
              <td><div align="left">Email:</div></td>
              <td colspan="2"><div align="left">
                <input name="client_email" type="text" id="email4" value="<?php echo $result["client_email"]; ?>" maxlength="50">
              </div></td>
            </tr>
            <tr>
              <td colspan="2"><div align="left">Zip:</div></td>
              <td colspan="2"><div align="left">
                <input name="client_zip" type="text" id="zip4" value="<?php echo $result["client_zip"]; ?>" maxlength="5">
              </div></td>
              <td colspan="2" align="left"><div align="left">Date Production Dept. called: </div></td>
              <td width="282" align="left"><div align="right">
                  <input name="date_contacted " type="text" id="date_production" value="<?php echo date('M d Y'); ?>" maxlength="10">
              </div></td>
            </tr>
            <tr>
              <td colspan="2"> </td>
              <td colspan="2"> </td>
              <td colspan="3" align="left"> </td>
            </tr>
          </table>
          <table width="800" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td><div align="left"><br>
                <strong>Standard Deliverables Agreed To: </strong>   * Please (√) Check All Features That Apply...<br>
			<?php
//passing the variable
$order_list=$_POST['order_list'];

//Including the connection information
include "config.php";

//connect to the mysql server
$link2 = mysql_connect($server, $db_user, $db_pass) or die("Could not connect to MySQL");

//select the database
mysql_select_db($database) or die ("Could not select database");

//Getting all the variables
$query2 = mysql_query ("SELECT * FROM orders WHERE order_id = ".$order_list, $link2) or die("<center>There was an error and we could not load the Order list</center>");

//Putting the results in an array
$result2 = mysql_fetch_array($query2);

?>
      <input name="on_camera" type="checkbox" value="1" <?php
   if($result2["on_camera"] == "1") {
   echo "checked";
   }
   ?>
   >
      On-Camera Talent, and Voiceovers Studio Talent provided upon request<br>
        <input name="graphics_animation" type="checkbox" value="1" <?php
   if($result2["graphics_animation"] == "1") {
   echo "checked";
   }
   ?>
</div></td></tr>
            
          </table>
          <p><br>
  <br>
<br>
<input type="submit" name="Submit" value="Submit">
</p>
      </form>
        <strong><br>
</strong></div>

 

The other issue is with the checkboxes:

 

 <input name="on_camera" type="checkbox" value="1" <?php
   if($result2["on_camera"] == "1") {
   echo "checked";
   }
   ?>

 

Even with the $result2 equal to one it doesnt always display the check after the second time I update the page by clicking the update button.  Meaning if I uncheck or check it, it writes back to the database correctly but if I pull sthe page up again through the search the boxes that I unchecked might still be check and the boxes I checked are no longer checked.  I go into the database and the entery is the correct one. 

 

Here is my update code for that:

 

$client_id='';
$client_name=$_POST['client_name'];
$client_company=$_POST['client_company'];
$client_address=$_POST['client_address'];
$client_city=$_POST['client_city'];
$client_state=$_POST['client_state'];
$client_zip=$_POST['client_zip'];
$client_ph=$_POST['client_phone'];
$client_email=$_POST['client_email'];
$order_id=$_POST['order_id'];
$date_contacted = date("F j, Y"); 

// if field is not empty
if (isset($_POST['client_fax'])) { 
// set the value
    $client_fax = $_POST['client_fax'];
// if it is empy
} else { 
// set the value to NULL
    $client_fax = '0000000000'; 
}

// if field is not empty
if (isset($_POST['client_department'])) { 
// set the value
    $client_department = $_POST['client_department'];
// if it is empy
} else { 
// set the value to NULL
    $client_department = 'None'; 
}

// if field is not empty
if (isset($_POST['client_website'])) { 
// set the value
    $client_website = $_POST['client_website'];
// if not checked
} else { 
// set the value to NULL
    $client_website = '0'; 
}

// if checkbox is checked
if (isset($_POST['on_camera'])) { 
// set the value
    $on_camera = $_POST['on_camera'];
// if not checked
} else { 
// set the value to NULL
    $on_camera = '0'; 
}

// if checkbox is checked
if (isset($_POST['graphics_animation'])) { 
// set the value
    $graphics_animation = $_POST['graphics_animation'];
// if not checked
} else { 
// set the value to NULL
    $graphics_animation = '0'; 
}


//if no name entered send an error 
if (empty($client_name)){
die("<center>No name was entered.<br>Please hit your back button in your browser and include your name.</center><BR>");
}


//if no email entered send an error 
if (empty($client_email)){
die("<center>No email was entered.<br>Please hit your back button in your browser<BR> and include your email address.</center><BR>");
}


//if no company entered send an error 
if (empty($client_company)){
die("<center>No company name was entered.<br>Please hit your back button in your browser<BR> and include your companie's name.</center><BR>");
}


//if no address entered send an error 
if (empty($client_address)){
die("<center>No address was entered.<br>Please hit your back button in your browser<BR> and include your address.</center><BR>");
}


//if no city entered send an error 
if (empty($client_city)){
die("<center>No city was entered.<br>Please hit your back button in your browser<BR> and include the city your business is in.</center><BR>");
}


//if no zip entered send an error 
if (empty($client_zip)){
die("<center>No zip code was entered.<br>Please hit your back button in your browser<BR> and include the zip code.</center><BR>");
}


//if no phone entered send an error 
if (empty($client_ph)){
die("<center>No phone number was entered.<br>Please hit your back button in your browser<BR> and include your phone number.</center><BR>");
}




//Including the connection information
include "config.php";

//connect to the mysql server
$link = mysql_connect($server, $db_user, $db_pass) or die("Could not connect to MySQL");

//select the database
mysql_select_db($database) or die ("Could not select database");

//update table orders
$query_orders = mysql_query("UPDATE orders SET on_camera='$on_camera', graphics_animation='$graphics_animation' WHERE order_id=$order_id") or die("There was a order error:" .mysql_error ()); 

//Close first connection
mysql_close();

//Including the connection information
include "config.php";

//connect to the mysql server
$link2 = mysql_connect($server, $db_user, $db_pass) or die("Could not connect to MySQL");

//select the database
mysql_select_db($database) or die ("Could not select database");

//update table clients
$query_clients = mysql_query ("UPDATE clients SET client_name='$client_name', client_company='$client_company', client_department='$client_department', client_address='$client_address', client_city='$client_city', client_state='$client_state', client_zip='$client_zip', client_phone='$client_ph', client_fax='$client_fax', client_website='$client_website', client_email='$client_email' WHERE order_id=$order_id") or die("There was a client error:" .mysql_error ());

//$result2 = mysql_query($query_clients) or die( "An error has ocured: " .mysql_error ());

mysql_close();

 

Any help would be greatly appreciated!

 

Modern Merlin

Link to comment
Share on other sites

You forgot to close the html input tag for the checkbox.

 

The phone number looks okay in the script...the only thing I can recommend is by simplifying your connection code.  Put these into the config file...unless you use multiple databases...even so, you can specify your primary database.

 

//connect to the mysql server

$link = mysql_connect($server, $db_user, $db_pass) or die("Could not connect to MySQL");

 

//select the database

mysql_select_db($database) or die ("Could not select database");

 

I noticed that you were writing a query and selecting the same data on the same page twice...this causes confusion when errors occur.  The client record stored in the original php array is available until the script stops processing.

 

I've noticed a lot of people doing this:

$variable = $_POST['variable'];

 

This creates a lump of unnecessary code...

 

you can include array variables in a mysql string like this:

mysql_query ("SELECT field FROM table WHERE field='{$_POST['field']}'");

 

when you are writing SQL commands other than SELECT, you don't need a variable in front of the mysql_query function.

 

I know none of this solves your problem, but it helps.

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.