我已经创建了一个React项目,在我的本地实例上它正在运行,但是当我构建它并将其部署到生产环境中时,代码没有从数据库中获取数据。
我使用axios并在js文件中调用了php文件。我尝试在package.json中添加代理,但没有任何反应。
config.php
<?php
session_start();
header("access-control-allow-origin: *");
$host = "192.168.2.127:3336";
$user = "root";
$password = "welcome";
$dbname = "hi";
$id = "";
$con = mysql_connect($host,$user,$password);
$method = $_SERVER['REQUEST_METHOD'];
$request = explode('/',trim($_SERVER['PATH_INFO']));
if(!$con){
die("Connection failed: " . mysql_connect_error());
}
mysql_select_db($dbname,$con);
?>
login.php
<?php
session_start();
header("access-control-allow-origin: *");
require 'config.php';
$username = $_POST['username'];
$password = $_POST['password'];
$division = $_POST['division'];
$company = $_POST['company'];
$comp = mysql_query("SELECT comp_id FROM company WHERE comp_name =
'".addslashes($company)."'");
$comp_id = mysql_fetch_assoc($comp);
$div = mysql_query("SELECT div_id FROM division WHERE division_name =
'".addslashes($division)."' AND comp_id LIKE '.addslashes($comp_id).'");
$div_id = mysql_fetch_assoc($div);
$username = mysql_query("SELECT user_name FROM users WHERE user_name =
'".addslashes($username)."'");
$user_name = mysql_fetch_assoc($username);
$userpass = mysql_query("SELECT user_name FROM users WHERE user_name =
'".addslashes($username)."' AND user_password =
PASSWORD('".$password."')");
$user_password = mysql_fetch_assoc($userpass);
$div = mysql_query("SELECT div_id FROM division WHERE division_name
'".addslashes($division)."' AND comp_id = '".$comp_id['comp_id']."'");
$div_id = mysql_fetch_array($div,MYSQL_ASSOC);
$query = mysql_query("SELECT * FROM users WHERE user_name =
'".addslashes($username)."' AND user_password = PASSWORD('".$password."')
AND comp_id = '".$comp_id['comp_id']."' AND div_id =
'".$div_id['div_id']."'");
$user = mysql_fetch_array($query,MYSQL_ASSOC);
$num = mysql_num_rows($query);
if($comp_id === '' || empty($comp_id)){
echo 'No Company';
}elseif($div_id === '' || empty($div_id)){
echo 'No Division';
}elseif($user_name === '' || empty($user_name)){
echo 'No User';
}elseif($user_password === '' || empty($user_password)){
echo 'Not Match';
}elseif($num === 1){
echo json_encode($user);
}else{
echo 'No Record';
}
?>
Login.js
handleclick = event => {
event.preventDefault();
if (this.validateForm()) {
let loginform = document.getElementById('login');
let formData = new FormData(loginform);
formData.append('username',this.state.username)
formData.append('password',this.state.password)
formData.append('company',this.state.company)
formData.append('division',this.state.division)
axios({
method: 'post',url:
this.getHostname()+'/new_vehicle_management/src/components/php/login.php',data: formData,config:
{
//headers:{'Content-Type':'multipart/form-data'
headers: {
"access-control-allow-origin": '*',"access-Control-Allow-Credentials": 'true',"access-Control-Allow-Methods":'GET,POST,PATCH,PUT,DELETE,OPTIONS',"Content-Type": "multipart/form-data",accept: "application/json"
}}
})
.then(function (response) {
if (response.data === "failed") {
alert("Connection Failed.")
}else if (response.data === "No Company") {
alert("Company does not exist.")
}else if (response.data === "No Division") {
alert("Division does not exist.")
}else if (response.data === "No User") {
alert("username does not exist.")
}else if (response.data === "Not Match") {
alert("username and Password does not match.")
}else if(response.data === "No Record"){
alert("Invalid Credentials.");
}
else{
alert("Login Successfully")
localStorage.setItem('data',JSON.stringify(response.data))
localStorage.setItem('user_id',JSON.stringify(response.data.user_id))
localStorage.setItem('user',JSON.stringify(response.data.user_full_name))
localStorage.setItem('div_id',JSON.stringify(response.data.div_id))
localStorage.setItem('comp_id',JSON.stringify(response.data.comp_id))
//window.location = "/menu"
}
})
.catch(function (response) {
//handle error
console.log(response)
});
}
}