PHP面试题及答案(八)

1)内容管理系统:用户提交内容后,系统生成静态HTML页面;写出实现的基本思路
直接通过php写入文件,或使用模板来替换标签
2) 简单描述用户修改以发布内容的实现流程和基本思路
更新内容,替换静态文件
3) 写出以下程序的输出结果
<?
$b=201;
$c=40;
$a=$b>$c?4:5;
echo $a;
?>
4
4) 写出以下程序的输出结果
<?
$str="cd";
$$str="hotdog";
$$str.="ok";
echo $cd;
?>
hotdogok
5)有一表 menu(mainmenu,submenu,url),请用递归法写出一树形菜单,将所有的menu列出来
<html>
<head><title>JS打印</title></head>
<body>
<form>
<?php
function GenerateMenu($id=0,$str="")
{
     $result=mysql_query("select mainmenu,url,submenu from menu where mainmenu=$id");
     while($row=mysql_fetch_array($result))
     {
         echo $str.$row["url"]."<br />";
         GenerateMenu($row["submenu"],$str."--");
     }
     mysql_free_result($result);
}

$link=mysql_connect("localhost","root","");
mysql_select_db("phpinterview");
GenerateMenu();
mysql_close($link)
?>
</form>
</body>
</html>

6)- 给你三个数,写程序求出其最大值。
$var1=1;
$var2=7;
$var3=8;
$max=$var1>$var2?$var1:$var2;
$max=$max>$var3?$max:$var3;
echo $max;

9)- 写出发贴数最多的十个人名字的SQL,利用下表:
   members(id,username,posts,pass,email)
SELECT username,count(*) as num FROM `members` group by username desc order by count(*) desc limit 10
10)如何通过javascript判断一个窗口是i已经被屏蔽。
<script>  
var   result   =   window.open("/somepage.aspx");  
if(result==null)  
{  
        alert("浏览器不允许弹出窗口");  
}  
</script>
11)-写出session的运行机制
用户A访问站点Y,如果站点Y执行了session_start();(以下假定session_start()总是存在)那么会产生一个 session_id,这个session id一般会以COOKIE的形式保存到用户A(我们可以通过在php.ini里设置session.use_only_cookies为1,强制SESSION ID必须以COOKIE传递。)。这时候SESSION ID表现为$_COOKIE[’PHPSESSID’];(PHPSESSID可用session_name()函数来修改)
用户A接着访问,这个session id($_COOKIE[’PHPSESSID’])就会在A每次访问Y的时候传送到站点Y。
在站点Y上,会有这么一个目录,是用来保存SESSION的实际数据的。站点Y接收到session id,然后通过session id,来获得与SESSION数据的关联,并返回SESSION数据。

13)-防止SQL注射漏洞一般用__addslashes___函数。
14)-查询在线人数,并能处理异常掉线的SQL
参考:http://topic.csdn.net/t/20001216/09/49126.html

你可能感兴趣的:(PHP)