echo json_encode($response) fungerar inte react.js
Hej!
Jag håller på med en inloggning och jag skulle vilja föra över en text från PHP till react.js när inloggningen har genomförts.
Men jag får inte echo json_encode($response) att fungera som jag tänkt.
Tänker jag helt fel??
<?php
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Credentials: true");
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
header('Access-Control-Max-Age: 1000');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token , Authorization');
include("connect.php");
$rest_json = file_get_contents("php://input");
$_POST = json_decode($rest_json, true);
if( !empty($_POST['loginEmail']) && !empty($_POST['loginPassword']))
{
http_response_code(200);
$email = $_POST['loginEmail'];
$password = $_POST['loginPassword'];
$sql = "SELECT email FROM User WHERE email='$email'";
$result = mysqli_query($connect, $sql) or die("Query died: loginEmail");
$num = mysqli_num_rows($result);
if($num >0)
{
$sql = "SELECT password FROM password WHERE password='$password' AND userid = (SELECT userid FROM user WHERE email='$email') ";
$result2 = mysqli_query($connect, $sql) or die("Query died: loginPassword");
$num2 = mysqli_num_rows($result2);
if($num2 > 0)
{
$_SESSION['auth']="yes";
$_SESSION['logname'] = $_POST['loginEmail'];
$sql = "INSERT INTO Login (loginName, loginTime) VALUES ('$_SESSION[logname]' ,NOW())";
$result3 = mysqli_query($connect, $sql) or die("Query died: insert");
$num3 = mysqli_num_rows($result3);
$response = 'true';
echo json_encode($response);
if($num3 > 0)
{
$email = $_POST['loginEmail'];
$sql = "SELECT userid FROM User WHERE email='$email'";
$result3 = mysqli_query($connect, $sql) or die("Query died: insert");
$result = $connect ->query($sql);
$return_arr = array();
if($result = mysqli_query($connect, $sql)) {
while($row = mysqli_fetch_assoc($result)) {
$row_array['userid'] = $row['userid'];
$response = $row['userid'];
array_push($return_arr, $row_array);
}
}
echo json_encode($return_arr);
mysqli_close($connect);*/
}
}
else {
$message_1 = "The Login Name, '$_POST[loginEmail]'
exists,but you have not entered the correct password! PLease tyr again.";
$loginEmail=strip_tags(trim($_POST['loginEmail']));
$response = "false";
echo json_encode($response);
}
}
else {
$message_1 = "The User Name you entered does not exists! Please try again.";
$response = "false";
echo json_encode($response);
}
}
?>
loginSubmit(event) {
event.preventDefault();
const data = {
loginEmail: this.refs.loginEmail.value,
loginPassword: this.refs.loginPassword.value
}
fetch('http://localhost/reusesport/src/api/login.php', {
method: 'POST',
body: JSON.stringify(data),
})
.then(response => {
console.log(response);
if(response === 'true') {
this.props.history.push(`/MySide/:user`);
} else {
console.log('felaktigt lösenord');
}
})
event.target.reset();
}
Console.log(response) ger detta.
Response {type: "cors", url: "http://localhost/reusesport/src/api/login.php", redirected: false, status: 200, ok: true, …}
body: (...)
bodyUsed: false
headers: Headers {}
ok: true
redirected: false
status: 200
statusText: "OK"
type: "cors"
url: "http://localhost/reusesport/src/api/login.php"
__proto__: Response
Tack på förhand!