PHP动态标题

PHP动态标题,php,dynamic,web,title,Php,Dynamic,Web,Title,我希望用户能够动态地更改网站的标题 我在Stackoverflow上尝试了所有动态网站标题问题,但都没有解决我的问题 这是我的HTML <fieldset> <legend style='width:500px;'><h3>Website Title</h3></legend> <label><h4> Change Website Title </h4></label>

我希望用户能够动态地更改网站的标题

我在Stackoverflow上尝试了所有动态网站标题问题,但都没有解决我的问题

这是我的HTML

<fieldset>
    <legend style='width:500px;'><h3>Website Title</h3></legend>
    <label><h4> Change Website Title </h4></label>
    <form action='Config.php' method='POST'>
    <input type='text' name='websitetitle' placeholder='Website Title'/> <br />
    <input type='submit' value='Update' class='btn btn-small btn-primary' name='update'>
    </form>
  </fieldset>

网站标题
更改网站标题

Config.php

   <?php
if(isset($_REQUEST['update'])) {
$title=strip_tags(stripslashes($_REQUEST['websitetitle']));
}


提前谢谢

看起来您的变量
websitetitle
位于
$\u请求中
错误???因为我不“相信”,所以你可以传递“提交”的值


网站标题
更改网站标题

然后



网站标题
更改网站标题

您所做的是在提交表单后将用户重定向到config.php。
您要做的是重新加载实际页面,然后让包含的脚本在设置标题标记之前执行它应该执行的操作。

上面的答案看起来不错,但我会使用php会话。您可以去掉global.php并将config.php更改为

<?php 
    if (issest($_REQUEST['websitetitle'])) {
        $_SESSION['title'] = $_REQUEST['websitetitle'];
    }
?>

然后将
$\u会话['title']
放置在需要动态标题的位置。
另外,确保添加
session_start()位于文档的最顶端

在代码的任何地方都没有保存值以供以后重新迭代。每次你的浏览器加载一个新页面时,它都会忘记你没有明确告诉它保留的所有内容

您可以将信息写入数据库、文件、cookie或会话

对于会话示例:

<?php

$title = ( isset($_SESSION) && isset($_SESSION['title']) ) ? $_SESSION['title'] : 'Original, unaltered page title here';

?>
<!DOCTYPE html>
<html>
  <head>
    <title><?php echo $title; ?></title>
  </head>

接收表单的页面:

<?php

if ( isset($_REQUEST['websitetitle']) && !empty($_REQUEST['websitetitle']) )
{
  if ( !isset($_SESSION) ) session_start();
  $_SESSION['title'] = $_REQUEST['websitetitle'];
}

是否需要保存标题以备日后使用?您尚未说明问题所在。您刚刚发布了代码。标题输出的代码在哪里?在哪里失败?是否成功地从
$\u请求['websitetitle']
中提取了值?它是否成功发布到服务器上?将标题放入
$\u会话
。在他的情况下,当他点击提交(名为更新)时,将有一个名为
$\u REQUEST['update']
的变量,他可以检查该变量是否存在。更合适的方法是将请求方法验证为POST和/或验证他想要使用的变量是否存在,以及是否具有他期望的值。此外,您的代码仍然存在与他的代码相同的问题。您必须在页面之间传输值,并使其持久化。Config.php仅在收到
$\u请求['websitetTitle']
并将其设置为该值时设置标题。当您包含Config.php时,它基本上不包含任何内容,因此当您尝试
echo$title
<title><?php include 'Config.php'; echo $title; ?> </title>
<?php
    // config.php
    if(isset($_POST['update'])) {
        $title=strip_tags(stripslashes($_POST['websitetitle']));
    }
?>

 <title><?php require_once('Config.php'); echo $title; ?> </title>

<fieldset>
    <legend style='width:500px;'><h3>Website Title</h3></legend>
    <label><h4> Change Website Title </h4></label>
    <form method='POST'>
    <input type='text' name='websitetitle' placeholder='Website Title'/> <br />
    <input type='submit' value='Update' class='btn btn-small btn-primary' name='update'>
    </form>
  </fieldset>
<?php 
    if (issest($_REQUEST['websitetitle'])) {
        $_SESSION['title'] = $_REQUEST['websitetitle'];
    }
?>
<?php

$title = ( isset($_SESSION) && isset($_SESSION['title']) ) ? $_SESSION['title'] : 'Original, unaltered page title here';

?>
<!DOCTYPE html>
<html>
  <head>
    <title><?php echo $title; ?></title>
  </head>
<?php

if ( isset($_REQUEST['websitetitle']) && !empty($_REQUEST['websitetitle']) )
{
  if ( !isset($_SESSION) ) session_start();
  $_SESSION['title'] = $_REQUEST['websitetitle'];
}