使用PHP通过URL传递变量
问题描述:
addarticle.html.php动态创建网页使用PHP通过URL传递变量
<?php foreach ($articles as $article): ?>
<li>
<form action="" method="post">
<div>
<a href="?viewarticle?id=<?php echo'$id' ?>">
<?php echo htmlout($article['id']);?>
<?php echo htmlout($article['summary']);?>
</a>
</div>
</form>
</li>
<?php endforeach; ?>
的index.php
if(isset($_GET['viewarticle']))
{
include_once $_SERVER['DOCUMENT_ROOT'] . '/ArticleManager/Includes/db.inc.php';
$id = mysqli_real_escape_string($link, $_POST['id']);
// Get articles belonging to author
$sql = "SELECT summary FROM articles WHERE id='$id'";
$result = mysqli_query($link, $sql);
if (!result)
{
$error = 'Error getting full article.';
include 'error.html.php';
exit();
}
include 'fullarticle.html.php';
exit();
}
fullarticle.html.php
<form action="" method="post">
<?php foreach ($articles as $article): ?>
<div>
<?php echo htmlout($article[$id]['id']);?>
<?php echo htmlout($article[$id]['summary']);?>
</div>
</form>
以下是一篇文章应用程序有一个用户点击特定的标题(来自addarticle.html.php),并动态地创建一个新的页面与完整的艺术icle被显示出来读取。我无法将上述页面的变量传递给fullarticle.html.php页面。如何正确获取应用程序后
<a href="?viewarticle?id=<?php echo'$id' ?>">
动态创建加载从数据库中特定物品信息的新页面的任何想法被点击?
答
首先,我假设“fullarticle”只是一篇文章,因此您不需要在该模板中有foreach()
。
其次,您使用的是mysqli_query拉出数据,所以你的价值观应该是:
$articleData = $result->fetch_object()
然后:
$articleData['id']
$articleData['summary']
此外,在您的通话mysqli_real_escape_string
,你使用$_POST
而不是$_GET
来获得ID值,解决这个问题。
答
OMG!
<?php foreach ($articles as $article): ?>
<li>
为什么进出PHP的不断交换 - 这是凌乱的,使代码很难调试/读取。
<form action="" method="post">
为什么POST当你通过GET发送参数,确实没有办法提交表单?
<div>
<a href="?viewarticle?id=<?php echo'$id' ?>">
$ id?什么$ id?传统上'?'标记查询的开始,但随后的扩展由'&'分隔。您似乎在解析index.php中的viewarticle参数 - 但href和表单都不会在那里发送数据。
<?php echo htmlout($article['id']);?>
htmlout()是做什么的?为什么要单独使用PHP?为什么关闭和腐蚀PHP标签?
<?php echo htmlout($article['summary']);?>
再次!
</div>
</form>
</li>
<?php endforeach; ?>
假设神秘变量实际上是$文章[“身份证”] ...
<?php
foreach ($articles as $article) {
print "<li><a href='/?viewarticle&id=" . $article['id']
. "'>" . htmlout($article['id'])
. htmlout($article['summary'])
. "</a></li>\n";
}
?>
你的代码的其余部分也搞不清楚如何HTML工作以及如何PHP数组工作。
我格式化了你的答案。在这里找到[Markdown help](http://*.com/editing-help)为将来,其相当简单。 – stema 2012-03-07 14:05:58