2017-01-27 3 views
0

単純な質問ですか?Base_urlが機能しません。

'文字列'

完全なコードを以下のように働いCI

<?= base_url();?> 

にする方法:

<?php if($_SESSION['admin'] == 1||$_SESSION['admin']== 0){ 
    echo "<a class='btn-common' href='<?= base_url();?>usr/logout'>LOGOUT</a>"; 
     } 
     else{ 
      echo "<a class='btn-common2'></a>"; 
     } 

BASE_URLが

<?base_url();?> 
+0

まず私はこのことを理解していないためにことを入ります '<?=' 。第二に、いつも '<?php'で始まり' <? 'で始まらない方がよいでしょう。最後に、 'echo'を使う必要があります。 –

+0

'<?='は '<?php echo'と似ていて、有効な構文です。それを使ってエコーを使う必要はありません! – Antony

+1

@AntonisTsimourtos '<?='は '<?php echo ...'の略語であり、非常に一般的で有効なものです –

答えて

2

することができますがウォーキングされていません内部でPHPメソッドを使用しないこの文字列の場合は、文字列を結果と連結する必要があります。

echo "<a class='btn-common' href='" . base_url() . "usr/logout'>LOGOUT</a>"; 
+0

ありがとう!それは仕事です。まだ最終的なウェブプロジェクトのためにレースしています –

2

このようにもなります。引数としてbase_url()にパスを渡す:

<a class='btn-common' href='<?php echo base_url("usr/logout");?>'>LOGOUT</a>; 

あなたは、文字列を連結する必要が

$this->load->helper('url'); 
+0

エコーでPHPタグを使用するには、タグを開始する前にPHPタグを閉じる必要があります – Antony

+0

これはcodeigniterで 'base_url()'を使うのに適していますか? –

+0

私は一方的に他の方法よりも優れているとは言いませんが、彼がすでに 'echo'を使っていたので、彼はすでにphpタグに入っていました。あなたの例では、エコーを '?>'に置き換え、HTMLを印刷した後に新しいPHPタグを開始する必要があります。 – Antony

0

helper.using urlをロードすることを忘れないでください。

echo "<a class='btn-common' href='".site_url('usr/logout')."'>LOGOUT</a>"; 

あなたのコントローラでパラメータを指定してsite_urlを使用することをお勧めします(設定ファイルを使用して自動的にURLを構築します)。 Codeigniterを使用すると、$ this-> session-> userdata( 'admin')を使用してセッションデータを取得することもできます。

if($this->session->userdata('admin')===1 || $this->session->userdata('admin')===0){ 
     echo "<a class='btn-common' href='".site_url('usr/logout')."'>LOGOUT</a>"; 
    }else{ 
     echo "<a class='btn-common2'></a>"; 
    } 
あなたはCodeIgniterのを使用する必要があり
0

あなたはベースURLを使用する必要がいけない

<?php echo anchor("usr/logout",'Logout', 'title="Logout"');?> 

リンク、Co​​deIgniterのは、あなたがすべての

関連する問題