利用Xampp(or Mamp)搭建一個基本的本地網(wǎng)站

前言:

因為基本沒有正式進(jìn)行前后端的工作,或者說做過的都是類似于calfbbs之類的開源項目簡單的再開發(fā),對于底層的東西不太清楚。

主要應(yīng)用:

MySQL+PHP+HTML

  1. 完成本地集成環(huán)境的基本安裝和配置(修改相應(yīng)端口和mysql初始配置)
  2. 為了方便起見,直接替換htdocs全文件;當(dāng)然也可以修改apache中配置,修改默認(rèn)目錄
  3. mysql初始化,修改配置文件pma的密碼設(shè)置,防止phpmyadmin打開時報錯
  4. 初始化mysql中的root密碼(最好),默認(rèn)密碼為空
  5. 有時候會出現(xiàn)mysql中user表損壞需要修復(fù),如果還不成功建議直接刪除重裝

前端:最簡單那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>的原因只是為了更好地體現(xiàn)利用php在數(shù)據(jù)庫查詢之后,查詢結(jié)果并反饋給前端頁面,而不是直接用php進(jìn)行的echo操作;

后端:利用php實現(xiàn)對于數(shù)據(jù)庫訪問,并將查詢結(jié)果反饋到前端。

<?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連接數(shù)據(jù)庫的操作上有所變化,php5的mysql_connect參數(shù)有所變化,php5不需要指定數(shù)據(jù)庫即DB參數(shù);php7中需要mysqli_connect的四個參數(shù);host為i訪問的p地址。如果使用xampp或者mamp的集成環(huán)境,那么host地址就是127.0.0.1(localhost測試沒有問題)

關(guān)于Xampp和Mamp的JQuery的使用

如果初始化安裝的xampp或者mamp的話,需要在htdocs文件中放入jquery-3.2.1.min.js文件,具體使用什么版本,自行決定。目前看起來最新的xampp和mamp使用3.2.1版本的都沒有問題;

注意事項:

1.目錄結(jié)構(gòu)

? -htdocs

? --find.php

? --index.html

? --jquery-3.2.1.min.js

2.可能會出現(xiàn)的問題

在windows的xampp環(huán)境下出現(xiàn)過php報錯的情況,解決方案是將php7.dll文件復(fù)制到系統(tǒng)的window/system32目錄下,問題解決。

MAMP環(huán)境正常運行沒有問題。

PHP連接MySQL錯誤:Call to undefined function mysql_connect()
在配置php.ini中

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

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

3.關(guān)于文件的命名

index.html隨便起了名,不過index的html在配置文件中有沒有優(yōu)先級不知道,按照這種命名方式肯定是可以登陸的。如有其他命名修改優(yōu)先級;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容