从一个表单传递php变量以提交到另一个表单中的数据库

时间:2013-02-08 13:26:56

标签: php mysql database mysqli

我有一个弹出框,用于检查用户是否已登录。如果他是,我正在回应一个小表单,用户将按下一个按钮,它将提交给数据库。变量显示在弹出窗口中,但是当按下提交时,它们不会传递给提交php文件。

$add_wish = "<form action='memWishList.php' method='post' id='memWishList'>
    <h3>Add this item to your Wish List?</h3><br>
    <input type='hidden' name='title' value='".$title."'>".$title."</input><br>
    <input type='hidden' name='link' value='".$link."'></input><br>
    <input type='submit' name='submit' value='Add'/><button id='cancel'>
      Cancel</button>
</form>";
    echo $add_wish;

我想传递值标题和链接以提交给数据库。这是我的memWishList.php文件:

if (isset($_POST['submit'])){
  //get member id
  $title = mysqli_real_escape_string($_POST['title']);
  $link = mysqli_real_escape_string($_POST['link']);
  $mysql = "INSERT INTO wish_list (memNum, title, link, date) VALUES ('$memnum', \ 
      '$title', '$link', now())";
    $myquery = mysqli_query($mysqli_connect, $mysql);}

这样做,我只获得会员ID和插入的日期,而不是标题和链接。有什么问题?我回应这个表单的原因是登录用户有一个if / else语句而且没有登录。在html中更容易做到但是不能......

DB:memnum(varchar),title(longtext),link(longtext),date(date)。我有其他表格,长链接和标题插入就好了作为longtext。他们来自rss feed。

2 个答案:

答案 0 :(得分:0)

请检查documentation:mysqli_real_escape_string函数如果使用过程方法,则将字符串作为第二个参数。它可能是,即:

$link = mysqli_real_escape_string($mysqli_connect, $_POST['link']);

答案 1 :(得分:0)

您有一些标记错误。您隐藏的输入标记应如下所示:

<input type='hidden' name='link' value="<?php echo $link ?>">

将您的HTML文件更新为如下所示,所有值都将发送到$ _POST变量:

<form action='memWishList.php' method='post' id='memWishList'>
    <h3>Add this item to your Wish List?</h3><br>
    <input type='hidden' name='title' value="<?php echo $title ?>"><?php echo $title ?><br>
    <input type='hidden' name='link' value="<?php echo $link ?>"><br>
    <input type='submit' name='submit' value='Add'/><button id='cancel'>Cancel</button>
</form>