Sending HTML Form information to MySQL Database

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
King Lear
Forum Newbie
Posts: 2
Joined: Fri Mar 13, 2009 7:33 pm

Sending HTML Form information to MySQL Database

Post by King Lear »

Hi there, first post here from me.

I'm trying to create what should be a fairly easy script. The user fills out a form, the elements of the form then get read by a php script and sent to a database as fields in a new row.

Here is my code for the form;

Code: Select all

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel=StyleSheet href="style/tds.css" type="text/css" media=screen>
<title>Trade Database System : Members</title>
</head>
 
<body>
 
<div id="container">
 
    <div id="header">
    </div>
    <div id="menu">
        <ul>
            <li>Navigation:</li>
            <li><a href="index.php">Home</a></li>
            <li><a href="#">Members</a></li>
            <li><a href="#">Circles</a></li>
        </ul>
    </div>
    <div id="content">
        <h1>Members</h1>
        <p>Add you nation to the database:</p>
        <div id="form">
            <form action="addmember.php" method="POST">
                <p><label>Nation ID:</label><input name="NID" type="text" /></p>
                <p><label>Nation Name:</label><input name="NationName" type="text" /></p>
                <p><label>Nation Ruler:</label><input name="NationRuler" type="text" /></p>
                <p><label>Resource 1:</label><select name="Resource1">
                                                <option value="Aluminum">Aluminum</option>
                                                <option value="Cattle">Cattle</option>
                                                <option value="Coal">Coal</option>
                                                <option value="Fish">Fish</option>
                                                <option value="Furs">Furs</option>
                                                <option value="Gems">Gems</option>
                                                <option value="Gold">Gold</option>
                                                <option value="Iron">Iron</option>
                                                <option value="Lead">Lead</option>
                                                <option value="Lumber">Lumber</option>
                                                <option value="Marble">Marble</option>
                                                <option value="Oil">Oil</option>
                                                <option value="Pigs">Pigs</option>
                                                <option value="Rubber">Rubber</option>
                                                <option value="Silver">Silver</option>
                                                <option value="Spices">Spices</option>
                                                <option value="Sugar">Sugar</option>
                                                <option value="Uranium">Uranium</option>
                                                <option value="Water">Water</option>
                                                <option value="Wheat">Wheat</option>
                                                <option value="Wine">Wine</option>
                                            </select>
                </p>
                <p><label>Resource 2:</label><select name="Resource2">
                                                <option value="Aluminum">Aluminum</option>
                                                <option value="Cattle">Cattle</option>
                                                <option value="Coal">Coal</option>
                                                <option value="Fish">Fish</option>
                                                <option value="Furs">Furs</option>
                                                <option value="Gems">Gems</option>
                                                <option value="Gold">Gold</option>
                                                <option value="Iron">Iron</option>
                                                <option value="Lead">Lead</option>
                                                <option value="Lumber">Lumber</option>
                                                <option value="Marble">Marble</option>
                                                <option value="Oil">Oil</option>
                                                <option value="Pigs">Pigs</option>
                                                <option value="Rubber">Rubber</option>
                                                <option value="Silver">Silver</option>
                                                <option value="Spices">Spices</option>
                                                <option value="Sugar">Sugar</option>
                                                <option value="Uranium">Uranium</option>
                                                <option value="Water">Water</option>
                                                <option value="Wheat">Wheat</option>
                                                <option value="Wine">Wine</option>
                                            </select>
                </p>
                <p><label>Trade Set Preference:</label><select name="Pref">
                                                            <option value="0">No Preference</option>
                                                            <option value="1">Trade Set 1</option>
                                                            <option value="2">Trade Set 2</option>
                                                            <option value="3">Trade Set 3</option>
                                                            <option value="4">Trade Set 4</option>
                                                        </select>
                </p>
                <p><input type="submit" value="Submit" /></p>
            </form>
        </div>
    </div>
    
</div>
 
</body>
</html>
Here is my code for the script which reads the form and sends the information to the database;

Code: Select all

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel=StyleSheet href="style/tds.css" type="text/css" media=screen>
<title>Trade Database System : Members</title>
</head>
 
<body>
 
<div id="container">
 
    <div id="header">
    </div>
    <div id="menu">
        <ul>
            <li>Navigation:</li>
            <li><a href="#">Home</a></li>
            <li><a href="members.php">Members</a></li>
            <li><a href="#">Circles</a></li>
        </ul>
    </div>
    <div id="content">
    <?
        $NID = $_POST["NID"];
        $NationName = $_POST["NationName"];
        $NationRuler = $_POST["NationRuler"];
        $Resource1 = $_POST["Resource1"];
        $Resource2 = $_POST["Resource2"];
        $Pref = $_POST["Pref"];
 
        $db = mysql_connect("localhost", "****", "****");
        $db_select = mysql_select_db("ryaneffi_tds", $db);
        $addmember = "INSET INTO _users (NID, NationName, Ruler, Resource1, Resource2, Pref)
            VALUES ('$NID', '$NationName', '$NationRuler', '$Resource1', '$Resource2', '$Pref')";
        $result = mysql_query($addmember);
    ?>
    </div>
    
</div>
 
</body>
</html>
The problem I'm having is that the new records are not being created on the database. I don't believe there is a connection problem as I've previously entered an if statement to produce an error in such an event.

Here is how the _users table looks;
Image

Thanks in advance.
King Lear
Forum Newbie
Posts: 2
Joined: Fri Mar 13, 2009 7:33 pm

Re: Sending HTML Form information to MySQL Database

Post by King Lear »

I've spotted the error.
INSET INTO
I spent quite some time debugging this. Harsh.
User avatar
Benjamin
Site Administrator
Posts: 6935
Joined: Sun May 19, 2002 10:24 pm

Re: Sending HTML Form information to MySQL Database

Post by Benjamin »

Well, it looks like you have more work to do. None of your variables are being escaped before insertion into the database.
Post Reply