[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: POST запрос через AJAX
Pyroman
Здравствуйте. Возможно ли сделать выполнение скрипта при POST запросе через AJAX прямо в данном файле? Есть файл index.php и в нём следующий AJAX скрипт:
<script type="text/javascript" src="http://mysite.ru/jquery-1.7.2.js"></script>
<
script type="text/javascript">
function buy1(that) {
var count = $(that).closest('form').find('.count').val();
var buy4 = $(that).val();

$.ajax({
type: "POST",
data: "count="+count+"&buy0="+buy4+"&hbdgvffvetvfgdvgfvdgvfgdvghfvdghvfghdv=fbhabfhbshfbhsbfh",
url: 'http://mysite.ru/engine/modules/shop/index.php',
success: function(data) {
alert(data);
}
}
);
}
</script>

Вот что должно выполняться:
if(isset($_POST['buy0']))
{
$idtovara = $_POST['buy0'];
$iprice = mysql_query("SELECT price FROM donate_shop WHERE item_id='$idtovara'");
$nazvanie = mysql_query("SELECT name FROM donate_shop WHERE item_id='$idtovara'");
$icount = mysql_query("SELECT stack FROM donate_shop WHERE item_id='$idtovara'");
$koplate = $iprice*$_POST['count'];
$kolichestvo = $_POST['count']*$icount;
$username10 = $member_id['name'];
$sql_price = mysql_query("SELECT price FROM donate_shop WHERE item_id='$idtovara'");
$price_result = mysql_result($sql_price, 0);
$sql_num = mysql_query("SELECT stack FROM donate_shop WHERE item_id='$idtovara'");
$query_num = mysql_result($sql_num, 0);
$count = $_POST['count'];
if(is_numeric($count)){
if($count == (int)$count){
if(!$count == '0'){
if($username10 == ''){
echo "Сначала авторизируйтесь!";
}else{
$sql = mysql_query("SELECT cash FROM $db_realmon WHERE name='$username10' $member_id");
$query = mysql_result($sql,0);
if($query < $koplate){
echo "У вас недостаточно средств, пополните счет через личный кабинет.";}
else{
mysql_query("UPDATE `realmoney` SET `cash` = `cash` - ".str_replace(',', '.', $koplate)." WHERE `name` = '".$username10."'")or die(mysql_error());
mysql_query("INSERT INTO goods (id, nickname, item_id, item_amount) VALUES (NULL, '$username10', '$idtovara', '$kolichestvo')")or die(mysql_error());
$logtext = "$date : $username10 купил $nazvanie в количестве $kolichestvo";
echo "Вы успешно купили $kolichestvo $nazvanie";
$fp = fopen('shop.txt', 'a');
fwrite($fp, $logtext);
fwrite($fp, "\n");
fclose($fp);
}}}else{
echo "Введите правильное число";
}
}
else{
echo "Введите целое число в 'Количество'";
}
}
else{
echo "Вы ввели неправильное количество";
}
}

Раньше, когда мне надо было выполнить скрипт непосредственно в файле после POST запроса я использовал "if(isset($_POST['abc']))", всё было отлично, но как я понял с AJAX запросом это не прокатывает, т.к. мне в alert`е возвращается содержимое всего файла index.php... Как это можно реализовать? Спасибо.



Спустя 48 минут, 12 секунд (28.05.2012 - 17:43) inpost написал(а):
запрос на сервер, обработка ПХП, формирование ХТМЛ, результат отправляется пользователю, соединение с сервером закрыто!

Отправка Ajax - отправка нового запроса на сервер, и без разницы на какой файл. Ты можешь хоть 1000 условий повесить на файл и принимать обработку через if-else в зависимости от переданных данных

Спустя 42 минуты, 35 секунд (28.05.2012 - 18:25) bodja написал(а):
Цитата
Как это можно реализовать?

Реализовать что?
Что страница выдаст ,то аякс и примет.

Спустя 5 часов, 8 минут, 24 секунды (28.05.2012 - 23:34) Pyroman написал(а):
Цитата (bodja @ 28.05.2012 - 15:25)
Цитата
Как это можно реализовать?

Реализовать что?
Что страница выдаст ,то аякс и примет.

Так я и прошу указать мне на мою ошибку, почему вместо выполнения кода pokupka.php + вывода сообщения выводится просто код php файла index.php...

Спустя 1 час, 4 минуты, 2 секунды (29.05.2012 - 00:38) bodja написал(а):
Цитата
Так я и прошу указать мне на мою ошибку

Значит сервак забыли запустить.
Аякс запрос ничем не отличается от обычного.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.