password reset
This commit is contained in:
68
php/php-dog/getPwToken.php
Normal file
68
php/php-dog/getPwToken.php
Normal file
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
header("Access-Control-Allow-Origin: *");
|
||||
header("Access-Control-Allow-Headers: access");
|
||||
header("Access-Control-Allow-Methods: POST");
|
||||
header("Content-Type: application/json; charset=UTF-8");
|
||||
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
|
||||
|
||||
session_start();
|
||||
|
||||
require __DIR__.'/classes/Database.php';
|
||||
require __DIR__.'/classes/lib.php';
|
||||
|
||||
$db_connection = new Database();
|
||||
$conn = $db_connection->dbConnection();
|
||||
|
||||
$data = json_decode(file_get_contents("php://input"));
|
||||
|
||||
$returnData = new CMsg(0);
|
||||
|
||||
//IF REQUEST METHOD IS NOT EQUAL TO POST
|
||||
if($_SERVER["REQUEST_METHOD"] != "POST")
|
||||
{
|
||||
$returnData = new CMsg(0,404,'Page Not Found! REQUEST_METHOD');
|
||||
echo $returnData->jsonarray();
|
||||
return;
|
||||
}
|
||||
|
||||
// CHECKING EMPTY FIELDS
|
||||
if(
|
||||
!isset($data->pwtoken)
|
||||
|| empty(trim($data->pwtoken))
|
||||
)
|
||||
{
|
||||
$fields = ['fields' => ['pwtoken']];
|
||||
$returnData = new CMsg(0,422,'Please Fill in all Required Fields!',$fields);
|
||||
echo $returnData->jsonarray();
|
||||
return;
|
||||
}
|
||||
|
||||
// IF THERE ARE NO EMPTY FIELDS THEN-
|
||||
$pwtoken = trim($data->pwtoken);
|
||||
|
||||
try
|
||||
{
|
||||
$stmt = $conn->prepare("SELECT * FROM `dogs` WHERE `pwtoken`=?");
|
||||
$stmt->execute([$pwtoken]);
|
||||
|
||||
if($stmt->rowCount())
|
||||
{
|
||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
}
|
||||
else
|
||||
{
|
||||
$returnData = new CMsg(
|
||||
0,
|
||||
406,
|
||||
'Passwordtoken: '. $pwtoken . ' not valid, nothing changed!'
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
catch(PDOException $e)
|
||||
{
|
||||
$returnData = new CMsg(0,500,$e->getMessage());
|
||||
}
|
||||
|
||||
echo $returnData->jsonarray();
|
||||
?>
|
||||
21
php/php-dog/passwordReset.php
Normal file
21
php/php-dog/passwordReset.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
header("Access-Control-Allow-Origin: *");
|
||||
header("Access-Control-Allow-Headers: access");
|
||||
header("Access-Control-Allow-Methods: POST");
|
||||
header("Content-Type: application/json; charset=UTF-8");
|
||||
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
|
||||
|
||||
session_start();
|
||||
|
||||
require __DIR__.'/classes/Database.php';
|
||||
require __DIR__.'/classes/lib.php';
|
||||
|
||||
$db_connection = new Database();
|
||||
$conn = $db_connection->dbConnection();
|
||||
|
||||
$data = json_decode(file_get_contents("php://input"));
|
||||
|
||||
var_dump($data);
|
||||
var_dump($_POST);
|
||||
|
||||
?>
|
||||
@ -1,7 +1,8 @@
|
||||
import React, { useState } from 'react'
|
||||
import React, { useState } from 'react';
|
||||
import toast, { Toaster } from 'react-hot-toast';
|
||||
import { Link, useParams } from 'react-router-dom';
|
||||
import { passwordReset } from '../services/PhpApi';
|
||||
import { passwordReset, getPwToken } from '../services/PhpApi';
|
||||
import useSWR from 'swr';
|
||||
import './InputForm.css';
|
||||
|
||||
export default function PasswordReset()
|
||||
@ -14,6 +15,11 @@ export default function PasswordReset()
|
||||
password2:''
|
||||
});
|
||||
|
||||
const { data, error, isLoading } = useSWR({'ptoken': passwordToken}, getPwToken);
|
||||
// data ist dogdata, logindata holt sich getProfilData.php aus $_SESSION
|
||||
if (error) return (<div>failed to load</div>);
|
||||
if (isLoading) return (<div>loading...</div>);
|
||||
|
||||
const onChangeInput = (e: React.FormEvent<HTMLInputElement> ) => {
|
||||
setFormData({
|
||||
...formData,
|
||||
|
||||
@ -239,7 +239,15 @@ export const logOut = () =>
|
||||
})
|
||||
.catch((err) => console.error(err));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param form_data {
|
||||
password1: string,
|
||||
password2: string,
|
||||
passwordToken: string
|
||||
}
|
||||
* @returns
|
||||
*/
|
||||
export const passwordReset = async (form_data:
|
||||
FormData) =>
|
||||
{
|
||||
@ -256,6 +264,26 @@ export const passwordReset = async (form_data:
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param pwtoken object {'pwtoken': pwtoken }
|
||||
* @returns
|
||||
*/
|
||||
export const getPwToken = async (pwtoken: any) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
const {data} = await Axios.post('getPwToken.php', pwtoken);
|
||||
console.log('Api getPwToken');
|
||||
console.log(data);
|
||||
return data;
|
||||
}
|
||||
catch(err)
|
||||
{
|
||||
return {success:0, message:'getPwToken Server Error!'};
|
||||
}
|
||||
}
|
||||
|
||||
export const wantNewPw = async ({email}:{email: string}) =>
|
||||
{
|
||||
try
|
||||
|
||||
Reference in New Issue
Block a user