gpt4 book ai didi

php - 单击 后重新加载页面以从 PHP 获取新数据

转载 作者:行者123 更新时间:2023-11-28 02:03:09 24 4
gpt4 key购买 nike

我正在编写一个多语言网络,接下来的逻辑是:

  1. 默认情况下,有一个“lang.tmp”文件,其默认数据为“eng”。
  2. 当index.php加载时,它从“lang.tmp”获取数据并设置从lang.php加载数据的默认语言:

    include("lang/".file_get_contents("lang.tmp").".php");
  3. 如果用户想要更改语言,他点击用 php 创建的链接,该链接会重写“lang.tmp”中的数据:

    include("lang/languages.php");
    $i=0;
    while (list($key, $value) = each($languages))
    {
    echo '<li class="lang"><a href="index.php?'.$key.'"><div id="langBox">'.$value.'</div></a></li>';
    if ($_SERVER['QUERY_STRING'] == $key)
    {
    $fp=fopen("lang.tmp","w");
    fwrite($fp,basename($key));
    fclose($fp);
    }
    所以!问题是:重写“lang.tmp”文件后,我需要使用相同的“index.php”地址重新加载页面以获得新的语言类型。

  4. 我已经尝试过

    header("Location: index.php"); 

显然它不起作用,因为 URL 相同,所以我收到错误:

Warning: Cannot modify header information - headers already sent.
  • 我也尝试过 JavaScript:

    $("div #langMenu").click(function() {
    location.reload();
    console.log ("Clicked!");
    });
  • 但它也不起作用。仅在第二次单击链接后,页面才会以新语言重新加载,但这并不是每个人都需要的))

    您能否链接到我错误的地方,或者在这种情况下重新加载页面的其他选项是什么。

    最佳答案

    1. header重定向应该工作,该错误意味着文本有已经显示(您只能在页面显示时进行该调用)加载,而不是在您发送内容后加载)。
    2. 逻辑存在缺陷,单个用户会更改语言对于整个网站。
    3. 为什么不直接制作 <a>首先是该页面的链接?

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com