Спустя 3 часа, 6 минут, 5 секунд (3.01.2010 - 16:06) ИНСИ написал(а):
metamarfoz если правильно понял тебя, то тебе надо посмотреть в сторону:
RewriteEngine on
RewriteBase /
RewriteRule ^modules?file=1?$ index.php
в файле .htaccess
RewriteEngine on
RewriteBase /
RewriteRule ^modules?file=1?$ index.php
в файле .htaccess
Спустя 3 часа, 56 минут, 35 секунд (3.01.2010 - 20:02) metamarfoz написал(а):
Я так понял это прописать там надо?
Спустя 1 час, 23 минуты, 21 секунда (3.01.2010 - 21:26) ИНСИ написал(а):
metamarfoz да, это в файле .htaccess надо прописать
Спустя 39 минут, 51 секунда (3.01.2010 - 22:06) metamarfoz написал(а):
Ну я пропишу а дальше что делать?
Спустя 11 часов, 54 минуты, 55 секунд (4.01.2010 - 10:00) ИНСИ написал(а):
metamarfoz
RewriteEngine on
RewriteBase /
RewriteRule ^ссылка_какую_хотите (затем) ссылка_которая_ведет_на_настоящий_файл.php [NC]
RewriteEngine on
RewriteBase /
RewriteRule ^ссылка_какую_хотите (затем) ссылка_которая_ведет_на_настоящий_файл.php [NC]
Спустя 6 дней, 11 часов, 35 минут, 54 секунды (10.01.2010 - 21:36) papaiaaa написал(а):
Хм
а в случае если ссылка имеет вид
profile.php?id_usr=1, где 1 - номер пользователя
как сделать что-нибудь вроде:
user/1/
?
а в случае если ссылка имеет вид
profile.php?id_usr=1, где 1 - номер пользователя
как сделать что-нибудь вроде:
user/1/
?
Спустя 10 часов, 36 минут, 54 секунды (11.01.2010 - 08:13) ИНСИ написал(а):
papaiaaa
RewriteRule ^user/([0-9-_]+)/ profile.php?id_usr=$1 [L]
RewriteRule ^user/([0-9-_]+)/ profile.php?id_usr=$1 [L]
Спустя 12 часов, 3 минуты, 41 секунда (11.01.2010 - 20:17) papaiaaa написал(а):
500 ошибка...
Использую Денвер-2
Чем может быть вызвана ошибка в этом случае? или это из-за особенностей денвера?
Использую Денвер-2
Чем может быть вызвана ошибка в этом случае? или это из-за особенностей денвера?
Спустя 21 минута, 56 секунд (11.01.2010 - 20:39) papaiaaa написал(а):
а допсутим сделать вместо login.php - modules/login/
получилось, но
при повторном нажатии ссылка становиться
modules/login/modules/login/
а если нажать на главную после того как нажать на login
получается modules/login/index.php
Вопрос: из-за чего это может происходить?
получилось, но
при повторном нажатии ссылка становиться
modules/login/modules/login/
а если нажать на главную после того как нажать на login
получается modules/login/index.php
Вопрос: из-за чего это может происходить?
Спустя 1 час, 15 минут (11.01.2010 - 21:54) ИНСИ написал(а):
papaiaaa быть может в самой странице ты используешь неправильные ссылки. скинь код, который генерирует ссылку
Спустя 21 час, 34 минуты, 13 секунд (12.01.2010 - 19:28) papaiaaa написал(а):
<div id="container">
<div id="header">
<h1>Havana<span>TV</span></h1>
<div id="topmenu">
<li><a href="index.php?module=viewnews">Главная</a></li>
<li><a href='to.php'>Личные сообщения </a></li>
<li><a href='statistics.php'>Статистика</a></li>
<li><a href="login.php">Авторизация</a></li>
<li><a href="index.php?module=registration">Регистрация </a></li>
<li><a href="userlist.php?u=1">Список пользователей</a></li>
</ul>
</div>
</div>
код шаблона шапки
а в htaccess:
RewriteEngine on
RewriteBase /
RewriteRule ^modules/login/$ login.php
Спустя 4 минуты, 42 секунды (12.01.2010 - 19:33) papaiaaa написал(а):
Некоторые файлы подрубаются
через index.php
через index.php
<?
switch($_GET['module'])
{
case(''):
include('viewnews.php');
break;
case('allnews'):
include('allnews.php');
break;
case('viewnews'):
include('viewnews.php');
break;
case('registration'):
include('registration.php');
break;
}
?>
Спустя 1 минута, 24 секунды (12.01.2010 - 19:34) ИНСИ написал(а):
papaiaaa тогда я тебя не совсем понимаю. Ответь на несколько вопросов пожалуйста.
1. Ты хочешь, чтобы при нажатии на ссылку www.mySite.ru/modules/login/ открывался файл login.php?
2. А по поводу ссылок, сделай их в виде такого: http://www.mySite.ru/index.php и тогда то, что ты говорил, должно пропасть. Поменяй везде так
1. Ты хочешь, чтобы при нажатии на ссылку www.mySite.ru/modules/login/ открывался файл login.php?
2. А по поводу ссылок, сделай их в виде такого: http://www.mySite.ru/index.php и тогда то, что ты говорил, должно пропасть. Поменяй везде так

Спустя 1 минута, 11 секунд (12.01.2010 - 19:35) papaiaaa написал(а):
1. да )
Некоторые файлы подрубаются через индекс, а некоторые напрямую
2. ок сейчас поробую...
Некоторые файлы подрубаются через индекс, а некоторые напрямую
2. ок сейчас поробую...
Спустя 5 минут, 8 секунд (12.01.2010 - 19:41) papaiaaa написал(а):
Вроде все получилось)
Спасибо,
теперь проверю - не будет ли глючить сайт ибо это мой первый сайт на php и он очень коряво написан))
Спасибо,
теперь проверю - не будет ли глючить сайт ибо это мой первый сайт на php и он очень коряво написан))
Спустя 2 минуты, 22 секунды (12.01.2010 - 19:43) ИНСИ написал(а):
papaiaaa
Цитата |
1. Ты хочешь, чтобы при нажатии на ссылку www.mySite.ru/modules/login/ открывался файл login.php? |
работает так?
Спустя 1 минута, 33 секунды (12.01.2010 - 19:44) ИНСИ написал(а):
papaiaaa я свой первый сайт, тоже коряво написал, но главное что ты развиваешься 

Спустя 3 минуты, 58 секунд (12.01.2010 - 19:48) papaiaaa написал(а):
Слушай а если я пользуюсь сессиями? просто у меня теперь авторизация несрабатывает)
Спустя 7 минут, 42 секунды (12.01.2010 - 19:56) papaiaaa написал(а):
Цитата (welbox2 @ 12.01.2010 - 16:43) | ||
papaiaaa
работает так? |
да, но я пока что все вернул как было)
Автроизация теперь не работает)
значение сессии не передается когда пути полные)
Спустя 7 минут, 43 секунды (12.01.2010 - 20:04) ИНСИ написал(а):
Цитата |
да, но я пока что все вернул как было) Автроизация теперь не работает) |
papaiaaa если честно, то эта ссылка не должна влиять на твою форму. Если ты отправляешь данные с формы, то твой скрипт должен также работать как и всегда.
Цитата |
значение сессии не передается когда пути полные) |
не совсем понял, но это не влияет. Сессии и так должны нормально работать. RewriteRule влияет только на ссылку. а все остальное должно работать как всегда

Спустя 6 минут, 36 секунд (12.01.2010 - 20:10) papaiaaa написал(а):
ну когдау меня ссылки типа
statistics.php
login.php
после авторизации они становятся
statistics.php?PHPSESSID=1c767040f8846456456452f8745642aa1
login.php?PHPSESSID=1c76704345356dc2e4c82f872aa456456156
а когда я поменял на
http://адрес сайта.ru/statistic.php
то после авторизации ссылка остается такой же и соответственно
пишет при нажатии: вы не авторизированы и тд.
тоже самое когда пытаемся сделать чпу
если кук вообще нет (только сессии), то возможно как-то передавать значение phpsessid при чпу?
statistics.php
login.php
после авторизации они становятся
statistics.php?PHPSESSID=1c767040f8846456456452f8745642aa1
login.php?PHPSESSID=1c76704345356dc2e4c82f872aa456456156
а когда я поменял на
http://адрес сайта.ru/statistic.php
то после авторизации ссылка остается такой же и соответственно
пишет при нажатии: вы не авторизированы и тд.
тоже самое когда пытаемся сделать чпу
если кук вообще нет (только сессии), то возможно как-то передавать значение phpsessid при чпу?
Спустя 13 минут, 22 секунды (12.01.2010 - 20:24) ИНСИ написал(а):
papaiaaa мне кажется они сессию может работать и не показываясь в ссылке. как ты проверяешь в скрипте есть ли сессия?
Спустя 6 минут, 21 секунда (12.01.2010 - 20:30) papaiaaa написал(а):
if (isset($_SESSION['user_login'])) {
тут то, что неаторизированный пользователь не должен видеть
эта конструкция почти в каждом скрипте есть
}
else
{
die
('<br/>Для просмотра новостей необходимо <b>авторизироваться</b>.');
}
При авторизации происходит следующее:
if (isset($_POST['login']) && isset($_POST['password']))
{
$login = mysql_real_escape_string($_POST['login']);
$password = md5($_POST['password']);
$query = "SELECT *
FROM `users`
WHERE `login`='{$login}' AND `password`='{$password}'
LIMIT 1";
$sql = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($sql) == 1) {
$row = mysql_fetch_assoc($sql);
$_SESSION['user_id'] = $row['id'];
$_SESSION['user_login'] = $row['login'];
$_SESSION['user_password'] = $row['password'];
$_SESSION['user_email'] = $row['email'];
$_SESSION['user_name'] = $row['name'];
$_SESSION['user_fam'] = $row['fam'];
$_SESSION['user_info'] = $row['info'];
$_SESSION['user_city'] = $row['city'];
$_SESSION['user_group'] = $row['group'];
$_SESSION['user_ava'] = $row['avatar'];
$ip=$_SERVER['REMOTE_ADDR'];
$_SESSION['ip'] = $ip;
$result = mysql_query("SELECT * FROM users WHERE login='$login'"); //извлекаем из базы все данные о пользователе с введенным логином
Спустя 11 минут, 3 секунды (12.01.2010 - 20:41) ИНСИ написал(а):
papaiaaa у меня весь сайт на ЧПУ и проблем с сессиями у меня совсем нет. Так что поэксперементируй, создай новый файл и пусть ты потратишь КУЧУ времени, но ты разберешься в этом
по поводу твоего кода, то есть несколько моментов, которые я бы сделал немного по другому, а именно
заменил бы на
а вот это:
замени бы на это:
и чтобы вытащить какое-то значение, писал бы $_SESSION['user']['id'] - то есть вытаскиваем id и т.д.
и or die(mysql_error() вовсе убрал бы, это хорошая помощь для взломщика

по поводу твоего кода, то есть несколько моментов, которые я бы сделал немного по другому, а именно
$login = mysql_real_escape_string($_POST['login']);
заменил бы на
$login = mysql_real_escape_string(stripslashes($_POST['login']));
а вот это:
$_SESSION['user_id'] = $row['id'];
$_SESSION['user_login'] = $row['login'];
$_SESSION['user_password'] = $row['password'];
$_SESSION['user_email'] = $row['email'];
$_SESSION['user_name'] = $row['name'];
$_SESSION['user_fam'] = $row['fam'];
$_SESSION['user_info'] = $row['info'];
$_SESSION['user_city'] = $row['city'];
$_SESSION['user_group'] = $row['group'];
$_SESSION['user_ava'] = $row['avatar'];
замени бы на это:
$_SESSION['user'] = $row;
и чтобы вытащить какое-то значение, писал бы $_SESSION['user']['id'] - то есть вытаскиваем id и т.д.

и or die(mysql_error() вовсе убрал бы, это хорошая помощь для взломщика
Спустя 11 минут, 6 секунд (12.01.2010 - 20:52) papaiaaa написал(а):
Ок)
Спасибо - проэксперементирую поповоду сессий )
А Phpsessid может передоваться так, чтоб значение невысвечивалось в адресной строке?
пс: в логе нашел
[Tue Jan 12 22:50:21 2010] [error] [client 192.168.1.1] File does not exist: /home/host/main/PHPSESSID=5adf11ff7b720f04453aaba3a5895d9b
Это когда с ЧПУ пробовал авторизироваться, возможно вообще таким способом сесии передавать?)
а это когда пытался сдеалть
RewriteEngine on
RewriteBase /
RewriteRule ^user/([0-9-_]+)/$ profile.php?id_usr=$1
[Tue Jan 12 23:15:37 2010] [alert] [client 192.168.1.1] /home/host/.htaccess: RewriteRule: cannot compile regular expression '^user/([0-9-_]+)/$'\n
Может быть опечатка или еще что-нибудь в этом роде?
Спасибо - проэксперементирую поповоду сессий )
А Phpsessid может передоваться так, чтоб значение невысвечивалось в адресной строке?
пс: в логе нашел
[Tue Jan 12 22:50:21 2010] [error] [client 192.168.1.1] File does not exist: /home/host/main/PHPSESSID=5adf11ff7b720f04453aaba3a5895d9b
Это когда с ЧПУ пробовал авторизироваться, возможно вообще таким способом сесии передавать?)
а это когда пытался сдеалть
RewriteEngine on
RewriteBase /
RewriteRule ^user/([0-9-_]+)/$ profile.php?id_usr=$1
[Tue Jan 12 23:15:37 2010] [alert] [client 192.168.1.1] /home/host/.htaccess: RewriteRule: cannot compile regular expression '^user/([0-9-_]+)/$'\n
Может быть опечатка или еще что-нибудь в этом роде?
Спустя 17 минут, 28 секунд (12.01.2010 - 21:10) ИНСИ написал(а):
papaiaaa могу все расписать, но думаю если ты почитаешь этот файл, то найдешь ответы на все свои вопросы:
1. Вот ссылка
2. По поводу
RewriteEngine on
RewriteBase /
RewriteRule ^user/([0-9-_]+)/$ profile.php?id_usr=$1
открой в блокноте и вставь там и сохрани, а потом попробуй посмотреть, будет ли ошибка.
RewriteEngine on
RewriteBase /
RewriteRule ^user/([0-9-_]+)/?$ profile.php?id_usr=$1 [L]
то есть ссылка должна быть теперь http://mySite.ru/user/31/
1. Вот ссылка
2. По поводу
RewriteEngine on
RewriteBase /
RewriteRule ^user/([0-9-_]+)/$ profile.php?id_usr=$1
открой в блокноте и вставь там и сохрани, а потом попробуй посмотреть, будет ли ошибка.
RewriteEngine on
RewriteBase /
RewriteRule ^user/([0-9-_]+)/?$ profile.php?id_usr=$1 [L]
то есть ссылка должна быть теперь http://mySite.ru/user/31/
Спустя 10 минут, 10 секунд (12.01.2010 - 21:20) papaiaaa написал(а):
500 ошибка..
А каким образом мы указываем что:
переменна $1 (я так понимаю сюда заносится номер юзера, тоесть то, что после знака равно profile.php?id_usr = $1 )
стоит после user/ ?
^user/([0-9-_]+)/
А каким образом мы указываем что:
переменна $1 (я так понимаю сюда заносится номер юзера, тоесть то, что после знака равно profile.php?id_usr = $1 )
стоит после user/ ?
^user/([0-9-_]+)/
Спустя 10 минут, 40 секунд (12.01.2010 - 21:31) ИНСИ написал(а):
papaiaaa 500 ошибка, значит у тебя ошибка в файле .htaccess, значит что-то не то. ты сделал в том файле. скинь весь сюда его.....
по поводу $1, то правильно думаешь.
по поводу $1, то правильно думаешь.
Спустя 2 часа, 20 минут, 53 секунды (12.01.2010 - 23:51) papaiaaa написал(а):
1)Так каким же образом указать что после ^user/ должна идти именно переменная?
2)
Вот весь текст
2)
Вот весь текст
php_value error_reporting 7
php_flag display_errors off
php_value session.gc_maxlifetime 10800
php_value session.cookie_lifetime 10800
RewriteEngine on
RewriteBase /
RewriteRule ^user/([0-9-_]+)/?$ profile.php?id_usr=$1 [L]