Я пытаюсь создать простую систему входа в систему, которая будет иметь формы и все в одном домене (назовем его Домен A) и файлы PHP в другом домене (Домен B). Зачем? Просто потому, что домен A более надежен, но не поддерживает PHP. Я совершенно новичок во всем этом AJAX, поэтому в настоящее время я использую ресурсы, которые я нашел в Интернете.
JQuery и Forms его часть на Домене A , как показано ниже:
<form id="submit" method="post">
<fieldset>
<legend>Enter Information</legend>
<label for="fname">Name:</label>
<input class="text" id="fname" name="fname" size="20" type="text" />
<label for="lname">Email:</label>
<input class="text" id="lname" name="lname" size="20" type="text" />
<button class="button positive"> Submit </button> </fieldset>
</form>
<script>
$(document).ready(function(){
$("form#submit").submit(function() {
// we want to store the values from the form input box, then send via ajax below
var fname = $('#fname').attr('value');
var lname = $('#lname').attr('value');
$.ajax({
type: "POST",
url: "http://domainB.com/somefolder/ajax.php",
data: "fname="+ fname +"& lname="+ lname,
success: function(){
$('form#submit').hide(function(){$('div.success').fadeIn();});
}
});
return false;
});
});
</script>
Обратите внимание, что 'lname' и 'fname' будут представлять имя и адрес электронной почты вместо имени и фамилии соответственно.
Код PHP на Домен B :
<?php
// CLIENT INFORMATION
$uname = htmlspecialchars(trim($_POST['fname']));
$umail = htmlspecialchars(trim($_POST['lname']));
$uip = 12345;
$usecret = "secret";
//Mysql
$con = mysql_connect("mysql.domainB.com","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
//Connect
mysql_select_db("login_db", $con);
//Insert user details irrespective of whether the user is a member or not to make a log kind of thing
mysql_query("INSERT INTO log_data (Name, Email, IP_ADDRESS, Secret)
VALUES ('$uname', '$umail', '$uip', '$usecret')");
//Now check if the user is a subscriber or not
// mysql_query("SELECT Email, Secret FROM login_data WHERE Email='$umail' AND Secret="secret"");
//I don't know the code to check if the user has logged in correctly
//This is where I need you to help me
//I need to check if the user has logged in correctly, if yes, then return a message saying //success which should be caught by Jquery and displayed as an Alert, or something
//If the user login failed, this php code should return a failure message which again should be caught by Jquery on Domain A and displayed as an alert in the least.
mysql_close($con);
//end Mysql
?>
На что следует обратить внимание - в базе данных login_db есть две таблицы - log_data , в которых хранится информация журнала, и login_data , в которой хранятся имена пользователей и пароли. Переменная $ secret хранит пароль пользователя.
Вставка log_data работает как талисман, но это login_data, который меня беспокоит. Любая помощь приветствуется. Спасибо!
Imag