-1

これは非常に基本的なことですが、PHPコードのこの短いセクションが機能しない理由がわかりません。関数でIFステートメントを実行してから、ドキュメントのどこかで関数を実行して、「../」を返すようにしています。

<?php $confirm = "yes"; ?>  

<?php
   function clientarea() {
      if (isset($confirm)) {
         if ($confirm == "yes") {
             echo "../";
         }
      }
   }
?>

<img src="<?php clientarea(); ?>images/logo.png" alt="Logo" />

このコードが私のために機能しない理由はありますか?

4

7 に答える 7

6

これはうまくいくはずです:

<?php $confirm = "yes"; ?>  

<?php
   function clientarea($confirm) {
      if (isset($confirm)) {
         if ($confirm == "yes") {
             echo "../";
         }
      }
   }
?>

<img src="<?php clientarea($confirm); ?>images/logo.png" alt="Logo" />

「yes」または「no」の代わりにブール値を使用する方が適切です...

コードを変更しました:

<?php $confirm = true; ?>  

<?php
   function clientarea($confirm) {
      if ($confirm) {
             echo "../";
      }
   }
?>

<img src="<?php clientarea($confirm); ?>images/logo.png" alt="Logo" />
于 2012-09-09T13:19:18.290 に答える
4
<?php $confirm = "yes"; ?>  

<?php
   function clientarea() {
      global $confirm; // $confirm is not accessible from here so either you declare this as global or follow one of the answers in putting $confirm as a parameter of this function
      if (isset($confirm)) {
         if ($confirm == "yes") {
             echo "../";
         }
      }
   }
?>

<img src="<?php clientarea(); ?>images/logo.png" alt="Logo" />
于 2012-09-09T13:21:52.653 に答える
3
if (isset($confirm) {

する必要があります

if (isset($confirm)) {

クロージングパレンがありません。

于 2012-09-09T13:19:51.977 に答える
2

ifステートメントのブレースを忘れています。あなたのコードは次のとおりです。

if (isset($confirm) {

そのはず:

if (isset($confirm)) {

休憩する。:)

于 2012-09-09T13:20:29.120 に答える
1

IF条件に閉じ括弧がありません

(isset($confirm) should be (isset($confirm))
于 2012-09-09T13:20:47.420 に答える
1

関数内でグローバルを使用する

<?php $confirm = "yes"; ?>  

<?php
   function clientarea() {
      global $confirm; 
      if (isset($confirm)) {
         if ($confirm == "yes") {
             echo "../";
         }
      }
   }
?>

<img src="<?php clientarea(); ?>images/logo.png" alt="Logo" />
于 2012-09-09T13:31:48.393 に答える
0

これを試して

   function clientarea() {
      if (isset($confirm)) {
         if ($confirm == "yes") {
             echo "../";
         }
      }
   }

クロージングがありません)後isset($confirm)

于 2012-09-09T13:19:26.840 に答える