2013-01-23 84 views
-1

我在create_topic.php的URL中传递一个变量,但变量是空的。传递变量的页面在mysql查询中使用该变量确定,所以我知道它不是空的,但是当我单击该页面中的链接转到另一页时,该变量未被传递。在URL中传递的空变量

在create_topic.php我:

$author_pk = $_GET['author_pk']; 

然后在该网页上查询:

$query = "INSERT INTO topic (topic_pk,title,topic,majors,sub_discipline_fk,author_fk,created,place) 
    VALUES ('','$title','$topic','$majors_string','$sub_discipline','$author_pk',NOW(),'$place')"; 
$result = mysql_query($query, $connection) or die(mysql_error()); 

$ author_pk包含传递的值确定。

但在create_topic.php一个链接,我有:

<a href="create_author.php?author_pk="<?php echo $author_pk; ?>>Create</a> 

$ author_pk然后在URL空...

+0

[请不要使用'mysql_ *'功能(http://stackoverflow.com/questions/12859942/why-不应该,我使用MySQL的函数式的PHP#答案-12860140)。 –

+1

听起来不是很明显,但是在$ author_pk = $ _GET ['author_pk'];线?另外,你应该清理你的输入。这个查询是开放的攻击。 –

回答

3

你的双引号是不合适的。一个简单的语法突出显示器(就像StackOverflow中的那样)将会向您显示这一点。

此:

<a href="create_author.php?author_pk="<?php echo $author_pk; ?>>Create</a> 

应该是:

<a href="create_author.php?author_pk=<?php echo $author_pk; ?>">Create</a>