Страница 1 из 1
поругайте на код php
Добавлено: 2009-05-20 5:29:11
ProFTP
есть код, на пхп мало пишу, вроде бы разобрался с програмой, все работает, одну страницу написал
нету ли групых ошибок? там есть ньюансы, но про них долго рассказывать, я старался сделать по тому стилю который в этой программе писали...
посмотрите первый код на php и на html (в html все вроде бы праивльно) остальное я привел для пример, или для интереса...
skiped...
Re: поругайте на код php
Добавлено: 2009-05-20 7:32:11
zg
ProFTP писал(а):нету ли групых ошибок?
так... многоскриптовые проекты надо выкладывать одинм архивом. Эти портянки читать невозможно, если хочешь совета, поправь пост и изложи суть проблемы.
Re: поругайте на код php
Добавлено: 2009-05-20 16:01:04
ProFTP
сори, а синтаксических ошибок грубых нету в первом скрипте в самом вверху??
Re: поругайте на код php
Добавлено: 2009-05-20 17:32:49
ProFTP
а ч почему там "собака" стоит??
в первые вижу...
это потомучто оно в функцию передается?
Re: поругайте на код php
Добавлено: 2009-05-20 17:42:41
zg
ProFTP писал(а):а ч почему там "собака" стоит??
потому что программер поленился проверить наличие переменной
ProFTP писал(а):а синтаксических ошибок грубых нету в первом скрипте в самом вверху??
а пхп их выдаёт?
Re: поругайте на код php
Добавлено: 2009-05-20 18:12:59
ProFTP
в логи писало в error.log я исправил несколько переменных, уже не пишет...
Re: поругайте на код php
Добавлено: 2009-05-20 19:07:26
zg
ProFTP писал(а):все работает
тогда не парься

Re: поругайте на код php
Добавлено: 2009-05-27 0:21:27
ProFTP
Есть сайт со следующей структурой:
/main.css
/index.php
/files/
/images/
как написать правило для mod_rewrite. При котором пользователь может напрямую
обращаться к файлу /main.css, а также к любым файлам в папках /files/ и
/images/ но только если файлы существуют. Все остальные запросы должны
перенаправляться на файл /index.php (не редирект)
Re: поругайте на код php
Добавлено: 2009-05-27 0:32:31
Alex Keda
Код: Выделить всё
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)/(.*)/(.*)/ index.php?town=$1&general_cat=$2&sub_cat=$3&page=$4 [NC]
Re: поругайте на код php
Добавлено: 2009-05-27 1:02:28
ProFTP
задание по-моиму не такое как ты написал...
что значит НЕ редирект никто не знает?
Re: поругайте на код php
Добавлено: 2009-05-27 7:40:41
zg
lissyara писал(а):^(.*)/(.*)/(.*)/(.*)/
жесть
ProFTP писал(а):Все остальные запросы должныперенаправляться на файл
1. выставляешь 404 ошибку на index.php
2. кладёшь во все недвижковые папки .htaccess, в котором вырубаешь мод_реврайт
3. в индексной папке при помощи реврайта заворачиваешь всё и вся на индекс.пхп
Re: поругайте на код php
Добавлено: 2009-05-27 8:42:44
Alex Keda
zg писал(а):lissyara писал(а):^(.*)/(.*)/(.*)/(.*)/
жесть
а как лучше?
Re: поругайте на код php
Добавлено: 2009-05-27 9:04:47
zg
lissyara писал(а):а как лучше?
при твоём варианте получается разрозненная логика, намного лучше, если реврайт будет пихать адрес в одну переменную, которую потом будет обрабатывать скрипт.
например так
Код: Выделить всё
RewriteRule ^(.*)$ index.php?q=$1 [NC]
...
index.php
<?
...
@list($town, $general_cat, $sub_cat, $page) = split('/', $_GET['q']);
...
?>
то есть вся логика обработки адреса переходит в index.php, а .htaccess становится более универсальным, что удобно при доработке или просто для понимания логики.
Но я использую немного другой код
Код: Выделить всё
## Запросы, которые идут к разделам и файлам php, направляем на индекс
RewriteCond %{REQUEST_URI} \.php$ [OR]
RewriteCond %{REQUEST_URI} /$ [OR]
RewriteCond %{REQUEST_URI} /[^\.]+$
RewriteRule ^(.*)$ index.php?q=$1&%{QUERY_STRING} [L]
в принципе очень удобно - если запрос к пхп или резделу, то идёт посылка на индекс, если нет, то ничё не происходит.