1

我在 div 和 h2 中呼应了一个 php 语句。该语句从数据库中调用用户名。然而,被叫的名字,却是强行在欢迎之下。我如何将两个单词保持在同一行?

<div id="teaser">
    <div class="wrap">
        <div id="image"></div>
        <div class="box">
            <h2>Welcome</h2> 
    <?php
  session_start ();
   if (isset($_SESSION['username']))
echo "<h2>".$_SESSION['username']."!</h2>";
     else
die("You must be logged in!");
     ?>

有什么建议可以让他们保持在同一条线上吗?div 不是太小,也不是太小。

4

6 回答 6

1
<h2>Welcome <?php
if (isset($_SESSION['username'])) {
   echo $_SESSION['username'];
} else {
   echo 'You must be logged in';
}
?></h2>
于 2012-05-05T00:32:20.187 回答
0

就个人而言,我不喜欢将 PHP 条件嵌入到单个 html 行中,而是更喜欢将 html 文件顶部的条件变量本地化为单个 var。然后当我将它们添加到 html 中时,它会更容易阅读代码。像这样:

<?php
session_start();

// Ternary op, if username is available, use it, otherwise default to null
$userMessage = 'Welcome' . ((isset($_SESSION['username'])) ? ' ' . $_SESSION['username'] : null);
?>

<div id="teaser">
    <div class="wrap">
        <div id="image"></div>
        <div class="box">
            <h2><?php echo $userMessage ?></h2>

或者,如果您想变得更复杂一点:

<?php session_start() ?>

<div id="teaser">
    <div class="wrap">
        <div id="image"></div>
        <div class="box">
            <?php if (isset($_SESSION['username'])): ?>
            <h2>Welcome <?php echo $_SESSION['username'] ?></h2> 
            <?php else: ?>
            <h2>Welcome stranger, click <a href="lilo.php">here</a> to login</h2>
            <?php endif ?>
于 2012-05-05T00:46:18.527 回答
0

使用 css 使您<h2>的内联元素(而不是块):

#teaser h2 {
    display: inline;
}

或者修改您的 PHP 以在以下内容中回显文本<h2>

<div id="teaser"> 
    <div class="wrap"> 
        <div id="image"></div> 
        <div class="box"> 
            <h2>Welcome  
    <?php 
  session_start (); 
   if (isset($_SESSION['username'])) 
echo $_SESSION['username']."!"; 
     else 
die("You must be logged in!"); 
     ?></h2>
于 2012-05-05T00:29:53.603 回答
0

标题是块元素,因此它们将占据一行。

您应该通过添加属性 style="display: inline;" 将其显示更改为内联 或编辑css文件。

于 2012-05-05T00:30:57.740 回答
0

您可以删除</h2>“欢迎”之后的结束和回声中的开口<h2>

于 2012-05-05T00:31:38.167 回答
0

我强烈建议您以这种方式重新组织您的代码:

<?php 
  $user_name = '';
  session_start ();
  if (isset($_SESSION['username'])){
        $user_name = $_SESSION['username'];
  }     
  else{
        $user_name = "- You must be logged in!";
  }     
?>


<div id="teaser">
    <div class="wrap">
        <div id="image"></div>
        <div class="box">
            <h2>Welcome <?php echo $user_name; ?></h2> 
          </div>

分离 PHP 和 HTML 代码可以更轻松地处理代码并发现可能的错误。当页面如此简单时,它似乎并不重要,但在更复杂的项目中,混合代码会使它变得非常易读且难以支持:-(

于 2012-05-05T00:37:34.287 回答