2012-05-05 18 views
1

divとh2の中にphp文をエコーし​​ています。ステートメントは、データベースからユーザー名を呼び出します。しかし、呼び出される名前は、歓迎の下で1行に強制されます。どのように私は同じ行に2つの単語を保つのですか?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!"); 
    ?> 

同じ行にとどまるようにするにはどうすればよいですか?ディビジョンは小さすぎないか、いずれかです。

+0

2つのh2タグを追加するので、2つの解決策があります。メッセージを同じタグに表示するか、CSSをインラインで表示して修正します。 –

答えて

0
は、(代わりにブロックの)あなたの <h2>インライン要素を作るために

使用CSS:

#teaser h2 { 
    display: inline; 
} 

それとも<h2>内のテキストをエコーするためにあなたのPHPを変更します。

<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> 
0

ヘッダはブロック要素であり、彼らはラインを取るだろう。

アトリビュートにstyle = "display:inline;"を追加して、インラインに変更する必要があります。またはcssファイルを編集します。

0

"welcome"の後に "</h2>"を、エコーに "<h2>"の後に閉じることができます。

1
<h2>Welcome <?php 
if (isset($_SESSION['username'])) { 
    echo $_SESSION['username']; 
} else { 
    echo 'You must be logged in'; 
} 
?></h2> 
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コードは、コードと協力し、可能性のあるエラーを見つけることがより容易になります。 ページがそれほど単純ではないようですが、もっと複雑なプロジェクトでは、コードを混ぜると非常に読みやすく、サポートするのが難しくなります:-(

0

個人的に、私はPHPの条件を単一のhtml行。。私はHTMLに追加したときに、むしろ私は、単一のVARSに私の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 ?> 
+0

答えのどれも助けますか?もしそうなら、それに応じて受け入れてください。 –