Jump to content

Archived

This topic is now archived and is closed to further replies.

black85

Help with insert and viewing records php scripts

Recommended Posts

Hi people,
I'm trying to insert record and select/view record respectively, but to no avail. addentry.php is supposed to allow me to enter information on a html form, but unfortunately no form is displayed on the browser. Also, the message 'entry added' should be displayed on the browser as well after values have been inserted into form fields.

Can anyone help unravel the problems with these scripts below:

addentry.php - insert record script
---------------------------------
[code]php:
<?php
if ($_POST[op] != "add") {
      //haven't seen the form, so show it
      $display_block = "<h1>Add an Entry</h1>
      <form method=\"post\" action=\"$_SERVER[PHP_SELF]\">
      <P><strong>First/Last Names:</strong><br>
      <input type=\"text\" name=\"f_name\" size=30 maxlength=75>
      <input type=\"text\" name=\"l_name\" size=30 maxlength=75>

      <P><strong>Address:</strong><br>
      <input type=\"text\" name=\"address\" size=30>

      <P><strong>City/State/Zip:</strong><br>
      <input type=\"text\" name=\"city\" size=30 maxlength=50>
      <input type=\"text\" name=\"state\" size=5 maxlength=2>
      <input type=\"text\" name=\"zipcode\" size=10 maxlength=10>

      <P><strong>Address Type:</strong><br>
      <input type=\"radio\" name=\"add_type\" value=\"home\" checked> home
      <input type=\"radio\" name=\"add_type\" value=\"work\"> work
      <input type=\"radio\" name=\"add_type\" value=\"other\"> other

      <P><strong>Telephone Number:</strong><br>
      <input type=\"text\" name=\"tel_number\" size=30 maxlength=25>
      <input type=\"radio\" name=\"tel_type\" value=\"home\" checked> home
      <input type=\"radio\" name=\"tel_type\" value=\"work\"> work
      <input type=\"radio\" name=\"tel_type\" value=\"other\"> other

      <P><strong>Fax Number:</strong><br>
      <input type=\"text\" name=\"fax_number\" size=30 maxlength=25>
      <input type=\"radio\" name=\"fax_type\" value=\"home\" checked> home
      <input type=\"radio\" name=\"fax_type\" value=\"work\"> work
      <input type=\"radio\" name=\"fax_type\" value=\"other\"> other

      <P><strong>Email Address:</strong><br>
      <input type=\"text\" name=\"email\" size=30 maxlength=150>
      <input type=\"radio\" name=\"email_type\" value=\"home\" checked> home
      <input type=\"radio\" name=\"email_type\" value=\"work\"> work
      <input type=\"radio\" name=\"email_type\" value=\"other\"> other

      <P><strong>Personal Note:</strong><br>
      <textarea name=\"note\" cols=35 rows=5 wrap=virtual></textarea>
      <input type=\"hidden\" name=\"op\" value=\"add\">

      <p><input type=\"submit\" name=\"submit\" value=\"Add Entry\"></p>
      </FORM>";

} else if ($_POST[op] == "add") {
      //time to add to tables, so check for required fields
      if (($_POST[f_name] == "") || ($_POST[l_name] == "")) {
        header("Location: addentry.php");
        exit;
      }

      //connect to database
      $conn = mysql_connect("localhost", "root", "olu1bal") or die(mysql_error());
      mysql_select_db("testDB",$conn)  or die(mysql_error());

      //add to master_name table
      $add_master = "insert into master_name values (null, now(), now(), '$_POST[f_name]', '$_POST[l_name]')";
      mysql_query($add_master) or die(mysql_error());

      //get master_id for use with other tables
      $master_id = mysql_insert_id();
      if (($_POST[address]) || ($_POST[city]) || ($_POST[state]) || ($_POST[zipcode])) {
          //something relevant, so add to address table
          $add_address = "insert into address values (null, $master_id, now(), now(), '$_POST[address]', '$_POST[city]', '$_POST[state]', '$_POST[zipcode]', '$_POST[add_type]')";
          mysql_query($add_address) or die(mysql_error());
      }

      if ($_POST[tel_number]) {
            //something relevant, so add to telephone table
          $add_tel = "insert into telephone values (null, $master_id, now(), now(), '$_POST[tel_number]',  '$_POST[tel_type]')";
          mysql_query($add_tel) or die(mysql_error());
      }

      if ($_POST[fax_number]) {
            //something relevant, so add to fax table
            $add_fax = "insert into fax values (null, $master_id, now(), now(), '$_POST[fax_number]',  '$_POST[fax_type]')";
            mysql_query($add_fax) or die(mysql_error());
      }

      if ($_POST[email]) {
            //something relevant, so add to email table
            $add_email = "insert into email values (null, $master_id, now(), now(), '$_POST[email]',  '$_POST[email_type]')";
            mysql_query($add_email) or die(mysql_error());
      }

      if ($_POST[note]) {
            //something relevant, so add to notes table
            $add_note = "insert into personal_notes values (null, $master_id, now(), now(), '$_POST[note]')";
            mysql_query($add_note) or die(mysql_error());
      }

      $display_block = "<h1>Entry Added</h1>
      <P>Your entry has been added.  Would you like to
      <a href=\"addentry.php\">add another</a>?</p>";
}
?>
<HTML>
<HEAD>
<TITLE>Add an Entry</TITLE>
</HEAD>
<BODY>
<? print $display_block; ?>
</BODY>
</HTML>

[/code]



mysql database tables:
----------------------

[code]create table master_name
(
id int not null primary key auto_increment,
date_added datetime,
date_modified datetime,
f_name varchar(75),
l_name varchar(75)
);



create table address
(
id int not null primary key auto_increment,
master_id int not null,
date_added datetime,
date_modified datetime,
address varchar(255),
city varchar(30),
state char(2),
zipcode varchar(10),
type enum ('home', 'work', 'other')
);


create table telephone
(
id int not null primary key auto_increment,
master_id int not null,
date_added datetime,
date_modified datetime,
tel_number varchar(25),
type enum ('home', 'work', 'other')
);


create table fax
(
id int not null primary key auto_increment,
master_id int not null,
date_added datetime,
date_modified datetime,
fax_number varchar(25),
type enum ('home', 'work', 'other')
);

create table email
(
id int not null primary key auto_increment,
master_id int not null,
date_added datetime,
date_modified datetime,
email varchar(150),
type enum ('home', 'work', 'other')
);


create table personal_notes
(
id int not null primary key auto_increment,
master_id int not null,
date_added datetime,
date_modified datetime,
note text
);[/code]

Share this post


Link to post
Share on other sites
Might I suggest that you try to focus on one problem at a time, and try to determine where the code it is failing. I don't mean to be harsh, but putting all the code on the forum is not very effective. One piece of advice, use single quite for pure html, as you will not have to escape the double quote in your markup at all.

Share this post


Link to post
Share on other sites
@gewthen

Thanks for replying to my posting. I have made changes like you suggested by reducing my problems from 2 to 1. Can you help?

Share this post


Link to post
Share on other sites
Try changing this:
if ($_POST[op] != "add") {
to:
if(!isset($_POST[op])){

and on this line:
} else if ($_POST[op] == "add") {
you need the if part, just leave it as:
}else{

Share this post


Link to post
Share on other sites
dont this look better dont know

if ( (isset($_POST['submit'])&&($_POST[op] != "add")) ) {
to:
if(!isset($_POST[op])){

and on this line:
} else if ($_POST[op] == "add") {
you need the if part, just leave it as:
}else{

Share this post


Link to post
Share on other sites

×

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.