[英]How do I call a PHP function in a separate file using Ajax but no jQuery?
[英]How do I call a PHP function using AJAX?
我正在使用XAMPP在localhost
上運行我的服務器,我想調用一個Javascript函數,它將一些數據從瀏覽器發送到PHP腳本
按下我的html頁面上的a按鈕時會調用JS函數:
function send_verification_code(){
var xhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
xhttp.open('GET','database.php?email='+email_address)
xhttp.send()
}
所以我想在$_GET
數組中添加一個鍵值對email=>email_address
,其中email_address
是一個字符串,在上面的函數中。
在上面的函數執行之后,我想立即調用另一個函數,一個PHP函數,通過調用add_email_to_be_verified
將該數據添加到我服務器上的SQL數據庫(該函數屬於我發送數據的PHP腳本):
database.php中:
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$db = "example";
$conn;
function add_email_to_be_verified(){
connect();
$sql = 'insert into emailstobeverified values(';
$sql .= $_GET['email'];
$sql .= ',';
$sql .= generate_verification_code();
$sql .= ',';
$sql .= date("Y-m-d H:i:s");
$sql .= ');';
query($sql);
disconnect();
}
function generate_verification_code(){ //generates a random 6-digit verification code
$code = mt_rand(0,999999);
$padded_code = sprintf('%06d', $code);
return $padded_code;
}
function connect(){
$conn = new mysqli($dbhost, $dbuser, $dbpass,$db) or die("Connect failed: %s\n". $conn -> error);
}
function query(sql){
$conn->query($sql);
}
function disconnect(){
$conn -> close();
}
?>
如何使用AJAX調用php函數?
您可以在database.php
頁面上檢測到get emaiAddress
時調用該函數。 例如:
if(isset($_GET['email'])){
add_email_to_be_verified($_GET['email']);
}
我還會修改你的函數以將電子郵件作為參數,但你也可以讓該函數從get中查找電子郵件。
以下是使用email參數的函數示例:
function add_email_to_be_verified($email){
connect();
$sql = 'insert into emailstobeverified values(';
$sql .= $email;
$sql .= ',';
$sql .= generate_verification_code();
$sql .= ',';
$sql .= date("Y-m-d H:i:s");
$sql .= ');';
query($sql);
disconnect();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.