Я не совсем уверен, где проблема, но я передаю переменную через AJAX и не быть пойманным, если я прохожу пустым, когда я проверяю его! $ VarNameнеопределенная переменная пропусканием не проверить
Вот моя Аякса функция:
var subscribe = function(){
var dataString = $("#subinput").val();
$.ajax ({
url: '<?php echo $path ?>',
type: 'POST',
data: 'email=' + dataString.value,
datatype: 'JSON',
success: function(results){
if(results.err == '1'){
$('.onconfirmation').css('color','#f00');
}else{
$('.onconfirmation').css('color','#5A5A5A');
}
$('.onconfirmation').innerHTML(results.message);
$('.onconfirmation').fadeIn();
//alert(results);
}
});
и вот мой PHP:
<?php
$email = $_POST['email'];
if(!$email){
$o['err'] = '1';
$o['message'] = 'Please do not leave this field blank';
}/*elseif(filter_var($email, FILTER_VALIDATE_EMAIL)){
$o['err'] = '1';
$o['message'] = 'Please enter a valid email address';
}else{
$o['err'] = '0';
$o['message'] = 'Thank you for your subscription';
}*/
ob_start();
var_dump($o);
$out = ob_get_clean();
mail('[REDACTED]','debug',$out);
//$o = json_encode($o);
//return ($o);
?>
Как вы можете видеть, что она находится в состоянии отладки в данный момент, но если я прохожу пустое значение через в этом, письмо, которое я получаю g - NULL
. Если я по электронной почте себе в $email
переменных вместо переменной $out
, электронная почта я получаю undefined
, но если я удалю !
от если заявления, электронная почта я получаю:
array(2) {
["err"]=>
string(1) "1"
["message"]=>
string(36) "Please do not leave this field blank"
}
Я уверен, что я просто пропуская что-то ужасно простое, я всегда, но я честно не могу понять этого. Любая помощь будет широко оценена. Приветствия.
Cheers.Как я уже сказал в ответ выше, я знал, что это будет какой-то глупый код кода, который я оставил, я просто не мог его увидеть. Спасибо за более чистое предложение PHP. – Richie