0

奇妙な状況で、php スクリプトが HTML コードを渡さない理由がわかりません。

わかりました、私は自分のサイトで作業していて、無料およびプレミアムのプロファイル タイプに従って WYISIWYG テキスト エディターを表示する必要があるところまで来ました。単純な「a」、「b」、「c」を使用して、私の mysql データベースで無料とプレミアムを表しています。

しかし、スクリプトを作成して実行すると、「b」と「c」のアカウント タイプのデータだけが表示され、「a」タイプのデータは表示されませんでした。

これが私のコードです。

<?php
include_once("../scripts/userlog.php"); (it is where i assign id to users)
$id = "$log_id";

$sql_type = mysql_query("SELECT acc_type FROM members WHERE id='$id' LIMIT 1");
while($row = mysql_fetch_array($sql_type)){

$acc = $row["acc_type"];

if($acc = "a"){

$field = '<div id="wysiwyg_cp" style="padding:8px; width:700px;">
<input type="button" onClick="iBold()" value="B"> 
<input type="button" onClick="iUnderline()" value="U">
<input type="button" onClick="iItalic()" value="I">
<input type="button" onClick="iFontSize()" value="Text Size">
<input type="button" onClick="iForeColor()" value="Text Color">
<input type="button" onClick="iHorizontalRule()" value="HR">
<input type="button" onClick="iUnorderedList()" value="UL">
<input type="button" onClick="iOrderedList()" value="OL">
<input type="button" onClick="iLink()" value="Link">
<input type="button" onClick="iUnLink()" value="UnLink">
<input type="button" onClick="iImage()" value="Image">
</div>
<!-- Hide(but keep)your normal textarea and place in the iFrame replacement for it -->
<textarea style="display:none;" name="content" id="content" cols="100" rows="14">                                                                                                    </textarea>
<iframe name="richTextField" id="richTextField" style="border:#000000 1px solid;     width:700px; height:300px;"></iframe>
<!-- End replacing your normal textarea -->';
}

if($acc = "b"){

$field = 'adding soon'; 
}

if($acc = "c"){
    $field = 'adding soon';
}
}
?>

スクリプトを実行すると、「すぐに追加」しか表示されません

4

4 に答える 4

4

このような比較で:

if($acc = "a"){

ではなく、比較のために===またはを使用する必要があります。あなたがやっている方法で変数に値を割り当てています。===

于 2013-10-14T19:55:12.023 に答える
0

ifs の使用方法が正しくありません。たとえば、 == ではなく = である必要があります。

if ($acc == "a")
{
  //do something
}
else
{
  //do other thing
}

このように書くことをお勧めします

 if ("a" == $acc)
    {
      //do something
    }
    else
    {
      //do other thing
    }

なぜこのように使うのですか?このようにすると、a = を見逃すと、変数 "a" を変更できなくなります。これは、変数 $acc の値を上書きする代わりに、文字であり、コンパイラがエラーを表示するためです。

于 2013-10-14T21:21:31.927 に答える
0

あなたの条件はすべて適切ではありません。条件演算子は「=」ではなく「==」です。したがって、すべての条件ステートメントで、「=」の代わりに「==」を入れます

于 2013-10-14T19:58:32.950 に答える
0

ステートメントが間違っている場合...

if ($a = 1)
    }
    // do something
    }

これにより、$a が値 1 に設定されます。

if ($a == 1)
    {
    // do something
    }

これは $a を 1 と比較します

于 2013-10-14T20:00:01.987 に答える