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