PHP提交不要过帖

时间:2014-03-11 12:41:38

标签: php sql

if (isset($_POST['button']) and $_POST['button'] == 'Join')
{
  include '../includes/db.inc.php';
  $id = mysqli_real_escape_string($link, $_POST['id']);
  $user = $_SESSION['user'];
  $start = date("d-m-Y");
  $finish = 'NULL';
  $job = 'NULL';

  $sql = "INSERT INTO userproj SET user='$user', projectid='$id', datestart='$start', datestop='$finish', job='$job'";
  if(!mysqli_query($link, $sql))
  {
    $error = 'Error joining project';
    include 'error.html.php';
    exit();
  }
}

应该在此代码时触发:

<form name="form2" action="?goto=display&id=<?php htmlout($id); ?>" method="post">
<input type="hidden" name="id" value="<?php htmlout($id); ?>"/>
<input type="submit" name="button" value="Join"/>
</form>

已执行。问题是它似乎没有。我在那里放了一个回声,看看它是否正在发射,但我得到了其余的代码错误但仍然没有。它在用作get而不是post时起作用,但随后它重定向到主页而不是同一页面。我有两个按钮就像这样失败,但每个其他帖子都有效。我看不出我做错了什么,但对我来说一切都很好。

感谢您花时间去看。

干杯, 罗布。

3 个答案:

答案 0 :(得分:0)

这是不正确的:job='$job',因为作业是NULL,那么它将是job='NULL',但它应该是job=NULLdatestop也一样。

将您的查询更改为:

$sql = "INSERT INTO userproj SET user='$user', projectid='$id', datestart='$start', datestop=$finish, job=$job";

答案 1 :(得分:0)

尝试$_SERVER['PHP_SELF'];

<form action="<?php $_SERVER['PHP_SELF'];?>?goto=display&id=<?php htmlout($id); ?>" method="post">

答案 2 :(得分:-1)

尝试使用不同的名称按钮

<form name="form2" action="?goto=display&id=<?php htmlout($id); ?>" method="post">
<input type="hidden" name="id" value="<?php htmlout($id); ?>"/>
<input type="submit" name="mesubmit" value="Join"/>
</form>