-
mkden
В общем пишу аджакс скрипт для лгсл добавить в избранное сервер!
В файле лгсл деталс
Код: Выделить всё
$output .= '
<div id="status">';
if($matches == 0){
$output .= '<div>This is NOT a favourite</div>';
} else {
$output .= '<div>This is a favourite</div>';
}
if($matches == 0){
$output .= "<img id='button' name='button0' src='images/0.jpg' onclick='addremove($favid)' >";
} else {
$output .= "<img id='button' name='button1' src='images/1.jpg' onclick='addremove($favid)' >";
}
каоче все это дело работает при помощи файла addremove
Код: Выделить всё
<?php
session_start();
include 'bd.php';
$_GET['s'] = intval($_GET['s']);
if(isset($_SESSION['login'])){
$user = mysql_real_escape_string($_SESSION['login']);
$favid = $_GET['s'];
$query = mysql_query("SELECT * FROM favourites WHERE user='$user' AND favid='$favid'",$db);
$matches = mysql_num_rows($query);
if($matches == '0'){
mysql_query("INSERT INTO favourites (user, favid) VALUES ('$user', '$favid')");
echo "<div class=\"green\">This is a favourite</div>";
}
if($matches != '0'){
mysql_query("DELETE FROM favourites WHERE user='$user' AND favid='$favid'",$db);
echo "<div class=\"red\">This is NOT a favourite</div>";
}
} else {
echo "Invalid session!";
}
?>
Как передать в файл addremove айди страницы
тоесть $favid = $_GET['s'];
Логин передаеться через сессию а айди страницы нет
-
Distructor
- Администратор
ну а сама функция "addremove" где?
-
mkden
Всмысле функция
Есть еще 2 файла favouritescript
Код: Выделить всё
<?php
$user = $_SESSION['login'];
// === IMPORTANT! Configure to work with your site ===
$favid = $_GET['s'];
// ====================================================
include 'bd.php';
// Find out if the article is favourited
$query = mysql_query("SELECT * FROM favourites WHERE user='$user' AND favid='$favid'",$db);
$matches = mysql_num_rows($query);
?>
и файл аджакс в нем нет нужды он за это неотвечает он нужет только для того чтоб страница неперезагружалась!
-
Distructor
- Администратор
mkden писал(а):и файл аджакс в нем нет нужды он за это неотвечает он нужет только для того чтоб страница неперезагружалась!
а как ты думаешь кто запрос к твоей странице передает?)
тебе нужно не только обратиться к странице, но и передать ей параметры. например на jQuery:
Код: Выделить всё
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(data){
alert( "Data Loaded: " + data);
}
});
или
Код: Выделить всё
$.post("some.php", { name: "John", location: "Boston" },
function(data) {
alert("Data Loaded: " + data);
});
-
mkden
в аджакс дабавил
Код: Выделить всё
xmlHttp.open("GET",nocacheurl+"&favid="+favid+"&s="+$_GET['s'],true);
xmlHttp.send(null);
Теперь аджакс неработает совсем какой файл править чтоб переменная $_GET['s'] работала?
-
Distructor
- Администратор
mkden писал(а):Теперь аджакс неработает совсем
я тебе уже пояснял, что "$_GET['s']" должна выводиться через php.
если у тебя этот код вынесен отдельно в js-файл, то можешь передать свой ид через функцию. например заменить
на
после этого в функции addremove надо добавить получение этого второго параметра и потом подставить полученное значение в ajax запрос.
к примеру если у тебя была функция
Код: Выделить всё
function addremove ( elem ) {
...
xmlHttp.open("GET",nocacheurl+"&favid="+favid,true);
...
}
то должна стать вида
Код: Выделить всё
function addremove ( elem, id ) {
...
xmlHttp.open("GET",nocacheurl+"&favid="+favid+"&s="+id,true);
...
}
-
mkden
Спасибо агромное теперь все ок !)