2012-03-07 138 views
-1

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' ?>"> 

动态创建加载从数据库中特定物品信息的新页面的任何想法被点击?

回答

1

首先,我假设“fullarticle”只是一篇文章,因此您不需要在该模板中有foreach()

其次,您使用的是mysqli_query拉出数据,所以你的价值观应该是:

$articleData = $result->fetch_object() 

然后:

$articleData['id'] 
$articleData['summary'] 

此外,在您的通话mysqli_real_escape_string,你使用$_POST而不是$_GET来获得ID值,解决这个问题。

+0

我格式化了你的答案。在这里找到[Markdown help](http://stackoverflow.com/editing-help)为将来,其相当简单。 – stema 2012-03-07 14:05:58

0

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数组工作。