http — В ответе php говорится, что мое поле электронной почты пустое: Ionic

Здесь я пытаюсь отправить данные из моего ионного приложения в php скрипт. Когда я регистрирую свои входные данные в ионном режиме, это показывает, что значение передано. Но я просто не понимаю, где я иду не так. Моя ошибка может быть глупой, но я пытался исправить ошибку почти 2 дня, но не нашел решения.

Это мой забыл.html

<ion-header>

<ion-navbar>
<ion-title>Forgot Password - 1/2</ion-title>
</ion-navbar>

</ion-header>


<ion-content padding>
<ion-list>
<ion-item>
<ion-input type="text" placeholder = "Email" [(ngModel)]= "forgotData.email"></ion-input>
</ion-item>
</ion-list>
<button ion-button color = "dark" round outline (click)="forgotPassword()">Verify</button>
</ion-content>

forgotone.ts

export class ForgotonePage {
responseData:any;
forgotData = {"email":""}
constructor(public navCtrl: NavController, public navParams: NavParams,private toastCtrl: ToastController, public authService:AuthServiceProvider) {
}

forgotPassword(){
console.log("Input",this.forgotData)
this.authService.postData(this.forgotData, "filename.php").then((result) =>{
this.responseData = result;
console.log("Reponse error",this.responseData);
if(this.forgotData.email ==""){
let toast = this.toastCtrl.create({
message: 'Empty Fields!!',
duration: 3000,
position: 'top'
});

toast.onDidDismiss(() => {
console.log('Dismissed toast');
});

toast.present();
}else if(this.responseData == "Otp Not Sent"){
let toast = this.toastCtrl.create({
message: 'OTP not sent',
duration: 3000,
position: 'top'
});

toast.onDidDismiss(() => {
console.log('Dismissed toast');
});

toast.present();
}else if(this.responseData == "Email doesnt exist"){
let toast = this.toastCtrl.create({
message: 'Email does not exist!',
duration: 3000,
position: 'top'
});

toast.onDidDismiss(() => {
console.log('Dismissed toast');
});

toast.present();
}else if(this.responseData.email==this.forgotData.email){
localStorage.setItem('forgotData',JSON.stringify(this.responseData));
this.navCtrl.setRoot(ForgottwoPage);
let toast = this.toastCtrl.create({
message: 'Please Check your email for OTP!',
duration: 3000,
position: 'bottom'
});

toast.onDidDismiss(() => {
console.log('Dismissed toast');
});

toast.present();
}else{
let toast = this.toastCtrl.create({
message: 'Invalid!',
duration: 3000,
position: 'bottom'
});

toast.onDidDismiss(() => {
console.log('Dismissed toast');
});

toast.present();
}


}, (err) =>{

});
}

ionViewDidLoad() {
console.log('ionViewDidLoad ForgotonePage');
}

}

Auth-service.php

let apiUrl = "http://urlname/foldername/";

@Injectable()
export class AuthServiceProvider {

constructor(public http: Http) {
console.log('Hello AuthServiceProvider Provider');
}
postData(credentials,type){

return new Promise((resolve, reject) => {
let headers = new Headers();
this.http.post(apiUrl+type,JSON.stringify(credentials),{headers: headers})
.subscribe(res =>{
resolve(res.json());
}, (err) =>{
reject(err);
});
});

}

}

php файл

<?php
require "dbconnect.php";

if (isset($_SERVER['HTTP_ORIGIN'])) {

header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");

header('Access-Control-Allow-Credentials: true');

header('Access-Control-Max-Age: 86400');    // cache for 1 day

}

// Access-Control headers are received during OPTIONS requests

if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))

header('Access-Control-Allow-Methods: GET, POST, OPTIONS');



if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))

header("Access-Control-Allow-Headers:        {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

exit(0);

}
$objData = json_decode($data);

$email = $_POST['email'];



$sql = "select * from user where u_email ='$email'";

$result = mysqli_query($con,$sql);

$response = array();
$rows = mysqli_fetch_assoc($result);
if($rows>0)
{
$token = uniqid();
$q = "update user set token = '$token' where u_email ='$email'";
$resultq = mysqli_query($con,$q);
if($resultq){
$to = $email;
$subject = 'Password Reset';
$body = "Token for reset password ".$token;
$headers = "From: - Admin";

if(mail($to,$subject,$body,$headers)){
$message = "Otp Sent";
$response = ['email' => $email];
print_r( '{"forgotData": '.json_encode($response).'}');
}else{
$message = "Otp Not Sent";
//$response = ['Message' =>$message];
print_r(json_encode($message));
}

}
}
else
{
$message = "Email doesnt exist";
//$response = ['Message' => $message];
print_r(json_encode($message));

}
?>

Проблема в том, что когда я отправляю письмо в php-файл, он всегда дает мне ответ: «Электронная почта не существует». У почтальона это работает как шарм. Я борюсь, и я начинающий в ионной и обучения. Мне нужны правильные указания.

0

Решение

Привет, я нашел ответ сам.

Я просто должен был напечатать это в моем сценарии php.

$data = file_get_contents("php://input");

if(isset($data)){

$objData = json_decode($data);

$email = $objData->email;
}

Думаю, я поделюсь с вами решением

Благодарю.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]