以添加新闻为例,当添加新闻的时候,我写的添加新闻发布者程序目前是一个文本输入框,用户自己输入用户名,现在我想将新闻发布者锁定为当前用户,用户不允许修改,并将该用户名写入数据库,目前我的程序在写入数据库的时候提示新闻发布者为空,请问如何修改才能实现目标?难道只能修改成文本类型吗?小弟是初学者,还请各位大虾指点!<?php 
<tr>
<td width="11%" align="right" >新闻标题:</td>
<td colspan="2" ><input name="title" type="text" class="input" size="40" /></td>
</tr>
................................................
<tr>
<td width="11%" align="right" >发布者:</td>
<td colspan="2" ><input name="author" type="text" class="input" size="40" /></td>
</tr>
?>
........
<?php 
$username = $_SESSION["username"];
$author = $_SESSION["author"];
$pd =$_SESSION["pd"];
$sql="insert into `newsbase` set title='$title',pd='$pd',author='$author'";
?>我的做法是修改成<tr>
<td width="11%" align="right" class="con">发布者:</td>
<td colspan="2" class="con"><?php echo $username;?></td>
</tr>

解决方案 »

  1.   

     $_SESSION["author"] 有值吗?
    session_start(); 在页面的开头处有这个函数了没?
      

  2.   

    这里 修改一下 <input name="author" type="text" class="input" size="40" /><input name="author" type="text" class="input" size="40" value="<?php echo $author;?>"/>就不会提示空的事情了.然后sql 语句直接用 author变量,这样即使输入者修改也无济于事.
      

  3.   

    您好!我这边显示是有值,可以在添加页面显示出来,但是就是在添加完成后数据库录入人字段没有值
    session_start();
    $username = $_SESSION["username"];
    $i_author= $username;
      

  4.   

    二楼的方法我也曾经试过,写入数据库是成功的,但是用户也可以修改录入人,比如默认当前用户是admin,如果用户在录入的时候将admin修改成admin11等等,也是可以插入数据库的,所以我才想能不能将录入人锁定,直接echo 出变量<?php echo $author;?>
      

  5.   

    $sql="insert into `newsbase` set title='$title',pd='$pd',author='$author'";
    你这sql语句错了insert into newsbase(title,pd,author) values ('$title','$pd','$author')
      

  6.   


    你的SQL语句改成 直接 author='".$_SESSION['username']."'";
    不就可以啦?想那么多...