Проблема с синтаксисом...

Loxness

Новичок
Проблема с синтаксисом...

Здравствуйте. Для вас моя проблема, наверно вовсе не проблема))) Но поскольку я новичек, прошу помощи!)

Я пытаюсь реализовать авторизацию на сайте, но дело не в том. На стартовой странице мне нужно проверить IP пользователя и сверить с БД, если нет такого в базе то вывести форму авторизации, если есть то вывести "Здравствуйте, Миша" (имя и пароль естественно сверяються с Ip). Вот мои вопросы))) : 1. Можно ли так делать? (только по ип авторизаровать? (сайт в локалке и ип редко меняються... )) 2. при выводе "Здравствуйте, Миша" проблема

вот
Parse error: syntax error, unexpected ',' in Z:\home\10.4.43.138\www\project\blocks\info.php on line 11
я знаю что это особо не проблема, просто где то что-то забыл или ошибся, но я немогу найти где)))

вот код
PHP:
$i = $_SESSION['ip'];  
$db = mysql_connect('localhost','mangos','mangos');  		
mysql_select_db('project',$db);  		
$query = ("SELECT * FROM user WHERE ip = '".$_SESSION['ip']."'",$db);  		
$res = mysql_query($query);  	    
$row = mysql_fetch_assoc($res);
просто в другом коде именно в таком варианте все работает)))
 

Dl

Новичок
На этом сайте есть много информации на тему авторизации, например в статьях http://phpclub.ru/detail/article/page_password1 и http://phpclub.ru/detail/article/page_password2, а в поиске можно найти еще больше.
Если по теме, то
1. а если пользователь сидит за прокси?
2. смысл этой строчки:
PHP:
$query = ("SELECT * FROM user WHERE ip = '".$_SESSION['ip']."'",$db);
(наверно это 11-я)?
 

Loxness

Новичок
хех.. да проблема именно в ней)
$query = ("SELECT * FROM user WHERE ip = '".$_SESSION['ip']."'",$db);


не судите строго за малознание))
 

Dl

Новичок
Малознание устраняется путем чтения ;)
Ты понимаешь, что делается в этой строчке?
 

Loxness

Новичок
Ага...)) делаеться выборка из таблицы user где строка ip = $_SESSION['ip'] (которая в данном случаи передана с предыдущей страницы и равна $HTTP_SERVER_VARS['REMOTE_ADDR'];) и возвращаеться в переменную $query потом все это перемещаеться в массив $row.

Во всяком случаи именно это я хотел чтоб получилось)
 

Loxness

Новичок
хм... хз)))... а как? перенести переменную в другой файл если
мне тут же нужно этот файл вставить (include)get?

хехе.. с самого начала я хотел чтоб мне подсказали
("SELECT * FROM user WHERE ip = '".$_SESSION['ip']."'",$db);
где тут ошибка)))
 

Фанат

oncle terrible
Команда форума
Зачем тебе переносить эту переменную в другой файл?

я хотел чтоб мне подсказали
("SELECT * FROM user WHERE ip = '".$_SESSION['ip']."'",$db);
где тут ошибка)))
тебе задали вопрос, в чем смысл этой строки
 

pilot911

Новичок
проще сказать

в этой строчке не происходит никакого запроса, поскольку в ней всего лишь неправильно написанная строчка

любое действие выполняется функцией

посмотри на строчку:

$query = ("SELECT * FROM user WHERE ip = '".$_SESSION['ip']."'",$db);


видишь в ней синтаксис функции ? я не вижу

перед первой скобкой надо написать название функции, по всей видимости, это mysql_query
 

Loxness

Новичок
мда... я пробывал по разному...

$query = mysql_query("SELECT * FROM user WHERE ip = '".$_SESSION['ip']."'",$db);

все с этим все получилось... спасибо...
теперь с сессиями ниче не понимаю... постоянно когда инилизирую сессию выдает

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\10.4.43.138\www\project\index.php:7) in Z:\home\10.4.43.138\www\project\blocks\login.php on line 2
 

Фанат

oncle terrible
Команда форума
что за дурацкая идея "пробовать"? пишешь от балды какой-то код, а потом смотришь, будет он работать или нет?
пробовать по-разному не надо. надо делать так, как написано в учебнике или хотя бы в примере, с которого ты копируешь.

если пхп выдает тебе ошибку, то надо скопировать её текст и вставить в гугль
но ты можешь ответить на вопрос, зачем тебе здесь сессия?
 

Loxness

Новичок
Почему дурацкая?... я пробую чтоб понять как это работает а не тупо скопировать...
Зачем сессия... вот тут я скопировал из другого примера... не знаю)
 

Фанат

oncle terrible
Команда форума
я пробую чтоб понять как это работает а не тупо скопировать...
попробовал? не сработало? верни взад.
почему после твоих экспериментов чужой дядя должен сопли подтирать?
пробовать наверное надо с умом, а не от балды, "а что будет если я сотру это слово".

не нужна тебе сессия, если ты собрался по IP адресу запоминать
 

Фанат

oncle terrible
Команда форума
Что "спасибо"? Все уже работает, вопросов не осталось?
или остались, но "раз вы такие злые, то я у вас спрашивать ничего не буду"? А ты ждал, что тебя будут по головке гладить, "какой хороший мальчик"? Погладят, если будет за что. Сделал глупость - ну так не надо обижаться, что тебе об этом сообщили.

Чего ты хотел добиться, вынося аргумент функции mysql_query в отдельную переменную?
информация к размышлению: аргументы функции разделяются запятой. запятая - частица синтаксиса языка. Синтаксис в переменную записать невозможно. В переменной можгут лежать только данные, а не кусок программы.
 
Сверху