利用Xampp(or Mamp)搭建一个基本的本地网站

前言:

因为基本没有正式进行前后端的工作,或者说做过的都是类似于calfbbs之类的开源项目简单的再开发,对于底层的东西不太清楚。

主要应用:

MySQL+PHP+HTML

  1. 完成本地集成环境的基本安装和配置(修改相应端口和mysql初始配置)
  2. 为了方便起见,直接替换htdocs全文件;当然也可以修改apache中配置,修改默认目录
  3. mysql初始化,修改配置文件pma的密码设置,防止phpmyadmin打开时报错
  4. 初始化mysql中的root密码(最好),默认密码为空
  5. 有时候会出现mysql中user表损坏需要修复,如果还不成功建议直接删除重装

前端:最简单那html页面,完成form填写和反馈,利用jQuery的 ajax完成异步查询

<html> 
<head> 
<title>Welcome!</title> 
</head> 
 
<body> 
<h1>Search our Phone Directory</h1> 
    <form id="searchform" method="post"> 
<div> 
    <label for="search_term">Search name phone</label>
    <input type="text" name="search_term" id="search_term"><br/>
    Account_name:   <input type="text" name="Account_name" id="name"/>
    <div id="result"> the result!</div>
    Account_passwd: <input type="text" name="Account_passwd" id="passwd"/><br/>
    <input type="submit" value="search" id="search_button" />
</div> 
    </form> 
    <div id="search_results"></div> 
</body> 
</html>


<script src="./jquery-3.2.1.min.js"></script>
<script type='text/javascript'>

$(document).ready(function(){ 
    $("#search_results").slideUp();

    $("#search_button").click(function(e){ 
        e.preventDefault(); 
        ajax_search(); 
    });

    $("#search_term").keyup(function(e){ 
        e.preventDefault(); 
        ajax_search(); 
    }); 
 
});

function ajax_search(){ 
  $("#search_results").show();
  var search_val=$("#search_term").val();

  var names=document.getElementById("name").value;
  var passwds=document.getElementById("passwd").value;
  // var searchform = document.getElementById('searchform');
    //

  function my$(id) {
        return document.getElementById(id);
   };

  $.post("./find.php", {search_term : search_val,name :names,passwd:passwds}, function(data){
   if (data.length>0){
       // $("#name").html(data);
     $("#search_results").html(data);
     my$("result").innerText = data;
   } 
  })

}
</script>

使用这个<div id="result"> the result!</div>的原因只是为了更好地体现利用php在数据库查询之后,查询结果并反馈给前端页面,而不是直接用php进行的echo操作;

后端:利用php实现对于数据库访问,并将查询结果反馈到前端。

<?php
define(HOST, "localhost");
define(USER, "root");
define(PW, "123");
define(DB, "calfbbs");

//echo "start search----1";
$connect = mysqli_connect(HOST,USER,PW,DB)
or die('Could not connect to mysql server.' );
 
//mysql_select_db(DB, $connect)
//or die('Could not select database.');

//$term = strip_tags(substr($_POST['search_term'],0, 100));
//$term = mysqli_escape_string($term);
$name = $_POST['name'];
$passwd = $_POST['passwd'];
$sql = "select * from calf_consumer where consumer_id='$name' and consumer_name='$passwd'";
//$sql = "show tables";

//echo "start search";
$result = mysqli_query($connect,$sql);

//echo $result;
$string ='';
//echo "start search";

if (mysqli_num_rows($result) > 0){
  while($row = mysqli_fetch_object($result)){
    $string .= "<b>".$row->consumer_id."</b> - ";
    $string .= $row->consumer_name."</a>";
    $string .= "<br/>\n";
  }
 
}else{
//  echo "<script>alert(\"No matches!\");location.href='index.html?a=sdsdf&b=dsfs'</script>";
  $string = "No matches!";
}

//echo "<script>alert($string);location.href='index.html'</script>";
echo $string;
//$string = $_POST["email"];
mysqli_close($connect);
?>

php中直接定义变量;

define(HOST, "localhost");
define(USER, "root");
define(PW, "123");
define(DB, "calfbbs");

php7在php5连接数据库的操作上有所变化,php5的mysql_connect参数有所变化,php5不需要指定数据库即DB参数;php7中需要mysqli_connect的四个参数;host为i访问的p地址。如果使用xampp或者mamp的集成环境,那么host地址就是127.0.0.1(localhost测试没有问题)

关于Xampp和Mamp的JQuery的使用

如果初始化安装的xampp或者mamp的话,需要在htdocs文件中放入jquery-3.2.1.min.js文件,具体使用什么版本,自行决定。目前看起来最新的xampp和mamp使用3.2.1版本的都没有问题;

注意事项:

1.目录结构

​ -htdocs

​ --find.php

​ --index.html

​ --jquery-3.2.1.min.js

2.可能会出现的问题

在windows的xampp环境下出现过php报错的情况,解决方案是将php7.dll文件复制到系统的window/system32目录下,问题解决。

MAMP环境正常运行没有问题。

PHP连接MySQL错误:Call to undefined function mysql_connect()
在配置php.ini中

  1. 确保extension_dir的指向含有php_mysql.dll的目录,一般是ext.

  2. 确php7ts.dll文件在C:\WINDOWS下面。

3.关于文件的命名

index.html随便起了名,不过index的html在配置文件中有没有优先级不知道,按照这种命名方式肯定是可以登陆的。如有其他命名修改优先级;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容