現在、ページの更新やボタンのクリックなしで動作する JS/AJAX 関数を使用しています。値をエコーするときに問題が発生しました。たとえば、この行を変更する$email = $_POST['name'];
と完全に機能しますが、メールの実際の値を使用する$email = $_POST['email'];
と機能しません。私は JS と php の両方の新しい学習者です。
誰かがなぜそのような結果を出しているのか教えてもらえますか? 例
<script>
$(document).ready(function() {
var timer = null;
var dataString;
function submitForm(){
$.ajax({ type: "POST",
url: "test1.php",
data: dataString,
success: function(result){
$('#special').html($('#resultval', result).html());
}
});
return false;
}
$('#email').on('keyup', function() {
clearTimeout(timer);
timer = setTimeout(submitForm, 0050);
var name = $("#email").val();
dataString = 'name='+ name;
});
});
</script>
PHP
<?
if($_POST) {
$email = $_POST['email'];
if (preg_match('|^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$|i', $email)) {
echo ('<div id="special"><span id="resultval">'.$email.'</span></div>');
}
else {
echo ('<div id="special"><span id="resultval">Include a valid email address.</span></div>');
}
}
?>