0

Hi all,
I have a two-part form intended to replicate the output from a toolbar, with the aim of sending data to a database.

So the data is generated by the following code (sim1.php):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Start</title>
<link href="toolbar_popup.css" rel="stylesheet" type="text/css" />
</head>

<body>
<form method="post" action="toolbar_process.php">
            <input type="text" name="tbar_site"/>
            <br />
            <select name="tbar_type" size="2">
              <option value="h">housing</option>
              <option value="o">other</option>
            </select>
        <br />
        <input type="hidden" name="origin" value="tbar">
        <input type="submit" value="Enter details!"/>
        </form>
</body>
</html>

this is then sent to toolbar_process.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">

<!-- Begin
function popUp(URL) {
eval("page" + id + " = window.open(URL, '" + id + "','toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=200,height=300');");
}
// End -->
</script>
<title>Toolbar Process</title>
<link href="toolbar_popup.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="wrapper">
	<div id="text">
    <?php
		if (!isset($origin))	{
			require_once('connect.php');
			if ($_SERVER['REQUEST_METHOD'] == "POST")  
					{ 
						#set variables, stripslashes
						$type = addslashes($_POST["tbar_type"]); 
						$site = addslashes($_POST["tbar_site"]);
												
						# setup SQL statement
						$sql  = "INSERT INTO `wkho_users`.`web_dir` (`site`, `type`,`origin`) VALUES ('$site','$type','$origin')"; 
				
						#execute SQL statement 
						#$result = mysql_query($sql); 
				
						# check for error 
						if (mysql_error()) 
							{ 
								print "Database ERROR1: " . mysql_error(); 
							} 
						
						//message for user
						echo "<h1>Thanks!</h1>Your toolbar entry: ".$site.", was submitted.";	
					}
					$origin = NULL;
		}
?>
    	<h2>
        Got more?</h2>
        <form method="post" action="toolbar_process.php">
            <input type="text" name="site"/>
            <br />
            <select name="type" size="2">
              <option value="h">housing</option>
              <option value="o">other</option>
            </select>
        <br />
        <input type="submit" value="Enter details!"/>
        </form>
    </div>
<?php
require_once('connect.php');
if ($_SERVER['REQUEST_METHOD'] == "POST")  
    { 
#set variables, stripslashes
$type1 = addslashes($_POST["type"]); 
$site1 = addslashes($_POST["site"]);
$origin1 = "page";

# setup SQL statement
$sql  = "INSERT INTO `wkho_users`.`web_dir` (`site`, `type`,`origin`) VALUES ('$site1','$type1','$origin1')"; 

        #execute SQL statement 
        #$result = mysql_query($sql); 

        # check for error 
        if (mysql_error()) { print "Database ERROR1: " . mysql_error(); } 
		
		//message for user
		echo "<h1>Thanks!</h1>Your entry was submitted.";
	}
?>
	 </div>
</div>
</body>
</html>

The aim is that the data should either come from sim1.php, or if the user has landed on the second page without going to sim1, the data is sent via similar form.
Both times the origin is added to the row.
Sadly, the entries are not being recorded on mysql.

I'm sure it's almost there... Can anyone help?

2
Contributors
3
Replies
4
Views
7 Years
Discussion Span
Last Post by cwarn23
0

Try uncommenting line 33 where you have commented the function mysql_query(). Also try replacing the $_SERVER with the following:

if (isset($_POST) && !empty($_POST)) {
0

Thanks cwarn.
I've altered the code as you suggested:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Toolbar Process</title>
<link href="toolbar_popup.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="wrapper">
	<div id="text">
    <?php
		if (!isset($origin))	{
			require_once('connect.php');
			if (isset($_POST) && !empty($_POST))  
					{ 
						#set variables, stripslashes
						$type = addslashes($_POST["tbar_type"]); 
						$site = addslashes($_POST["tbar_site"]);
						$origin1 = "tbar";
												
						# setup SQL statement
						$sql  = "INSERT INTO `wkho_users`.`web_dir` (`site`, `type`,`origin`) VALUES ('$site','$type','$origin')"; 
				
						#execute SQL statement 
						$result = mysql_query($sql); 
				
						# check for error 
						if (mysql_error()) 
							{ 
								print "Database ERROR1: " . mysql_error(); 
							} 
						
						//message for user
						echo "<h1>Thanks!</h1>Your toolbar entry: ".$site.", was submitted.";	
					}
					$origin = NULL;
		}
?>
    	<h2>
        Got more?</h2>
        <form method="post" action="toolbar_process.php">
            <input type="text" name="site"/>
            <br />
            <select name="type" size="2">
              <option value="h">housing</option>
              <option value="o">other</option>
            </select>
        <br />
        <input type="submit" value="Enter details!"/>
        </form>
    </div>
<?php
require_once('connect.php');
if ($_SERVER['REQUEST_METHOD'] == "POST")  
    { 
#set variables, stripslashes
$type1 = addslashes($_POST["type"]); 
$site1 = addslashes($_POST["site"]);
$origin1 = "page";

# setup SQL statement
$sql  = "INSERT INTO `wkho_users`.`web_dir` (`site`, `type`,`origin`) VALUES ('$site1','$type1','$origin1')"; 

        #execute SQL statement 
        $result = mysql_query($sql); 

        # check for error 
        if (mysql_error()) { print "Database ERROR1: " . mysql_error(); } 
		
		//message for user
		echo "<h1>Thanks!</h1>Your entry: ".$site1.", was submitted.";
	}
?>
	 </div>
     <h2>What now?</h2>
     Would you like to visit the <a href="index.php">wkho.me.uk homepage</a>?
     <br /> Or add to the <a href="directory_entry.php">Directory</a>?
</div>
</body>
</html>

The problem now is that I have two entries when submit is pressed (see attachment).
So, how do I enter just one new row/fire the sql once? And only show the relevant message...sheesh, I know that's a lot to ask!

Attachments mysql.jpg 78.95 KB
0

Try this:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Toolbar Process</title>
<link href="toolbar_popup.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="wrapper">
	<div id="text">
    <?php
		if (!isset($origin))	{
			require_once('connect.php');
			if (isset($_POST) && !empty($_POST))  
					{ 
						#set variables, stripslashes
						$type = mysql_real_escape_string($_POST["tbar_type"]); 
						$site = mysql_real_escape_string($_POST["tbar_site"]);
						$origin1 = "tbar";
												
						# setup SQL statement
						$sql  = "INSERT INTO `wkho_users`.`web_dir` (`site`, `type`,`origin`) VALUES ('$site','$type','$origin')"; 
				
						#execute SQL statement 
						$result = mysql_query($sql); 
				
						# check for error 
						if (mysql_error()) 
							{ 
								print "Database ERROR1: " . mysql_error(); 
							} 
						
						//message for user
						echo "<h1>Thanks!</h1>Your toolbar entry: ".$site.", was submitted.";	
					}
					$origin = NULL;
		}
?>
    	<h2>
        Got more?</h2>
        <form method="post" action="toolbar_process.php">
            <input type="text" name="site"/>
            <br />
            <select name="type" size="2">
              <option value="h">housing</option>
              <option value="o">other</option>
            </select>
        <br />
        <input type="submit" value="Enter details!"/>
        </form>
    </div>
<?php
require_once('connect.php');
if (isset($_POST) && !empty($_POST))  
    { 
#set variables, stripslashes
$type1 = mysql_real_escape_string($_POST["type"]); 
$site1 = mysql_real_escape_string($_POST["site"]);
$origin1 = "page";

# setup SQL statement
$sql  = "INSERT INTO `wkho_users`.`web_dir` (`site`, `type`,`origin`) VALUES ('$site1','$type1','$origin1')"; 

        #execute SQL statement 
        $result = mysql_query($sql); 

        # check for error 
        if (mysql_error()) { print "Database ERROR1: " . mysql_error(); } 
		
		//message for user
		echo "<h1>Thanks!</h1>Your entry: ".$site1.", was submitted.";
	}
?>
	 </div>
     <h2>What now?</h2>
     Would you like to visit the <a href="index.php">wkho.me.uk homepage</a>?
     <br /> Or add to the <a href="directory_entry.php">Directory</a>?
</div>
</body>
</html>
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.