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

  • Автор темы Автор темы Loxness
  • Дата начала Дата начала

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);

просто в другом коде именно в таком варианте все работает)))
 
На этом сайте есть много информации на тему авторизации, например в статьях 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-я)?
 
хех.. да проблема именно в ней)
$query = ("SELECT * FROM user WHERE ip = '".$_SESSION['ip']."'",$db);


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

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

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

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

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

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

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

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


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

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

$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
 
что за дурацкая идея "пробовать"? пишешь от балды какой-то код, а потом смотришь, будет он работать или нет?
пробовать по-разному не надо. надо делать так, как написано в учебнике или хотя бы в примере, с которого ты копируешь.

если пхп выдает тебе ошибку, то надо скопировать её текст и вставить в гугль
но ты можешь ответить на вопрос, зачем тебе здесь сессия?
 
Почему дурацкая?... я пробую чтоб понять как это работает а не тупо скопировать...
Зачем сессия... вот тут я скопировал из другого примера... не знаю)
 
я пробую чтоб понять как это работает а не тупо скопировать...
попробовал? не сработало? верни взад.
почему после твоих экспериментов чужой дядя должен сопли подтирать?
пробовать наверное надо с умом, а не от балды, "а что будет если я сотру это слово".

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

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