[RESOLVED] Can NOT insert data input into a MySQL Database

liunx

Guest
Hello!

I have created an input form & would like to save data typed in, in a MySQL Database.

To do this, I have created the following tables in the MySQL database:

1. create database testDB;

2. use testDB;

3. Create the following tables:

a. mysql> 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)
-> );

b. mysql> 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')
-> );

c. mysql> 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')
-> );

d. mysql> 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')
-> );

e. mysql> 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')
-> );

f. mysql> create table personal_notes (
-> id int not null primary key auto_increment,
-> master_id int not null unique,
-> date_added datetime,
-> date_modified datetime,
-> note text
-> );

4. I then write the following PHP code:

<?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 maxlenght=50>
<input type=\"text\" name=\"state\" size=5 maxlenght=2>
<input type=\"text\" name=\"zipcode\" size=10 maxlenght=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 maxlenght=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 maxlenght=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 maxlenght=25>
<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\">
<! Comment: This is a hidden field>
<! Comment: All the IF-Else IF statements are based on this line>
<! Comment: SOS - Never use in a comment exclamation marks or quote marks>

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

<input type=\"submit\" name=\"return\" value=\"Return to Main Menu\">
</p>
<! I added this button, so that it returns us to the main Menu.>

</FORM>";
}
// <a href=http://www.phpbuilder.com/board/archive/index.php/"TestSams19.384 = selentry.php">Select a Record</a>


// <input type=\"submit\" name=\"return\" value=\"Return to Main Menu\"
// action=\"TestSams19.378 - Creating a Menu.php\"></p>

else if ($_POST[op] == "add"){
//time to add tables, so check for required fields
if (($POST[f_name] == "") || ($POST[l_name] == "")){
// If the "First Name" or "Last Name" fields are NOT filled, we reload this
// page.

header("Location: TestSams19.379 - addentry.php");
exit;
// Make sure the Location File is correct!
}

// connect to database

$conn = mysql_connect("localhost", "root", "test")
or die(mysql_error());
// Make sure the user name you use to connect to mysql database are correct!
mysql_select_db("testDB",$conn) or die(mysql_error());

// add to master_id for use with other tables
$add_master = "insert into master_name values ('', 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 ('',$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 ('',$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_tel = "insert into fax values ('',$master_id, now(), now(),
'$_POST[fax_number]', '$_POST[fax_type]')";
mysql_query($add_fax) or die (mysql_error());
}

if ($_POST) {

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

if ($_POST[note]) {

// something relevant, so add to notes table
$add_note = "insert into personal_notes values ('',$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=http://www.phpbuilder.com/board/archive/index.php/\"addentry.php\">add another</a>?</p>";
}

?>

<html>
<head>
<title>Add an Entry</title>
</head>
<body>
<?php echo $display_block; ?>
</body>
</html>

5. I try to test my above form, but when I input data & press on the button named "Add Entry", the form clears from its data & nothing seems to be added...
I then visit my MySQL database, perform a "select * from master_name" & get the following result Empty set (0.00 sec)

What is wrong & how can I fix this?
Thanks.

P.S.> I am just a beginner in PHP & I am using a book to try to learn PHP...
So please don't be too "harsh" on me...I think this is your typo:
if (($POST[f_name] == "") || ($POST[l_name] == "")){

should be:
if (($_POST[f_name] == "") || ($_POST[l_name] == "")){

If you feel that you are all new, please post in the newbies section in the future, untill you feel cofident enough to post in the other forums.And as an extra note, those array indexes should be in quotes; $_POST['f_name'] etc., not $_POST[f_name].
 
Back
Top