Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывод контента
 
 автор: ruslanaxti   (23.04.2011 в 01:40)   письмо автору
 
 

Цитата:
Ну очень сложно новичку в программировании! - автор ruslanaxti

Простите что всегда с большим объемом кода
У меня на сайте контент выводится таким образом:

Например есть ссылка в меню (index.php?Mymenu=mr) которая показывает при нажатии форму поиска. В том месте где должен выводится контент ( в донном случаи форма) есть код

if($_GET['Mymenu']=='mr'){
выполняем код
}

в этом меню много ссылок и все они обрабатываются так

if($_GET['Tab']=='event'){
выполняем код
}

if(isset($_POST['auth'])){
авторизация
}

Я хочу узнать правильный ли это метод? Разные CMS применяют такой метод выполнения скриптов или у них есть другая наработанная система? Просто у меня с этим возникла проблема. Все ссылки таким образом работают, а вот одна не хочет (показывает что страница не найдена).

<a href="city.php?Mymenu=friends">Друзья</a> при нажатии на ссылке ее обрабатывает функция
if($_GET['Mymenu']=='friends'), которая выводит форму поиска. В эту форму ввожу данные, она выводит найденного пользователя

<form action="city.php" method="get">
<input name="family" type="text" id="search_form" value="" />
<input type="submit" value="Найти" class="send_searchusers" />
<input type="hidden" value="213" name="hd"/></td></tr>
</table></form>

эта форма обрабатывается так:
if($_GET['hd']=='213'){
поиск
}

она выводит данные пользователя и ссылку в таком виде <a href="city?friends=add">Добавить в друзья</a>. При нажатии на ссылки она выдает "страница не найдена error 404"
Сама ссылка обрабатывается так

if($_GET['friends']=='add'){
вставка в базу
}

Так мне не понятно почему другие ссылки так работают а именно эта нет!!! Я от нее устал

Может быть из-за того что при поиске в строке браузера строка принимает вид city.php?family=саркаров&name=&city=&hd=213 и на этой же страцице выводится эта самая ссылка при нажатии на которой это if($_GET['friends']=='add') неверно обрабатывается.

Скрипт который выводит контент стоят последовательно, все в одном файле

if($_GET['hd']=='213'){
форма
}

if($_GET['friends']=='add'){
ссылка
}

  Ответить  
 
 автор: parczynski   (23.04.2011 в 03:20)   письмо автору
 
   для: ruslanaxti   (23.04.2011 в 01:40)
 

думаю гораздо удобнее было бы использовать одну переменную для назначения задания (например option как это происходит в joomla) и дальше переключатель switch
switch($_GET['option']) 
{
case 'event':
выполняем код;
break;
case 'mr'':
выполняем код
break;
и так далее
}

а для конкретного задания таким же образом обрабатывать конкретные задачи типа save edit и так далее. ну и где выполняем код лучше инклудить модули которые за этот код отвечают. разделяя визуальную часть программирования от выборки и обработки запросов.
case 'event':
include('modules/event/html.php');
include('modules/event/index.php');
break;

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

  Ответить  
 
 автор: ruslanaxti   (23.04.2011 в 13:32)   письмо автору
 
   для: parczynski   (23.04.2011 в 03:20)
 

Получается код который у меня примерно такой же, в принципе он правильный?

И самое главное, скажите пожалуйста про ту нерабочую ссылку. Что в ней может быть не так?

  Ответить  
 
 автор: cheops   (23.04.2011 в 15:11)   письмо автору
 
   для: ruslanaxti   (23.04.2011 в 13:32)
 

><a href="city?friends=add">Добавить в друзья</a>
А почему у вас city, если скрипт называется city.php, нужно добиться того, чтобы появилось расширение после имени файла перед символом знака вопроса ?

  Ответить  
 
 автор: ruslanaxti   (23.04.2011 в 15:25)   письмо автору
 
   для: cheops   (23.04.2011 в 15:11)
 

Дааа!!! Черт возьми, я конкретно облажался!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования