As I said in comments and to show you a graphical way of doing this, use isset()
with a conditional statement and wrap your entire executable code inside that and based on your named submit button.
I.e.:
<?php
if(isset($_POST['insert'])){
$host="localhost"; // Host name
...
mysql_close();
}
} // closing brace for if(isset($_POST['insert']))
You can also use a header to redirect to the same page, inside the conditional statement.
I.e.:
header("Location: http://www.example.com/");
exit;
Sidenote: Make sure you're not outputting before header.
- You should probably remove
onclick=""
from your submit button. There isn't a JS reference for it in your posted code.
Footnote(s):
Your present code is open to SQL injection. Use mysqli
with prepared statements, or PDO with prepared statements, they're much safer.
mysql_*
functions are deprecated and will be removed from future PHP releases.
Edit, full rewrite #2:
N.B.:
Replace http://www.yoursite.com/your_page.php
below with your site and the page name you are using for the script.
Try either this one: (another below this one)
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="mypage"; // Database name
$tbl_name="counter"; // Table name
$message = "offer End";
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect to server ");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
$counter=$rows['visitors'];
// if have no counter value set counter = 1
if(empty($counter))
{
$counter=1;
$sql1="INSERT INTO $tbl_name(visitors) VALUES('$counter')";
$result1=mysql_query($sql1);
}
if($counter>1)
{
if(isset($_POST['insert'])){
// count more value
$addcounter=$counter-1;
$sql2="update $tbl_name set visitors='$addcounter'";
$result2=mysql_query($sql2);
echo "You 're visitors No. ";
echo $addcounter;
mysql_close();
header("Location: http://www.yoursite.com/your_page.php");
exit;
} // closing brace for if(isset($_POST['insert']))
}
else
{
//$counter=0;
echo "<script type='text/javascript'>alert('$message');</script>";
mysql_close();
}
?>
<!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>Untitled Document</title>
</head>
<body>
<form method="POST" action="">
<input type="submit" name="insert" value="submit" />
</form>
</body>
</html>
or this one:
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="mypage"; // Database name
$tbl_name="counter"; // Table name
$message = "offer End";
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect to server ");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
$counter=$rows['visitors'];
// if have no counter value set counter = 1
if(empty($counter))
{
$counter=1;
$sql1="INSERT INTO $tbl_name(visitors) VALUES('$counter')";
$result1=mysql_query($sql1);
}
if(isset($_POST['insert'])){
if($counter>1)
{
// count more value
$addcounter=$counter-1;
$sql2="update $tbl_name set visitors='$addcounter'";
$result2=mysql_query($sql2);
echo "You 're visitors No. ";
echo $addcounter;
mysql_close();
header("Location: http://www.yoursite.com/your_page.php");
exit;
}
} // closing brace for if(isset($_POST['insert']))
else
{
//$counter=0;
echo "<script type='text/javascript'>alert('$message');</script>";
mysql_close();
}
?>
<!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>Untitled Document</title>
</head>
<body>
<form method="POST" action="">
<input type="submit" name="insert" value="submit" />
</form>
</body>
</html>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…