0

奇怪的情况,我不明白为什么我的 php 脚本没有传递 HTML 代码。

好吧,我在我的网站上工作,到了我必须根据免费和高级配置文件类型显示所见即所得文本编辑器的地步。我在我的 mysql 数据库中使用简单的“a”、“b”和“c”来表示免费和高级。

但是,当我尝试编写脚本并运行时,它只显示了“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"){

您应该使用===or==进行比较,而不是=. 您正在以您的方式将值分配给变量。

于 2013-10-14T19:55:12.023 回答
0

你所有的条件都不合适。条件运算符是 '==' 而不是 '='。因此,在所有条件语句中放置 '==' 而不是 '='

于 2013-10-14T19:58:32.950 回答
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

如果陈述不正确...

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

这会将 $a 设置为值 1。

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

这会将 $a 与 1 进行比较

于 2013-10-14T20:00:01.987 回答