【问题标题】:Displaying multiple (inputed) links on a page在页面上显示多个(输入的)链接
【发布时间】:2015-10-10 23:13:50
【问题描述】:

我正在尝试编写一个网页程序(在以前的 PHP 页面中称为 member.php)需要 2 个输入:网站的标题和 URL。然后在提交后,它会将您带到另一个页面,并且应该在链接到 URL 的<a href> 中打印出标题。但是当我返回member.php 页面输入另一个链接时,我之前输入的上一个链接被我的新输入覆盖。为什么会这样?

$titles = array();
$urls = array();

$title = $_POST['title'];
$url = $_POST['url'];

if ($url && $title) {
    array_push($titles, $title);
    array_push($urls, $url);
}

for ($i = 0; $i < count($urls); ++$i) {
    $getTitle = $titles[$i];
    $getUrl = $urls[$i];

    if ($getTitle && $getUrl) {
        echo "<br>".'<a href = "http://' . $getUrl . '" target="_blank">'.$getTitle.' </a>' . "<br>";       
    }
}

【问题讨论】:

  • 使用会话存储您的数据。
  • 如果你正在使用一个数据库,你可以将你的数据存储到一个数据库中,这样你将来也可以使用,或者如果你暂时使用它,可以像“jewelhuq”所说的那样使用会话。跨度>

标签: php html arrays input output


【解决方案1】:

每次你运行你的member.php,你就在运行

$urls = array();

正在重置数组的内容。它不会覆盖前一个,只是在您离开后前一个不再存在于内存中。

【讨论】:

    【解决方案2】:

    写一个简单的 IF 语句来确保你没有重写你的数组:

    if (!$urls) {
    $url = $_POST['url'];
    }
    

    那里。现在它只会在它不存在时被写入。只需添加到这个数组,现在你知道它已经存在了。

    另外,考虑使用会话变量。当用户离开您的页面时,它们就会过期。

    You can read about sessions here.

    【讨论】:

      猜你喜欢
      • 2019-01-14
      • 2018-06-18
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多