1、谈谈你对php、mysql、apache的认识
(评分标准:4-3-3)
PHP:是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。
MySQL: MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。与Oracle、DB2、SQL Server 等数据库类似。
Apache: Web服务器软件,它快速、可靠并且可通过简单的API扩充,将Perl/Python/Php等解释器编译到服务器中。
2、php中的数据类型有哪些?声明每种数据类型(特殊类型除外)的变量并赋值
(评分标准:八种数据类型4分,对象数组赋值分别2分,其他共2分)
四种标量类型:a.布尔 b.整型 c.浮点型 d.字符串
两种复合类型:a.array数组 b. object 对象
两种特殊类型:a.resource资源标识符 b.NULL
$bol = true;
$int = 10;
$f = 3.14;
$str = "hello world";
$arr = array(1,2,3,4,5);
class Person {
public $name = "Shafee";
public function say() {
echo $this->name." say hello to you";
}
}
$p = new Person();
$n = null;
3、使用php生成九九乘法表
(评分标准:使用两个for循环得6分,其他视完成程序给分)
echo "";
for($i = 1; $i < 10; $i++) {
for($j = 1; $j < 10; $j++) {
if($i >= $j) {
";
echo "$i * $j = $i*$j";
echo "";
}
}
echo "";
}
echo "";
4、创建一个关联数组,并写出不少于5个与数组相关的函数并指明作用
(评分标准:关联数组得2分,写出一个函数得1分,2个函数得2分,三个函数得4分)
关联数组:$arr = array("apple" => "苹果", "pear" => "梨", "orange" => "橙子");
array_shift($arr) 删除数组第一个元素
array_push($arr, "banana"); 在末尾添加元素
array_pop($arr); 在删除元素
array_sum(array(1,2,3,4)) 求数组元素之和
array_unique($arr) 移除数组中重复的值
...
更多函数参考http://php.net/manual/zh/book.array.php
5、字符串的声明方式有哪几种?他们各自的特点是?
(评分标准:3-3-4)
a.使用单引号,在单引号字符串中的变量和特殊字符的转义序列将不会被替换
b.使用双引号,双引号定义的字符串最重要的特征是变量会被解析
c.定界符,用heredoc 句法结构:<<<。在该运算符之后要提供一个标识符,然后换行。接下来是字符串string本身,最后要用前面定义的标识符作为结束标志。结束时所引用的标识符必须在该行的第一列,而且,标识符的命名也要像其它标签一样遵守PHP 的规则:只能包含字母、数字和下划线,并且必须以字母和下划线作为开头
6、写出不少于5个关于字符串操作的函数并指明作用
(评分标准:写出三个4分,5个8分,6个以上10分)
a.strlen— 获取字符串长度
b.strtolower— 将字符串转化为小写
c.strtoupper— 将字符串转化为大写
d.substr_count— 计算字串出现的次数
e.substr_replace— 替换字符串的子串
f.substr— 返回字符串的子串
g.trim— 去除字符串首尾处的空白字符(或者其他字符)
h.ucfirst— 将字符串的首字母转换为大写
更多参考:http://php.net/manual/zh/ref.strings.php
7、数据库用户名为root,密码空,连接数据库test,并打印出表user中字段为name的所有记录。写出实现以上功能的php代码
(评分标准:设置响应头1分,打开数据库2分,数据库是否连接成功1分,sql语句1分,查询1分,遍历结构4分)
#设置响应头
header("Content-Type:text/html; charset=utf8");
#连接数据库
@$conn = mysqli_connect("localhost:3306", "root", "", "test");
if(mysqli_connect_errno()) {
echo "数据库连接失败".mysqli_connect_errno();
exit();
}
#sql语句
$sql = "select * from user";
#查询,返回结果集
$result = mysqli_query($conn, $sql);
#如结果非空,则打印name字段的所有记录
if($result) {
while($row = mysqli_fetch_assoc($result)) {
echo $row["name"];
}
}
?>
8、前端有表单数据
用户名
密码
后台handle.php该如何处理前台所提交的数据?验证用户提交的username以及password,如在数据库test中的数据表user中的字段’username’、’pwd’匹配成功,则打印“登录成功”,否则“登录失败”,试写出handle.php中的代码
(评分标准:$_POST使用4分,其他得分点:数据库连接2分,sql语句2分,执行语句1分)
header("Content-Type:text/html; charset=utf8");
$username = $_POST["username"];
$pwd = $_POST["password"];
$conn = mysqli_connect("localhost:3306", "root", "", "test");
if(mysqli_connect_errno()) {
echo "数据库连接失败".mysqli_connect_errno();
exit();
}
$sql = "select * from user where `username` = '$username' and `pwd` = '$pwd'";
$result = mysqli_query($conn, $sql);
if($result) {
echo "登录成功";
}else {
echo "登录失败";
}
?>
9、将数据库test中的user表中的所有数据转换成json格式字符串返回给前端页面,请写出相关代码。
(评分标准:打开数据库2分,sql语句1分,查询1分,遍历结果集3分,json_encode3分)
$conn = mysqli_connect("localhost:3306", "root", "", "test");
$sql = "select * from user";
$result = mysqli_query($conn, $sql);
$arr = array();
if($result) {
while($row = mysqli_fetch_assoc($result)) {
array_push($arr, $row);
}
}
echo json_encode($arr);
10、使用post方式请求checkUser.php页面,并提交数据id=1,user=shafee。请写出相应的Ajax代码
(评分标准:XMLHttpRequest对象2分,open 2分,setRequestHeader 1分,send 1分,onreadystatechange事件2分,xhr.readystate === 4 && xhr.status === 200 2分)
javascript代码:
var xhr = new XMLHttpRequest();
xhr.open("post","checkUser.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("id=1&user=shafee");
xhr.onreadystatechange= function() {
if(xhr.readystate === 4 && xhr.status === 200){
console.log(xhr.responseText);
}
}