请高手帮我写段php+mysql代码
对于高手是很简单做的,在此先感谢您!内容是这样的。我只需要一个不同账号登陆,一个录入,和一个查看录入的数据,就三个功能。1、登陆,就是多用户登陆了。2、录入,这个复杂一点...
对于高手是很简单做的,在此先感谢您!
内容是这样的。
我只需要一个不同账号登陆,一个录入,和一个查看录入的数据,就三个功能。
1、登陆,就是多用户登陆了。
2、录入,这个复杂一点。内容以下:
公司名称,客户姓名,客户电话,客户地址,经手人,进展,评语。
就是这几个。
分析一下:
1、经手人选项,(可以随时增加和减少经手人名字的)
2、进展也是选项,未联系,已联系,已成功,已失败。 就四个选择。
3、评语就是简介了,能写不少字的那种就行。
4、别的就是一行文字了,255字就行的。
3、查看,就是列出所有录入的数据,当然最好是分页,一页显示多少条等。
可以查询查找最好啦,就是可以按条件搜索,除了评语,别的列都可以筛选后列出来的。
不知有那位好心 高手帮我写上面这功能的完整代码,万分感谢!
我全分送上! 展开
内容是这样的。
我只需要一个不同账号登陆,一个录入,和一个查看录入的数据,就三个功能。
1、登陆,就是多用户登陆了。
2、录入,这个复杂一点。内容以下:
公司名称,客户姓名,客户电话,客户地址,经手人,进展,评语。
就是这几个。
分析一下:
1、经手人选项,(可以随时增加和减少经手人名字的)
2、进展也是选项,未联系,已联系,已成功,已失败。 就四个选择。
3、评语就是简介了,能写不少字的那种就行。
4、别的就是一行文字了,255字就行的。
3、查看,就是列出所有录入的数据,当然最好是分页,一页显示多少条等。
可以查询查找最好啦,就是可以按条件搜索,除了评语,别的列都可以筛选后列出来的。
不知有那位好心 高手帮我写上面这功能的完整代码,万分感谢!
我全分送上! 展开
2个回答
2013-12-20
展开全部
你这个问题麻雀虽小,五脏俱全,有点麻烦的,因为不是涉及某一单一方面的事,而是涉及全系统的事了,要录入,要查询,要权限系统,要多用户,要并发,要事务等等,你还没考虑 SQL 注入和数据库备份的事了。
先说权限系统吧,开发每一套应用软件,一般都少不了开发权限系统,这个模块是和业务相对独立的,一般选用 RBAC即可,即用户------角色------权限模型,数据库中开 5 张表,分别是用户表,用户角色关联表,角色表,角色权限关联表,权限表。这块东西代码写起来也一大堆了,不是几句话可以弄清楚的,我这里这个权限子系统打印到 A4 纸就达 100页了,这里就不细说了,给你提供个大概思路:在用户登录成功后,读取该用户所属的角色群,再根据角色群读取权限群,这些权限就是该用户所拥有的,然后根据这些权限生成相应的菜单或操作功能按钮等,同时把这些权限存到某一数组再放到 $_SESSION 中去,这样方便检查用户的每一步操作是否有相应的权限。权限有增删改查等操作,角色和用户也需要增删改查,用户管理下还需要增加几个几个功能,如启用、禁用、重置密码等。
接着讲一下业务部分:
首先,在 mysql 中创建表:
create table customer(
customer_id int not null auto_increment primary key, //主键id,每个表必不可少
company_name varchar(100) not null default '', //公司名称
customer_name varchar(100) not null default '', //客户名称
customer_phone varchar(100) not null default '', //客户电话
customer_address varchar(100) not null default '', //客户地址
operator varchar(100) not null default '', //经办人
progress varchar(100) not null default '', //进展
comment varchar(1000) not null default '' //评语
);
登录页 login.php 大致如下:
<?php
require_once 'common_config.php'; //引入你自定义的公共配置参数或数组
require_once 'common_function.php'; //引入你自定义的php函数
require 'header.inc.php'; //引入 html 文件头部设置,包括 doctype, 字符集, css, js 等一系列东西, header.inc.php 里放什么及怎样放置,自己要规划好
require 'dbconnect.inc.php'; //连接数据库
//接着检查客户端 cookie 是否开启,若没开启,提示开启,并终止程序
//接着检查该用户是否已登录,若已登录,可用 header() 直接跳向主页 index.php
//接着如果用户是第一次打开 login.php ,则提供表单供输入用户名和密码
//接着,如果 $_POST[] 中 submit 变量名存在,说明用户是点击提交按钮到了本页面的,则下面的代码对用户输入的用户名和密码进行验证。
//在验证前,先判断用户名和密码是否为空,若为空,则提示不允许为空,并退出程序停留在登录界面
//检测用户名和密码是否为空
if ($_POST['username']=='' || $_POST['passwd']=='')
{
echo '<script type="text/javascript">alert("错误!用户名和密码不能为空。");</script>';
exit;
}
//接着,用php 的正则函数进一步验证用户名是否包含了标点符号,防止用户进行 SQL注入攻击
$illegalchar=preg_match("/[[:punct:]]/",$_POST['username']); //用正则函数 preg_match() 查找用户名中是否包含标点符号
if ($illegalchar > 0)
{
echo '<script type="text/javascript">alert("错误!标点符号不能作为用户名。");</script>';
exit;
}
//用户名和密码一般检测通过后,然后把密码用 md5() 处理,和用户名一起到数据库中验证该用户是否存在,以及密码是否正确
$passwd=md5($_POST['passwd']); //对密码加密
$sql="select * from user where username='$_POST[username]' and passwd=‘$passwd' limit 1";
$xresult=mysql_query($xsql,$conn);
if(mysql_num_rows($xresult)==0)
{
echo '用户不存在或密码不正确';
exit;
}
//用户名和密码验让通过后,接着读取该用户所具有的所有权限到 $_SESSION 中保存,以便后续使用,同时生成相应的菜单,并转到主页 index.php,这里只是思路,做起来还是挺复杂的,涉及到 RBAC 权限系统的问题。
?>
//上述是登录的大致思路
//录入表单大致如下:
先在 common_config.inc.php 中构造通用的数组内容:
$progress_arr=array(
'uncontact'=>'未联系',
'contact'=>'已联系',
'success'=>'已成功',
'fail'=>'已失败'
);
然后,在 customer_input.php 中提供输入表单
<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" target="detail_name">
<table style="margin:0 auto;">
<?php
$i=0; //用于循环,定位 <tr>
foreach ($progress_arr as $xkey => $xvalue) //遍历该条记录的所有字段
{
if($i % $para_arr['column_count']==0) //几列换一行,列数(两个"<td></td>"对算一列)在 $para_arr['column_count']中定义
{
echo '<tr>';
}
//呈现各字段名称和内容
switch($xkey)
{
case 'company_name':
echo '<td class="class_right"><span style="color:red;">*</span>'.$field_arr[$xkey].':</td>';
echo '<td><input type="text" class="class_input" name="'.$xkey.'" value="'.$xvalue.'" title="必填。请输入公司名称,不超过100个字符。" /></td>';
break;
case 'customer_name':
echo '<td class="class_right"><span style="color:red;">*</span>'.$field_arr[$xkey].':</td>'; //显示标签名称
echo '<td><input type="text" class="class_input" name="'.$xkey.'" value="'.$xvalue.'" title="必填。请输入客户名称,不超过100个字符。" /></td>';
break;
//其他字段情况类似的
//进展那个下拉列表 用 <select> 来弄:
case 'progress':
echo '<td class="class_right"><span style="color:red;">*</span>'.$field_arr[$xkey].':</td>';
echo '<td class="class_left"><select id="'.$xkey.'" name="'.$xkey.'">';
echo '<option value="">'.$para_arr['please_select'].'</option>';
foreach ($progress_arr as $base_key => $base_value)
{
if($xvalue==$base_value)
echo '<option value="'.$base_value.'" selected="selected">'.$base_value.'</option>';
else
echo '<option value="'.$base_value.'">'.$base_value.'</option>';
}
echo '</select></td>';
break;
}
}
?>
//输入会弄的话,读取显示就更简单了,写的累死了,上面只是思路,并不保证每一句代码都能运行,许多参数在我自定义的文件里,并没有出现在这里,弄上来太多了。你自己去领悟吧。我最近写的这个 php+mysql 应用系统源代码打到 A4 纸的话估计要七、八包了,这里不是几句话可以讲清楚的,涉及到太多的东西了,你自己摸索和领悟吧。
先说权限系统吧,开发每一套应用软件,一般都少不了开发权限系统,这个模块是和业务相对独立的,一般选用 RBAC即可,即用户------角色------权限模型,数据库中开 5 张表,分别是用户表,用户角色关联表,角色表,角色权限关联表,权限表。这块东西代码写起来也一大堆了,不是几句话可以弄清楚的,我这里这个权限子系统打印到 A4 纸就达 100页了,这里就不细说了,给你提供个大概思路:在用户登录成功后,读取该用户所属的角色群,再根据角色群读取权限群,这些权限就是该用户所拥有的,然后根据这些权限生成相应的菜单或操作功能按钮等,同时把这些权限存到某一数组再放到 $_SESSION 中去,这样方便检查用户的每一步操作是否有相应的权限。权限有增删改查等操作,角色和用户也需要增删改查,用户管理下还需要增加几个几个功能,如启用、禁用、重置密码等。
接着讲一下业务部分:
首先,在 mysql 中创建表:
create table customer(
customer_id int not null auto_increment primary key, //主键id,每个表必不可少
company_name varchar(100) not null default '', //公司名称
customer_name varchar(100) not null default '', //客户名称
customer_phone varchar(100) not null default '', //客户电话
customer_address varchar(100) not null default '', //客户地址
operator varchar(100) not null default '', //经办人
progress varchar(100) not null default '', //进展
comment varchar(1000) not null default '' //评语
);
登录页 login.php 大致如下:
<?php
require_once 'common_config.php'; //引入你自定义的公共配置参数或数组
require_once 'common_function.php'; //引入你自定义的php函数
require 'header.inc.php'; //引入 html 文件头部设置,包括 doctype, 字符集, css, js 等一系列东西, header.inc.php 里放什么及怎样放置,自己要规划好
require 'dbconnect.inc.php'; //连接数据库
//接着检查客户端 cookie 是否开启,若没开启,提示开启,并终止程序
//接着检查该用户是否已登录,若已登录,可用 header() 直接跳向主页 index.php
//接着如果用户是第一次打开 login.php ,则提供表单供输入用户名和密码
//接着,如果 $_POST[] 中 submit 变量名存在,说明用户是点击提交按钮到了本页面的,则下面的代码对用户输入的用户名和密码进行验证。
//在验证前,先判断用户名和密码是否为空,若为空,则提示不允许为空,并退出程序停留在登录界面
//检测用户名和密码是否为空
if ($_POST['username']=='' || $_POST['passwd']=='')
{
echo '<script type="text/javascript">alert("错误!用户名和密码不能为空。");</script>';
exit;
}
//接着,用php 的正则函数进一步验证用户名是否包含了标点符号,防止用户进行 SQL注入攻击
$illegalchar=preg_match("/[[:punct:]]/",$_POST['username']); //用正则函数 preg_match() 查找用户名中是否包含标点符号
if ($illegalchar > 0)
{
echo '<script type="text/javascript">alert("错误!标点符号不能作为用户名。");</script>';
exit;
}
//用户名和密码一般检测通过后,然后把密码用 md5() 处理,和用户名一起到数据库中验证该用户是否存在,以及密码是否正确
$passwd=md5($_POST['passwd']); //对密码加密
$sql="select * from user where username='$_POST[username]' and passwd=‘$passwd' limit 1";
$xresult=mysql_query($xsql,$conn);
if(mysql_num_rows($xresult)==0)
{
echo '用户不存在或密码不正确';
exit;
}
//用户名和密码验让通过后,接着读取该用户所具有的所有权限到 $_SESSION 中保存,以便后续使用,同时生成相应的菜单,并转到主页 index.php,这里只是思路,做起来还是挺复杂的,涉及到 RBAC 权限系统的问题。
?>
//上述是登录的大致思路
//录入表单大致如下:
先在 common_config.inc.php 中构造通用的数组内容:
$progress_arr=array(
'uncontact'=>'未联系',
'contact'=>'已联系',
'success'=>'已成功',
'fail'=>'已失败'
);
然后,在 customer_input.php 中提供输入表单
<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" target="detail_name">
<table style="margin:0 auto;">
<?php
$i=0; //用于循环,定位 <tr>
foreach ($progress_arr as $xkey => $xvalue) //遍历该条记录的所有字段
{
if($i % $para_arr['column_count']==0) //几列换一行,列数(两个"<td></td>"对算一列)在 $para_arr['column_count']中定义
{
echo '<tr>';
}
//呈现各字段名称和内容
switch($xkey)
{
case 'company_name':
echo '<td class="class_right"><span style="color:red;">*</span>'.$field_arr[$xkey].':</td>';
echo '<td><input type="text" class="class_input" name="'.$xkey.'" value="'.$xvalue.'" title="必填。请输入公司名称,不超过100个字符。" /></td>';
break;
case 'customer_name':
echo '<td class="class_right"><span style="color:red;">*</span>'.$field_arr[$xkey].':</td>'; //显示标签名称
echo '<td><input type="text" class="class_input" name="'.$xkey.'" value="'.$xvalue.'" title="必填。请输入客户名称,不超过100个字符。" /></td>';
break;
//其他字段情况类似的
//进展那个下拉列表 用 <select> 来弄:
case 'progress':
echo '<td class="class_right"><span style="color:red;">*</span>'.$field_arr[$xkey].':</td>';
echo '<td class="class_left"><select id="'.$xkey.'" name="'.$xkey.'">';
echo '<option value="">'.$para_arr['please_select'].'</option>';
foreach ($progress_arr as $base_key => $base_value)
{
if($xvalue==$base_value)
echo '<option value="'.$base_value.'" selected="selected">'.$base_value.'</option>';
else
echo '<option value="'.$base_value.'">'.$base_value.'</option>';
}
echo '</select></td>';
break;
}
}
?>
//输入会弄的话,读取显示就更简单了,写的累死了,上面只是思路,并不保证每一句代码都能运行,许多参数在我自定义的文件里,并没有出现在这里,弄上来太多了。你自己去领悟吧。我最近写的这个 php+mysql 应用系统源代码打到 A4 纸的话估计要七、八包了,这里不是几句话可以讲清楚的,涉及到太多的东西了,你自己摸索和领悟吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询