잘 작동하는이 등록 코드가 있는데 AJAX를 추가하여 동적으로 만들 것을 결정했지만 실행하면 PHP 코드가 null 값을 데이터베이스에 저장하고 있습니다.AJAX 사용시 데이터베이스에 null 값 가져 오기
이것은 내가 지금까지 알고있는 것입니다 : 사용자가 가입 페이지에 정보를 쓸 때마다 AJAX로 가서 AJAX가 PHP로 전달한 다음 PHP가 정보를 데이터베이스에 저장하고 메시지를 표시 한 다음에갑니다. 아약스를 누른 다음 메시지를 표시합니다. 이 모든 일을 유일한 문제는 내 PHP 코드가 null 값을 내가 사인 업 페이지에 쓰는 상관없이 저장됩니다.
와 나는이 코드 먹으 렴이 제대로 작동하지 않을 생각하지만 난 그냥 내 코드의 나머지 부분입니다 다음과 같은 다른 방법
var username = encodeURIComponent(document.getElementById('username').value);
var password = encodeURIComponent(document.getElementById('password').value);
var url = "signip_parse.php?username="+username+"&password="+password;
에게 잘 모릅니다. 이 페이지는 사용자가 정보를두고 그것의 signup.php
<head>
<script src = "ajax.js"></script>
<div id="content">
</head>
<body>
<form action="signip_parse.php" method="post" id="registration_form">
<p>Name <input type="text" name="username" id = "username"/></p>
<p>Password <input type="password" name="password" id = "password"/></p>
<p><input type = "button" value="sign up" id="submit" onclick = "hello()"/>
<input type="button" value="Back" onclick="return back()"/></p>
</form>
<div id="ack"><p>1</p></div>
</div>
</body>
로 저장이 내가 w3school 아약스 예에서 그것을 가지고 아약스 코드 및
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlhttp;
}
var HTTP = loadXMLDoc();
function hello(){
var username = encodeURIComponent(document.getElementById('username').value);
var password = encodeURIComponent(document.getElementById('password').value);
var url = "signip_parse.php?username="+username+"&password="+password;
HTTP.onreadystatechange=function()
{
if (HTTP.readyState==4 && HTTP.status==200)
{
document.getElementById("ack").innerHTML=HTTP.responseText;
}
}
HTTP.open("POST", url ,true);
HTTP.send();
}
을은 ajax.js로 내가 그것을 저장했다입니다
이 마지막은 내가 어떤 도움이 좋을 것
<?php
include_once("connect.php");
$user = mysql_real_escape_string($_POST["username"]);
$password = mysql_real_escape_string(md5 ($_POST["password"]));
$sql = "INSERT INTO users (username, password) VALUES ('$user','$password')";
if(mysql_query($sql)){
echo "You have been successfully registered";
}
else{
echo "Something went wrong try again";
}
?>
잘못 가입 철자를 관리하는 signip_parse.php입니다. 덕분에 남자 그리고 예 md5 깨진 알아하지만 이것은 단지 데모이며 다른 것을 사용하려고합니다.
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
을 그리고 단지 내부의 부품을 분리 할 필요 그들을 결합 : 그 게시물로 요청을 보내는 때문에
오류가 콘솔에서 발견 되었습니까? – Darren
URL에 데이터를 보내고 있습니다.이 정보는'$ _GET'을 통해 얻을 수 있습니다. 따라서'$ _POST'에 아무것도 없습니다. – Sean
omg @sean 당신은 스타 맨입니다! – WESTKINz