通过这3个晚上的学习,对php有了初步的了解。学习的话,如果有语言基础,只要php参考手册就够了,剩下的就靠自己了,还有强大的网络资源。另外,刚开始可以不用IDE,我
第一天装了一个IDE但是可能还需要设置什么其他的吧(到现在还没去搞明白),后来干脆就没用了,直接用txt格式编写,再改成php格式的,然后直接放在apache服务器下访问。
先做一个web的基础,注册功能(登入功能也差不多吧!)
这里写了4个php页面,也小用了面向对象的思想
//form表单 一个简单的php
<html>
<title> regiter php</title>
<body>
注册:<br/>
<form action = "registerDeal.php" method="post">
用户名:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/> <br/>
密码确认:<input type="password" name="passwordConfirm"/> <br/>
<input type="submit" value="OK"/>
</form>
</body>
</html>
//Entity 实体类
user.php
<?php
class User{
var $username;
var $password;
function User($username,$password){
$this->username = $username;
$this->password = $password;
}
}
?>
//表单处理php
registerDeal.php
<?php
//include 'user.php'; //为什么不用添加呢?
include 'user_crud.php';
function save($username,$password){
echo "deal save";
$user = new User($username,$password);
$userDao = new UserDao();
$userDao->save($user);
}
if($_POST['username'] != NULL && $_POST['password'] !=NULL){
if($_POST['password'] != $_POST['passwordConfirm']){
echo "两次密码不一样";
}else{
save($_POST['username'] ,$_POST['password'] );
}
}else{
echo "用户名或密码不能为空";
}
?>
//最后一个php 貌似于DAO对象
user_crud.php
<?php
include 'user.php';
class UserDao{
//处理数据库连接
function conn_mysql(){
mysql_connect("localhost:3306", "root", "root")
or die("Could not connect : " . mysql_error());
print "Connected successfully";
mysql_select_db("forest") or die("Could not select database <br/>");
}
function UserDao(){
$this->conn_mysql();
}
function save($user){
echo("<br/> $user->username,$user->password");
$query = "insert into user(username,password) values ('$user->username','$user->password')";
mysql_query($query) or die("Could not save user <br/>");
}
}
?>
总结下
错误的地方:
1.include包含文件问题
2.在写sql语句时,要注意要用引号包含起来 '$user->username' 而不是
$user->username
3.如果提示mysql库函数没有定义,是因为在apache配置中没有指定php.ini的路径
所以加上 PHPIniDir "E:/soft_work/PHP"
改进:可以将mysql的连接串配置到另一个php或其他类型的文件中。