2013-02-08 86 views
0

我有一个弹出框来检查用户是否登录。如果他是,我回应一个小表格,用户将按下一个按钮,它将提交给数据库。变量显示在弹出框中,但按下提交时,它们不会传递给提交php文件。从一个表单中传递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),标题(longtext),链接(longtext),日期(日期)。我还有其他的表格,长链接和标题插入就好像长文本。他们来自rss feed。

+0

显示你的数据库描述 – 2013-02-08 13:30:28

+0

更新说明 – user2025469 2013-02-08 13:36:36

回答

0

请检查​​3210:mysqli_real_escape_string函数期望字符串作为第二个参数,如果您使用程序方法。它可以是:

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

谢谢,这样做......出于某种原因,它只在一个参数前工作......但那是当我绑定语句。无论如何,仍然在学习。非常感谢! – user2025469 2013-02-08 13:50:57

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> 
+0

我的表单是在PHP内,所以一切都在引号中......因为它在PHP内部,将value =“<?php echo $ link?>”>>不起作用,会吗?表单不在body标签内......它在php标签内并被回显到屏幕上。 – user2025469 2013-02-08 13:49:18

+0

不,他们不会工作,但不应该将表单作为PHP字符串输出。用我提供的表单替换你的表单,它会起作用,或者如果你希望把整个表单保存在一个字符串中,就可以正确地更新表单。 – mcryan 2013-02-08 13:54:25

+0

我明白这是做到这一点的正确方法,但正如我在最初的问题中所说的那样,我之所以这样做是因为我正在检查用户是否已登录。如果是,我正在输出表格。如果没有,我会显示一个登录表单。但这一切都在PHP内完成,因为它正在检查。如果有更好的方法来做到这一点,让我知道。 – user2025469 2013-02-08 14:25:51

相关问题