Ik heb op dit moment dit stukje code maar ik krijg steeds return true terug ook als de email niet klopt.



								var ie = document.getElementById('input-email').value;
								var ip = document.getElementById('input-pass').value;
								var vars = 'email='+ie+'&password='+ip;
	
								var http = new XMLHttpRequest();
								var url = 'https://www.domein.nl/bedrijf/incl/post-inloggen.php';

								http.open('POST', url);

								http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

								http.onreadystatechange = function() {.
									if(http.readyState == 4 && http.status == 200) {

										var waarde = JSON.parse(http.responseText);
										
										if(waarde.succes){
											//return true;
											alert('ja true');
										} else {
											//return false;
											alert('Nee false');
										}


									}
								}
								http.send(vars);



En het stukje php


<?php
if(isset($_POST['email']))
{
	if($_POST['email'] == '[email protected]')
	{
		$issucces = 'true';
	}else{
		$issucces = 'false';
	}
	header('Content-type: application/json');
	echo json_encode(array('succes' => $issucces));
}
?>
Je maakt een fout met http.send(vars).
Volgens de documentatie werkt dat niet op die manier.
Wat je beter kan doen in JS is gebruik maken van FormData, dat komt ook in $_POST terecht.

let fd = new FormData();
fd.append('email', ie);
fd.append('pass', ip);
http.send(fd);

Bovenstaande gebruik ikzelf ook, werkt als een trein.
Gebruik je ook de Json.parse dan?

Kan je laten zien hoe jij dat gebruikt?
$issucces = 'false';

hier geef je een string van 5 letters aan $issucces.

Wat komt er nu in de json-string terecht?
Interpreteert json_encode deze 5letterige string nu als FALSE / NEE / NIET

of als een willekeurige 5letterige string?

Wat als je doet:

$issucces = false;
of
$issucces = 0;

Reageren