后端开发

网络新概念,云计算、大数据、O2O、电商。。。。

php.jpg

1、连接MYSQL数据库代码 
<?php 
$connec=mysql_connect("localhost","root","root") or die("不能连接数据库服务器: ".mysql_error()); 
mysql_select_db("liuyanben",$connec) or die ("不能选择数据库: ".mysql_error()); 
mysql_query("set names 'gbk'"); 
?> 

2、读取数据库,并实现循环输出 
<?php 
$sql="select * from liuyan order by ly_id desc"; 
$conn=mysql_query($sql,$connec); 
while($rs=mysql_fetch_array($conn)){ 
?> 
循环的内容......... 
<?php 

?> 

3、如何实现分页,包括两个函数,两个调用 
1)两个函数 
<? 
//分页函数 
function genpage(&$sql,$page_size=2) 

global $prepage,$nextpage,$pages,$sums; //out param 
$page = $_GET["page"]; 
$eachpage = $page_size; 
$pagesql = strstr($sql," from "); 
$pagesql = "select count(*) as ids ".$pagesql; 
$conn = mysql_query($pagesql) or die(mysql_error()); 
if($rs = mysql_fetch_array($conn)) $sums = $rs[0]; 
$pages = ceil(($sums-0.5)/$eachpage)-1; 
$pages = $pages>=0?$pages:0; 
$prepage = ($page>0)?$page-1:0; 
$nextpage = ($page<$pages)?$page+1:$pages; 
$startpos = $page*$eachpage; 
$sql .=" limit $startpos,$eachpage "; 

// 显示分页 
function showpage() 

global $page,$pages,$prepage,$nextpage,$queryString; //param from genpage function 
$shownum =10/2; 
$startpage = ($page>=$shownum)?$page-$shownum:0; 
$endpage = ($page+$shownum<=$pages)?$page+$shownum:$pages; 

echo "共".($pages+1)."页: "; 
if($page>0)echo "<a href=$PHP_SELF?page=0$queryString>首页</a>"; 
if($startpage>0) 
echo " ... <b><a href=$PHP_SELF?page=".($page-$shownum*2)."$queryString>?</a></b>"; 
for($i=$startpage;$i<=$endpage;$i++) 

if($i==$page) echo " <b>[".($i+1)."]</b> "; 
else echo " <a href=$PHP_SELF?page=$i$queryString>".($i+1)."</a> "; 

if($endpage<$pages) 
echo "<b><a href=$PHP_SELF?page=".($page+$shownum*2)."$queryString>?</a></b> ... "; 
if($page<$pages) 
echo "<a href=$PHP_SELF?page=$pages$queryString>尾页</a>"; 

//显示带分类的分页 
function showpage1() 

$fenlei=$_GET["fenleiid"]; 
global $page,$pages,$prepage,$nextpage,$queryString; //param from genpage function 
$shownum =10/2; 
$startpage = ($page>=$shownum)?$page-$shownum:0; 
$endpage = ($page+$shownum<=$pages)?$page+$shownum:$pages; 

echo "共".($pages+1)."页: "; 
if($page>0)echo "<a href=$PHP_SELF?fenleiid=$fenlei&page=0$queryString>首页</a>"; 
if($startpage>0) 
echo " ... <b><a href=$PHP_SELF?fenleiid=$fenlei&page=".($page-$shownum*2)."$queryString>?</a></b>"; 
for($i=$startpage;$i<=$endpage;$i++) 

if($i==$page) echo " <b>[".($i+1)."]</b> "; 
else echo " <a href=$PHP_SELF?fenleiid=$fenlei&page=$i$queryString>".($i+1)."</a> "; 

if($endpage<$pages) 
echo "<b><a href=$PHP_SELF?fenleiid=$fenlei&page=".($page+$shownum*2)."$queryString>?</a></b> ... "; 
if($page<$pages) 
echo "<a href=$PHP_SELF?fenleiid=$fenlei&page=$pages$queryString>尾页</a& amp; gt;"; 

?> 
2)两个调用 
第一个 
<?php 
$sql="select * from liuyan order by ly_id desc"; 
genpage($sql); //只需要正常代码加上这一行就ok。 
$conn=mysql_query($sql,$connec); 
while($rs=mysql_fetch_array($conn)){ 
?> 
第二个 
<?php 

?> 
<?php 
showpage(); //显示页 
?> 
<?php 
mysql_close(); 
?> 

4、服务器端包含 
<?php require_once('conn.php'); ?> 

5、如何将一条记录写入数据库,然后提示并跳转页面 
<?php 
$ly_title=$_POST["ly_title"]; 
$ly_content=$_POST["ly_content"]; 
$ly_time=$_POST["ly_time"]; 
$ly_author=$_POST["ly_author"]; 
$ly_email=$_POST["ly_email"]; 
$sql="insert into liuyan(ly_title,ly_content,ly_time,ly_author,ly_email) values('".$ly_title."','".$ly_content."','".$ly_time."','".$ly_author."','".$ly_email."')"; 
mysql_query($sql,$connec); 
echo("<script type='text/javascript'> alert('添加成功!');location.href='index.php';</script>"); 
?> 

6、 弹出对话框,并发生页面跳转 
<?php 
echo("<script type='text/javascript'> alert('添加成功!');location.href='index.php';</script>"); 
?> 

7、 信息查看页面(有条件读取数据库) 
1)有条件读取数据库 
<?php 
$sql="select * from liuyan where ly_id=$_GET[id]"; 
$conn=mysql_query($sql,$connec); 
$rs=mysql_fetch_array($conn); 
?> 
2) 将某个字段输出 
<?=$rs[ly_title]?> 
3)关闭数据库 
<?php 
mysql_close(); 
?> 

8、对数据库中某一条记录进行更新操作,并作提示跳转 
<?php 
$ly_title=$_POST["ly_title"]; 
$ly_content=$_POST["ly_content"]; 
$ly_time=$_POST["ly_time"]; 
$ly_author=$_POST["ly_author"]; 
$ly_email=$_POST["ly_email"]; 
$sql="update liuyan set ly_title='$ly_title',ly_content='$ly_content',ly_time='$ly_time',ly_author='$ly_author',ly_email='$ly_email' where ly_id=$_GET[id]"; 
mysql_query($sql,$connec); 
echo("<script type='text/javascript'> alert('更新成功!');location.href='../index.php';</script>"); 
?> 

9、 如何删除数据库中的一条记录 
<?php 
$sql="delete from liuyan where ly_id=$_GET[id]"; 
mysql_query($sql,$connec); 
echo("<script type='text/javascript'> alert('删除成功!');location.href='../index.php';</script>"); 
?> 

10、 如何进行会员登录验证 
<?php 
session_start(); 
$username=$_POST["username"]; 
$password=$_POST["password"]; 
$sql="select * from admin where username='".$username."' && password='".$password."'"; 
$result=mysql_query($sql,$connec); 
if($row=mysql_fetch_array($result)){ 
session_register("admin"); 
$admin=$username; 
echo("<script type='text/javascript'> alert('登录成功!');location.href='admin.php';</script>");} 
else 

echo("<script type='text/javascript'> alert('你输入的用户名或密码错误,请重新输入!');location.href='login.php';</script& gt;"); 

mysql_close(); 
?> 

11、如何对SESSION进行检验(后台检查页面的制作) 
<?php 
session_start(); 
if(!isset($_SESSION["admin"])){ 
header("location:login.php"); 
exit; 

?> 

12、 验证用户名及密码是否填写(javascript) 
<SCRIPT language=javascript> 
<!-- 
function confirmlogin() 

if (document.frmmain.username.value.length<4 || document.frmmain.username.value=="") 

document.frmmain.username.focus(); 
document.frmmain.username.select; 
window.alert("请输入你的用户名!"); 
return false; 

if (document.frmmain.password.value.length<4) 

document.frmmain.password.focus(); 
document.frmmain.password.select; 
window.alert("请输入你的密码!"); 
return false; 

return true; 

//--> 
</SCRIPT> 

13、 在PHP中调用编辑器的方法 
1)将编辑器文件夹放置后台管理文件夹内。 
2)利用以下语句进行引入操作。 
<input name="content" type="hidden" value=''> 
<IFRAME ID="eWebEditor1" src="eWebEditorPHP38/ewebeditor.htm?id=content&style=coolblue" frameborder="0" scrolling="no" width="550" height="350"></IFRAME> 
注:eWebEditorPHP38编辑器文件夹的名称。 
id=content中content为上面隐藏域的名称 

14、循环输出(能够实现分列) 
1)首先插入一行一列表格 
<?php 
$i=1; 
?> 
<table> 
<tr> 
<?php 
while($rs=mysql_fetch_array($conn)){ 
?> 
<td> 
被循环的其它表格和输出 
</td> 
<?php 
if ($i % 2==0) { 
echo "</tr><tr>"; 

$i++; 

?> 
</tr> 
</table> 

15、 给下拉列表框绑定数据(并且在修改时默认选中) 
<select name="fenleiid"> 
<?php 
$sql="select * from fenleibiao"; 
$conn=mysql_query($sql,$connec); 
while($rs1=mysql_fetch_array($conn)){ 
?> 
<option value="<?=$rs1["fenleiid"]?>" 
<? 
if ($rs["fenleiid"]==$rs1["fenleiid"]){ 
echo "selected" ; 

?>> 
<?=$rs1["flname"]?> 
</option> 
<?php> 

?> 
</select> 

16、获取字符长度函数 
strlen($c)>12 

17、 定义一个字符截取函数 
用法:<?=substrgb($rs["title"],10)?> 
function substrgb($in,$num){ 
$pos=0; 
$out=""; 
while($c=substr($in,$pos,1)){ 
if($c=="\n") break; 
if(ord($c)>128){ 
$out.=$c; 
$pos++; 
$c=substr($in,$pos,1); 

$out.=$c; 
}else{ 
$out.=$c; 

$pos++; 
if($pos>=$num) break; 

if($out!=$in) $out = $out . "..."; 
return $out; 


18、判断是否是数字 
!is_numeric(qq) 

19、PHP技术中获取当前日期 
$ptime=date("y-m-d"); 

20、用户注册时所使用的PHP验证程序 
if ($admin=="" or (strlen($admin)>16) or (strlen($admin)<2)) { 
echo "<SCRIPT language=JavaScript>alert('请输入用户名(不能大于16小于2)');"; 
echo"this.location.href='vbscript:history.back()';</SCRIPT>"; 

if ($password=="" or strlen($password)>16 or strlen($password)<6) { 
echo "<SCRIPT language=JavaScript>alert('密码长度为6-16个字符');"; 
echo"this.location.href='vbscript:history.back()';</SCRIPT>"; 

if ($password=="") { 
echo "<SCRIPT language=JavaScript>alert('确认密码不能为空');"; 
echo"this.location.href='vbscript:history.back()';</SCRIPT>"; 
}else{ 
if ($password!=$password1) { 
echo "<SCRIPT language=JavaScript>alert('密码和确认密码不一致');"; 
echo"this.location.href='vbscript:history.back()';</SCRIPT>"; 


if ($wt="") { 
echo "<SCRIPT language=JavaScript>alert('密码问题不能为空');"; 
echo"this.location.href='vbscript:history.back()';</SCRIPT>"; 

if ($da="") { 
echo "<SCRIPT language=JavaScript>alert('问题答案不能为空');"; 
echo"this.location.href='vbscript:history.back()';</SCRIPT>"; 


if ($qq!="") { 
if (!is_numeric($qq)) { 
echo "<SCRIPT language=JavaScript>alert('QQ号码必须是数字');"; 
echo"this.location.href='vbscript:history.back()';</SCRIPT>"; 


if ($youbian=="" or strlen($youbian)!=6) { 
echo "<SCRIPT language=JavaScript>alert('请正确输入邮编');"; 
echo"this.location.href='vbscript:history.back()';</SCRIPT>"; 

if ($youbian!="") { 
if (!is_numeric($youbian)) { 
echo "<SCRIPT language=JavaScript>alert('邮编必须是数字');"; 
echo"this.location.href='vbscript:history.back()';</SCRIPT>"; 


if ($dizhi="") { 
echo "<SCRIPT language=JavaScript>alert('住址不能为空');"; 
echo"this.location.href='vbscript:history.back()';</SCRIPT>"; 

if ($mail=="") { 
echo "<SCRIPT language=JavaScript>alert('E-mail不能为空!');"; 
echo "this.location.href='vbscript:history.back()';</SCRIPT>"; 

if ($textarea=="") { 
echo "<SCRIPT language=JavaScript>alert('个人说明不能为空!');"; 
echo "this.location.href='vbscript:history.back()';</SCRIPT>"; 

if ($textarea=="" or strlen(textarea)>150) { 
echo "<SCRIPT language=JavaScript>alert('个人说明为150个字符');"; 
echo"this.location.href='vbscript:history.back()';</SCRIPT>"; 


24、对输出的内容进行判断,从而输出其它结果 
<?php 
if ($rs["active"]==1) { 
echo "<font color='#ff0000'>激活</font>"; 
}else{ 
echo "禁用"; 

?> 

25.字符截取函数 
<?=substr("$rs[zixun_biaoti]",0,28)?> 

26.男女问题或单选带选择的 
<input type="radio" name="hy_zhuangtai" value="男" <?php if ($rs["hy_zhungtai"]==="男") { echo "checked";}?>>男 
<input type="radio" name="hy_zhuangtai" value="女" <?php if ($rs["hy_zhuangtai"]==="女") { echo "checked";}?>>女 

27.单选不带单选框的 
<?php if ($rs['hy_zhuangtai']=='锁定'){?> 
<a href="Userzt.php?action=yes&id=<?php echo $rs['hy_id'];?>">锁定</a> 
<?php } 
else{?> 
<a href="Userzt.php?id=<?php echo $rs['hy_id'];?>&action=no">解锁</a> 
<?php }?> 
它的 save页是 
<?php require_once('http://www.cnblogs.com/conn.php'); ?> 
<?php 
$hy_id=$_GET['id']; 
$action=$_GET['action']; 
if ($action=='yes'){ 
$sql="update hybiao set hy_zhuangtai='锁定' where hy_id='$id'"; 
$query=mysql_query($sql,$connec); 
echo("<script type='text/javascript'>location.href='UserManage.php';</script>"); 

else{ 
$sql="update hybiao set hy_zhuangtai='正常' where hy_id='$id'"; 
$query=mysql_query($sql,$connec); 
echo("<script type='text/javascript'>location.href='UserManage.php';</script>"); 

mysql_close(); 
?> 

28. 如果文字过长,则将过长的部分变成省略号显示 
<DIV STYLE="width: 120px; height: 50px; border: 0px solid blue;overflow: hidden; text-overflow:ellipsis"> 
<NOBR> 就是比如有一行文字,很长,表格内一行显示不下.</NOBR> 
</DIV> 

29. 
禁止复制,鼠标拖动选取 
<body ondragstart=window.event.returnValue=false oncontextmenu=window.event.returnValue=false onselectstart=event.returnValue=false> 
30.大 中 小 文字的变化 
<script type="text/javascript"> 
function doZoom(size) 
{document.getElementById('zoom').style.fontSize=size+'px';} 
</script> 
<span id="zoom">需要指定大小的文字</span> 
<a href="javascript:doZoom(16)">大</a> <a href="javascript:doZoom(14)">中</a> <a href="javascript:doZoom(12)">小</a> 

30.添加到收藏夹和设为首页 
<a href=# onclick="this.style.behavior='url(#default#homepage)'; this.setHomePage('http://www.makewing.com/lanren/');">设为首页</a> 
<a href="javascript:window.external.AddFavorite('http://www.makewing.com /lanren/','懒人图库')">收藏本站</a> 

31.记录并显示网页的最后修改时间 
<script language=JavaScript> 
document.write("最后更新时间: " + document.lastModified + "") 
</script> 

32.节日倒计时 
<Script Language="JavaScript"> 
   var timedate= new Date("October 1,2002"); 
   var times= "国庆节"; 
   var now = new Date(); 
   var date = timedate.getTime() - now.getTime(); 
   var time = Math.floor(date / (1000 * 60 * 60 * 24)); 
   if (time >= 0) 
   document.write( "现在离"+times+"还有: "+time +"天") 
</Script> 

33.打开窗口即最大化 
<script language="JavaScript"> 
<!-- Begin 
self.moveTo(0,0) 
self.resizeTo(screen.availWidth,screen.availHeight) 
// End --> 
</script> 

34.加入背景音乐 
<bgsound src="mid/windblue[1].mid" loop="-1"> 只适用于IE 
<embed src="music.mid" autostart="true" loop="true" hidden="true"> 对Netscape ,IE 都适用 

35.滚动 
<marquee direction=up height=146 onmouseout=start() onmouseover=stop() scrollAmount=2> 
滚动信息 
</marquee> 

36.防止点击空链接时,页面往往重置到页首端 
代码“javascript:void(null)”代替原来的“#”标记 

37.不能点右键,不用CTRL+A,不能复制作! 
<body oncontextmenu="window.event.returnValue=false" 
onkeypress="window.event.returnValue=false" 
onkeydown="window.event.returnValue=false" 
onkeyup="window.event.returnValue=false" 
ondragstart="window.event.returnValue=false" 
onselectstart="event.returnValue=false"> 
</body> 

37.随机变换背景图象(一个可以刷新心情的特效) 
<Script Language="JavaScript"> 
   image = new Array(4); //定义image为图片数量的数组 
   image [0] = 'tu0.gif' //背景图象的路径 
   image [1] = 'tu1.gif' 
   image [2] = 'tu2.gif' 
   image [3] = 'tu3.gif' 
   image [4] = 'tu4.gif' 
   number = Math.floor(Math.random() * image.length); 
   document.write("<BODY BACKGROUND="+image[number]+">"); 
</Script> 

38.划过链接 手型鼠标 
style="cursor:hand" 

39.如何关闭层 
<div id="Layer1"></div> 
<a href="#" onClick="Layer1.style.display='none'">关闭层</a> 

40.<a href=javascript:close()>[关闭窗口]</a> 

41.凹陷文字背景为灰色 
<div style="width:300px;padding:20px;overflow:hidden;word-wrap:break-word;word-break:break:all; font-size:12px; line-height:18px; background-color:#eeeeee;"> 
<font disabled> 
怎么样,我凹下去了吧?<br> 
你不想试试吗?<br> 
<a href="www.lenvo.cnhttp://www.lenvo.cn/">www.lenvo.cn</a></font> 
</div> 

42.给表格做链接 
<table width="100%" onclick="window.open('http://www.makewing.com/', '_blank')" style="CURSOR:hand"> 
<tr> 
<td height="100" bgcolor="f4f4f4"> </td> 
</tr> 
</table> 

43.后退&关闭窗口 
后退:javascript:history.back(1) 
关闭:javascript:window.close(); 

44.如果文字过长,则将过长的部分变成省略号显示 
<DIV STYLE="width: 120px; height: 50px; border: 0px solid blue;overflow: hidden; text-overflow:ellipsis"> 
<NOBR>就是比如有一行文字,很长,表格内一行显示不下.</NOBR> 
</DIV> 

45.禁止复制,鼠标拖动选取 
<body ondragstart=window.event.returnValue=false oncontextmenu=window.event.returnValue=false onselectstart=event.returnValue=false>

=========================================

46、查找Longitudes与Latitudes之间的距离

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) {  
    $theta = $longitude1 - $longitude2;  
    $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));  
    $miles = acos($miles);  
    $miles = rad2deg($miles);  
    $miles = $miles * 60 * 1.1515;  
    $feet = $miles * 5280;  
    $yards = $feet / 3;  
    $kilometers = $miles * 1.609344;  
    $meters = $kilometers * 1000;  
    return compact('miles','feet','yards','kilometers','meters');   
}  
  
$point1 = array('lat' => 40.770623, 'long' => -73.964367);  
$point2 = array('lat' => 40.758224, 'long' => -73.917404);  
$distance = getDistanceBetweenPointsNew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']);  
foreach ($distance as $unit => $value) {  
    echo $unit.': '.number_format($value,4).'  
';  
}  
  
The example returns the following:  
  
miles: 2.6025  
feet: 13,741.4350  
yards: 4,580.4783  
kilometers: 4.1884  
meters: 4,188.3894

47、完善cURL功能

function xcurl($url,$ref=null,$post=array(),$ua="Mozilla/5.0 (X11; Linux x86_64; rv:2.2a1pre) Gecko/20110324 Firefox/4.2a1pre",$print=false) {  
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);  
    if(!empty($ref)) {  
        curl_setopt($ch, CURLOPT_REFERER, $ref);  
    }  
    curl_setopt($ch, CURLOPT_URL, $url);  
    curl_setopt($ch, CURLOPT_HEADER, 0);  
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    if(!empty($ua)) {  
        curl_setopt($ch, CURLOPT_USERAGENT, $ua);  
    }  
    if(count($post) > 0){  
        curl_setopt($ch, CURLOPT_POST, 1);  
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);      
    }  
    $output = curl_exec($ch);  
    curl_close($ch);  
    if($print) {  
        print($output);  
    } else {  
        return $output;  
    }  
}


TAG: PHP