我的这个php更新记录表单有什么问题

时间:2015-07-06 08:39:06

标签: php

嗨,这是我的代码,

<html> 
 <?php
  $dbhost = 'localhost';
  $dbuser = '*******';
  $dbpass = '*******';
  $connec = mysql_connect($dbhost, $dbuser, $dbpass);
  if(!$connec)
  {
  die('Could not connect: ' . mysql_error());
  }
  $sql = "UPDATE subscribers SET unsubscribed = '0' WHERE email = '$email'";
  mysql_select_db('********');

if (!mysql_query($sql, $connec))
{

  die('Error: ' . mysql_error());

  }

echo "1 record added";



mysql_close($connec)
?> 
<form method="post" name="update" action="removal.php">
<input type="text" name="email" value="email" />
<input type="submit" name="Submit" value="update" />
</form>

</html>

我想要什么:我只想在提交表格后才显示回音信息。

问题:我刷新页面后没有表单提交,显示回显消息,

4 个答案:

答案 0 :(得分:4)

您需要if(isset($_POST)){检查:使用以下代码

   <html> 
     <?php
if(isset($_POST)){
      $dbhost = 'localhost';
      $dbuser = '*******';
      $dbpass = '*******';
      $connec = mysql_connect($dbhost, $dbuser, $dbpass);
      if(!$connec)
      {
      die('Could not connect: ' . mysql_error());
      }
      $sql = "UPDATE subscribers SET unsubscribed = '0' WHERE email = '$email'";
      mysql_select_db('********');

    if (!mysql_query($sql, $connec))
    {

      die('Error: ' . mysql_error());

      }

    echo "1 record added";



    mysql_close($connec)
}
    ?> 

答案 1 :(得分:1)

  

在刷新页面而没有表单提交

后,IT显示回显消息

这是正常的,因为一旦调用脚本,没有什么能阻止解释器执行代码,你所要做的就是首先检查是否有提交的

<?php
  if(isset($_POST['Submit']))
  {
    // your code here
  }
?>

另请注意,在以下行中:
$sql = "UPDATE subscribers SET unsubscribed = '0' WHERE email = '$email'";您使用$email而未初始化它,您应首先将表单电子邮件条目复制到该变量并稍后再使用

答案 2 :(得分:1)

在SQL语句

之前添加它
if(isset($_REQUEST['email'])){
   // write post processing code here 
}

答案 3 :(得分:0)

这有用吗?

if (!mysql_query($sql, $connec)) {
    die('Error: ' . mysql_error());
} else {
    echo "1 record added";
}