初学php的一点点心得

来源:互联网 发布:seo查收录代码 编辑:程序博客网 时间:2024/05/16 11:19

真的是初学,以前都没有用过php的。今天因为要访问一个别人传过来的php文件,所以就自己试了一把。可能入门的级别也不到,不过也是有一点点心得的。

1.使用初衷

刚开始别人传给我一个test.php文件,我无法用浏览器打开,总是变为下载的提示框,后来就决定还是配个环境吧。

 

2.安装

Google了一相关的环境搭建,发现很多都是apache+php+mysql的组合,我只是简单访问一个页面,所以下载了apache_2.2.4-win32-x86-no_ssl.zip和php-5.2.9-2-win32-installer.zip.

先安装apache,安装过程中需要注意的是端口,需要保证使用的端口没有冲突。例如如果已经安装过tomcat等服务器的话,局不要再使用8080等tomcat的常用端口。当然取决于你的tomcat等服务器的端口是什么,只要保证不要和他们冲突就好。

我在安装的时候写的是80端口,因为我的机子上安装过tomcat已经用了8080端口。但后来启动的时候报了一个The requested operation has failed!错误,就想有可能是和其他的端口号冲突了,所以在D:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf中修改端口为81,即把文件中的Listen 80改为Listen 81。再使用就好了。

再安装php。安装的时候使用的是php-5.2.9-2-win32-installer.zip即通过exe文件安装,安装过程中配置服务器为相应的apache路径。

apache_2.2.4-win32-x86-no_ssl.zip是一个解压缩就可以使用的php安装包。使用这个包的话可能需要自己手动配置。具体配置方法可以去其他网络寻找一下。

 

3.配置

可能是因为我使用的是安装方式安装的程序,不需要手动再配置环境变量,而是已经自动配置好了。

 

4.在目录D:/Program Files/Apache Software Foundation/Apache2.2/htdocs/下就可以放置自己的php文件。具体路径依照自己的安装目录而定,记得是在htdocs下部署自己的项目。

 

5.第一个php页面    Hello.php

<html>
 <head>
    <title>Hello world!</title>
 </head>
 <body>
    <?php echo 'Hello,world!';   
    phpinfo();
    ?>

 </body>
</html>

 

6.我的项目

我做的是一个工具查询页面,包括了站点查询,线路查询,公交换乘,途径站点车次查询。文件testBus.php代码如下:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>公交查询</title>
<style type="text/css">
<!--
.STYLE3 {font-size: 36px}
body {
 background-color: #CCFFFF;
}
body,td,th {
 color: #0000FF;
}
-->
</style>
</head>

<body>
<span class="STYLE3">北京</span>
<tr><td width="1013" height="98"><br />
    <label></label>
        <br />
        <label></label>
        <br />
        <label></label></td>
</tr>
    <tr>
      <td height="110">
  

<form id="formSn" name="formSn" method="post" action="">
  <p>站点查询
  <input type="hidden" name="busfunRadio" value="sn" />
       <input type="text" name="station" />

      <input name="Submit2" type="submit" value="提交" />
  </p>
</form>

   <form id="formLine" name="formLine" method="post" action="">
<input type="hidden" name="busfunRadio" value="p" />
线路查询
          <input type="text" name="line" />
          路
          <input name="Submit4" type="submit" value="提交" />
     </form>
   <form id="formTrans" name="formTrans" method="post" action="">
<input type="hidden" name="busfunRadio" value="p2p" />
公交换乘     
       起点:
        <input type="text" name="start"  />
        终点:
        <input type="text" name="end" />
    

        <label></label><label></label>
        <input name="Submit" type="submit" value="提交" />
        <label> </label>
<p>
        <label></label>
          <label></label>
</p>
   </form>
   <form id="formS_line" name="formS_line" method="post" action="">
     途径站点车次
        <input type="hidden" name="busfunRadio" value="pp" />
        <input type="text" name="s_line" />
        <input name="Submit3" type="submit" value="提交" />

         </form>
      <p>&nbsp;
<?php
$time=file_get_contents("http://.../openapi.php?k=t");
$secret="5aaa17de0648b815efb6";
$se=md5($secret.substr($time,2,4));
function busTrans($startName, $endName){
 global $time, $se;
 $url="http://.../openapi.php?format=php&k=p2p&t=$time&cityid=6&arg=$startName&arg2=$endName";
 // echo "<br><br>".$url."<br><br><br>";
 $con=file_get_contents($url);
 $obj=json_decode($con);
 // print_r($obj);
 echo "<br><br>";
 if($obj == null){
  //  echo "请输入正确的公交站点名称1。","<br>";
 }else{
  echo "从/"".$startName."/"到/"".$endName."/"的换乘方式有:"."<br><br>";
  for($i=0;$i<count($obj);$i++)
   echo $obj[$i],"<br>";
 }
}

$busfunRadio=$_POST["busfunRadio"];
$station=$_POST["station"];
$s_line=$_POST["s_line"];
$line=$_POST["line"]."路";
$start=$_POST["start"];
$end=$_POST["end"];
if($busfunRadio == "sn"){//公交查询
 $url="http://.../openapi.php?format=php&k=sn&cityid=6&arg=$station&t=$time";
 // echo "<br><br>".$url."<br><br><br>";
 $con=file_get_contents($url);
 $obj=json_decode($con);
 // print_r($obj);
 echo "<br><br>";
 if($obj == null){
  echo "没有查询到合适的结果。"."<br>";
 }else{
  echo "您查询的/"".$station."/"的结果有:"."<br>";
  for($i=0;$i<count($obj);$i++)
   echo $obj[$i],"<br>";
 }
}


if($busfunRadio == "p"){//车次查询
 $url="http://.../openapi.php?format=php&k=p&cityid=6&arg=$line&t=$time";
 // echo "<br><br>".$url."<br><br><br>";
 $con=file_get_contents($url);
 $obj=json_decode($con);
 // print_r($obj);
 echo "<br><br>";
 ///*
 if($obj == null){
  echo "没有查询到合适的结果。"."<br><br>";
 }else{
  if($obj->id !=null){
   echo "车次名称: ".$obj->id."<br><br>";
   if($obj->type !=null)
    echo "线路类型: ".$obj->type."<br><br>";
   if($obj->time !=null)
    echo "发出时间区间: ".$obj->time."<br><br>";
   if($obj->price !=null)
    echo "票价: ".$obj->price."<br><br>";
   if($obj->corporation !=null)
    echo "公司: ".$obj->corporation."<br><br>";
   if($obj->update_time !=null)
    echo "线路最后更新时间: ".$obj->update_time."<br><br>";
   if($obj->up_line !=null)
    echo "上行站点名称: ".$obj->up_line."<br><br>";
   if($obj->down_line !=null)
    echo "下行站点名称: ".$obj->down_line."<br><br>";
  }else{
   echo "通过/"".$s_line."/"查询到的车次有:"."<br><br>";
   for($i=0;$i<count($obj);$i++)
    echo $obj[$i]."<br>";
  }
 }
 
 
 
 //*/
}
if($busfunRadio == "p2p"){
  //得到起点站点序列
  $objStart="http://.../openapi.php?format=php&k=sn&cityid=6&arg=$start&t=$time";
  $conStart=file_get_contents($objStart);
  $objStart=json_decode($conStart); 
  //得到终点站点序列
  $urlEnd="http://.../openapi.php?format=php&k=sn&cityid=6&arg=$end&t=$time";
  $conEnd=file_get_contents($urlEnd);
  $objEnd=json_decode($conEnd);
 
 
 
 //排列组合进行查找显示
 if($objStart == null || $objEnd == null){
  echo "请输入正确的公交站点名称","<br>";
 }else{
  for($i=0;$i<3;$i++){
   for($j=0;$j<3;$j++){
    if($objStart[$i] != null && $objEnd[$j] != null){
     //     echo $objStart[$i]."    ".$objEnd[$j]."<br><br>";
     busTrans($objStart[$i], $objEnd[$j]); 
    }
   }
  }
  
 }  
}

if($busfunRadio == "pp"){//途径某站点的车次
 $url="http://.../openapi.php?secret=$se&format=php&k=pp&cityid=6&arg=$s_line&t=$time";
  echo "<br><br>".$url."<br><br><br>";
 $con=file_get_contents($url);
 $obj=json_decode($con);
 // print_r($obj);
 echo "<br><br>";
 if($obj == null){
  echo "请输入正确的公交站点名称。"."<br>";
 }else{
  echo "经过站点/"".$s_line."/"的线路有:"."<br>";
  for($i=0;$i<count($obj);$i++)
   echo $obj[$i],"<br>";
 }
}
?>
</p>
</body>
</html>

7.运行

将文件放入D:/Program Files/Apache Software Foundation/Apache2.2/htdocs/test/下

浏览器中输入http//localhost:81/test/testBus.php,即可访问到页面。里面的url为非真实url。如果换了真的就可以用了。

8.其他

编写过程中时常会报500内部错误。全部都是因为自己的代码有问题的原因。

开发工具我使用的是dreamwearver + eclipse.

比较郁闷的是装了好久eclipse的php插件都不好用,我也就只当一般的文本编辑器用了。dreamweaver可以用来进行静态页面的设计。两个结合起来用还可以了。