AJAX. Как передать айди страницы?

Ответить
mkden
Сообщения: 96
Зарегистрирован: 08.05.2010
В общем пишу аджакс скрипт для лгсл добавить в избранное сервер!

В файле лгсл деталс

Код: Выделить всё

$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'];
Логин передаеться через сессию а айди страницы нет
p.s: В php я нуб!!! )

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
ну а сама функция "addremove" где?

mkden
Сообщения: 96
Зарегистрирован: 08.05.2010
Всмысле функция
Есть еще 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);

?>
и файл аджакс в нем нет нужды он за это неотвечает он нужет только для того чтоб страница неперезагружалась!
p.s: В php я нуб!!! )

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
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
Сообщения: 96
Зарегистрирован: 08.05.2010
в аджакс дабавил

Код: Выделить всё

xmlHttp.open("GET",nocacheurl+"&favid="+favid+"&s="+$_GET['s'],true);
xmlHttp.send(null);
Теперь аджакс неработает совсем какой файл править чтоб переменная $_GET['s'] работала?
p.s: В php я нуб!!! )

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
mkden писал(а):Теперь аджакс неработает совсем
я тебе уже пояснял, что "$_GET['s']" должна выводиться через php.
если у тебя этот код вынесен отдельно в js-файл, то можешь передать свой ид через функцию. например заменить

Код: Выделить всё

onclick='addremove($favid)'
на

Код: Выделить всё

onclick='addremove($favid,".$_GET['s'].")'
после этого в функции 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
Сообщения: 96
Зарегистрирован: 08.05.2010
Спасибо агромное теперь все ок !)
p.s: В php я нуб!!! )

Ответить