如何在不使用include函数的情况下从单独的PHP文件引用PHP数组

时间:2016-12-01 23:48:08

标签: php

(直接跳到 sentence_editor.php 代码部分的评论)

我正在设计一个程序的后端,允许管理员调整存储在数据库中的句子。

  1. 执行从 index.php 开始。
  2. index.php 包含使用include函数执行的文件 fetchSentences.php ;该文件检索100个由管理员编辑的句子。 100个句子存储在PHP数组中。
  3. index.php 将用户重定向到 sentence_editor.php ,显示要编辑的第一个句子;即,其id存储在$ ids [0]中的句子。
  4. 用户在HTML表单中进行必要的编辑,一旦他提交表单,他提供的数据就会在 process_updateSentence.php 中处理,后者会更新编辑后的句子在数据库中的相应行。
  5. process_updateSentence.php 然后再将管理员重定向到 sentence_editor.php ,这次只显示数组中的下一个句子;即,其id存储在$ ids [1]中的句子。
  6. 重复步骤4和5 ad nauseam

    以下是与我的问题相关的所有代码,以便进一步澄清:

    fetchSentences.php

    <?php
    $query = "SELECT * FROM sentences LIMIT 100";
    $results = $conn->query($query) or die($conn->error.__LINE__);
    
    while($row = $results->fetch_assoc()){
        $ids[] = $row['id']; // stores the id of the retrieved sentence
    }
    ?>
    

    的index.php

    <?php include 'fetchSentences.php'; ?>
    <html>
      <a href="sentence_editor.php?n=0" class="start">Start!</a>        
    </html>
    

    sentence_editor.php

    <?php
    $n = $_GET['n']; // n represents the index of the ids[] array
    $id = $ids[$n]; // gets the id of the next sentence to be edited. My problem lies in this line. I am referencing an array $ids[] which was declared in a different file (namely, fetchSentences.php).
    // How can I reference $ids[] in this file???
    // If I add "include 'fetchSentences.php'" this will end up executing the fetchSentences.php code all over again resulting in an entirely new array of sentence IDs. 
    /*
     * code which fetches the sentence from the database
     */
    ?>
    
    <html>
     <form method="post" action="process_updateSentence.php?id=<?php echo $id?>&n=<?php echo $n?>">
    

    process_updateSentence.php

    <?php
    header("Location: sentence_editor.php?n=" . ++$n);
    ?>
    

0 个答案:

没有答案