html读输入,ajax传给php,php调mysql匹配,ph

2020-02-29  本文已影响0人  Julianne_zhang

html部分:

<html>
<head>
    <meta charset="UTF-8">
    <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
<input id="cardno" type="text" size="25" > 
<input id="phoneno" type="text" size="15" > 
<br>
<input  type="button" value="确定" onclick="checkCard()">
</body>

<script type="text/javascript">
function checkCard(){
   card = document.getElementById('cardno').value;
   phone = document.getElementById('phoneno').value;  //   jquery形式:  phone=$("#phoneno").val();

$.ajax({
    async:false,   // 默认是true异步;false为同步,同步的话先执行完ajax才执行后面的 
    type: 'POST',
    url: 'shi.php',   //  这里是调用的php页面的路径
    data:  {card:card,phone:phone},
    //dataType: 'json', // 注意:这里是指希望服务端返回json格式的数据
    success: function(data) { // 这里的data就是json格式的数据
        alert(data);
    },
    error: function() {
        alert("false")
    }
});

}

</script>

</html>

shi.php页面:

<?php
include("conn.php");    //  加入自己的连接文件
//$phone=trim($_POST['phone']) ; 
//$card=trim($_POST['card']) ; 

//echo "shoudao:".$phone,$card;
 
$sql=mysqli_query($conn," select phone,num from tijian where id='$card' ");
// $conn这个变量名在你自己的连接文件里哈,phone,num,id 是你数据库里的列名,tijian是表名

 if(!$sql->num_rows)
     exit("无此ID号码!");  // 库里没找到匹配信息的话返回("无此ID号码!"
 else
 {
    $row= mysqli_fetch_array($sql);
    if(trim($row[0])==$phone)   //  从库里出来的串长个心眼,最好trim一下
    {
       echo "php调用mysql库匹配成功";

  //  如果只返回成功信息的话,就到以上好了,下面是继续调用python的部分

       $params = trim($row[1]); #传递给python的参数  
     // echo "php从库里抽出的、传给python的值:".$params;
       $path="D:\Anaconda3\python hell.py ";  //需要注意的是:末尾要加一个空格,
// 而且粘回去代码的最好自己重新敲下这个空格,因网页上总有编码问题,笔者可是因为看不见的非法字符给坑过!所以这里要敲黑板!!!
       passthru($path.$params);  //等同于命令`python python.py 参数`,调用python

    }
    else { echo "匹配不成功!";  } 
  }   

?>

hell.py文件

#!D:\Anaconda3\python.exe
##-*- coding:utf-8 -*-
import codecs, sys
import json
import pymysql
sys.stdout = codecs.getwriter('utf8')(sys.stdout.buffer)   #与php的连接

params = sys.argv[1]  #即为获取到的PHP传入python的入口参数 sys.argv[0] 是hell.py文件名,
print("php传过来的值是:",params)     
##########################################################################
# 如需数据库连接的话,继续以下
# 打开数据库连接
db = pymysql.connect("数据库地址", "数据库名", "用户名", "密码", charset='utf8' )
# 使用cursor()方法获取操作游标 
cursor = db.cursor()
# SQL 查询语句 
#sql = "SELECT * FROM user1 WHERE n > %s" % (1)
sql = "SELECT * FROM tijian WHERE num =  %s" % (params)  
#以上查询语句 依据自己情况写

# 使用 fetchone() 方法获取一条数据
cursor.execute(sql)   
data = cursor.fetchone()      
print("python调用mysql后返回给php的值:",data)

db.close()
上一篇下一篇

猜你喜欢

热点阅读