[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Динамический сайт
badenbaden
Вот решил написать интернет магазин на php не для коммерции так чтобы получше узнать php хочу найти работу связанную с php или вебом. По создавал все блоки (регистрацию, добовление товара, редактирование и тд все заноситься в БД). Но вот возник вопрос как их все объединить. Почитал в инете мол создайте страничку в которой подключаете все основные блоки ну типа меню регистрацию каталог, и подключайте в других страницах эту основную. Нашел пример создания динамического сайта в кратце, но все равно не особо получается , тогда решил создать что то малое чтобы потом перенести на основной сайт. И так:
Файл: .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9]+) index.php?section=$1
Файл: index.php
<table border="1" width="100%" height="50%" >
<tr>
<td width="20%" bgcolor="#FFCCDD" ><center><?php echo "<a href ='1'>Файл номер 1</a><br>"; echo "<a href ='2'>Файл номер 2</a><br>"; </center></td>
<td width="60%" bgcolor="#BBCCDD" >
<?php
if(empty($_GET[section])|| !file_exists("$_GET[section].php"))
{
echo("Вы не нажали на меню");
}
else
{
$my_file = include("$_GET[section].php");
}
echo($my_file);
?>
</td>
<td width="20%" bgcolor="#BBFFDD">Относиться к разделу: </td>
</tr>
</table>
Файл: 1.php
<table border="1" width="100%" height="100%" >
<tr>
<td width="100%" bgcolor="#0033FF">php код:<</td>
</tr>
<tr>
<td width="100%" bgcolor="#CCFF33" >это типа 1.php</td>
</tr>
</table>
Файл: 2.php
<table border="1" width="100%" height="100%" >
<tr>
<td width="100%" bgcolor="#FFFFFF">
<form name="upload" action="upload.php" method="POST" ENCTYPE="multipart/form-data">
Название товара:</br>
<input type='text' name='productName'></br>
<input type="submit" name="upload" value="Подтвердить"></br>
</form>


</td>
</tr>
<tr>
<td width="100%" bgcolor="#0000FF" >это типа 2.php</td>
</tr>
<tr>
<td width="100%" bgcolor="#FF0000" >это типа 2.php</td>
</tr>
</table>
upload.php
<?php
if(isset($_POST['productName']))
{
echo($_POST['productName']);
}
?>
Так вот когда я в index.php выбираю ссылку номер два мне в центре index.php подгружается файл 2.php открывается форма я ввожу текст нажимаю на кнопку и мне выводиться файл upload.php тут я хочу чтобы эта страница upload.php выводилась как и 1.php и 2.php в центре index.php. а не заново. Само собой это в этом примере я все уменьшил на самом деле каждый файл выполняет много функиции и отображает кучу данных. Если есть кто знает как это реализовать напишите пожалуйста. Или кто знает другой способ как можно объединить все блоки магазина тоже отпишитесь.





Спустя 7 минут, 12 секунд (17.07.2011 - 20:40) DeeKeiD написал(а):

switch($_GET['section'])
{
case "1": include('1.php'); break;
case "2": include('2.php'); break;
case "upload": include('upload.php'); break;
default: include('main.php'); break;
}

Как-то так
А лично я предпочитаю обработку формы делать в том же самом файле который инклюдится,например:

if($_POST['add'])
{
// ф-я обработки
}
else
{
// форма добавления с action=""
}

Спустя 4 часа, 9 минут, 50 секунд (18.07.2011 - 00:50) bodja написал(а):
Ну поздравляю,
Вы подошли к тому этапу понимания того ,что то ,что вы создали, никуда не годится biggrin.gif
Итак начнем заново.

1 Идем в инет ,тащим шаболон попроще,что бы было понятно куда и что.
2 Это у нас и будет index.php
3 Дорисовываем на той же странице динамические формы,посты,сообщения,регистрации,таблицы представление товара и т.д.
4 По ходу нам приходит понимание ,что и куда будем вставлять в эти формы.И как они будут держатся на верстке и смотрется на странице.
5 Теперь вырезаем эти формы и создаем на их базе библиотеку динамических форм,не мудрствуя лукаво назовем например LDF.php
6 Вот к ней и будем обращаться за разными по ходу формами со своих модулей,тоесть там больше графики,в модулях больше кода.
7 Ну этап создания модулей -я думаю мы успешно прошли smile.gif,осталось немного раскинуть мозгами как подключить нужную форму и когда вывести.
8 DeeKeiD - уже написал smile.gif ,это цепляем на index.php желательно это сделать перед выводом страницы,возможно у Вас будут в дальнейшем не только динамические формы ,но и динамический вывод css js,вывод кнопок меню и т.д.Ну и все в нужных местах через переменные выводим,как результат работы выбраного модуля.
9 Пока все.

Спустя 3 часа, 48 минут, 59 секунд (18.07.2011 - 04:39) Haotarez написал(а):
Не в первый раз натыкаюсь на сообщение в Интернете о том, что люди начинают осваиваться в сфере веб-коддинга беря за учебный проект Интернет-магазин - плохое начало.

Я вот начинал когда заниматься всеми этими делами и не понимал даже различия между echo 'hello'; и echo "hello"; я писал чат, потом простецкий сайт, потом гесту, потом попробовал это скомпоновать, потом написал первую CMS и понеслось, программить Интернет-магазины я начал без малого всего 4 года назад и до сих пор во многих фичах безопасности просвечиваются дыры..

Прошу простить за долгое вступление, так вот, делая магазин - надо сразу приучать себя к MVC(d) т.к. это самый требовательный из ресурсов к модификациям кода, дизайна, и вечно расширяющийся.

Если нужен опыт именно в этой сфере, и тем более если вы хотите это продавать, то откажитесь от процедурного кода уже сегодня! smile.gif

Не поленюсь как-нибудь и сделаю курс в котором расскажу как сделать магазин вроде озона или ситилинка тока много круче : )

bodja вы пропустили "пункт номер 0 - Пишем себе ТЗ" - понимание задачи = половине её решения.

Спустя 11 часов, 31 минута, 20 секунд (18.07.2011 - 16:10) badenbaden написал(а):
DeeKeiD
СПС конечно но ты попробуй создай файлы с кодом который я написал, там и без Свича все норм работает. Свич хорош когда используешь два три файла а представь у тебя их десятки это получиться гиганский свич, и обрати внимание у меня в главном файле реализовано намного удобней, поэтому свич не подойдет.
Bodja
Первые 4 пункта у меня и так реализованы а как реализовать остальные, я вот не знаю если подскажешь буду только рад . Ну а лучше разжуй)) или дай ссылки где почитать.
Haotarez
Я уже писал мелки программы типа голосования и т.д. И само собой я не ставлю великой идеи что написанный мной магазин будет круче всех и вопрос дыр то есть безопасности в нем даже не стоит это вообще отдельный разговор)) у меня стоит цель разобраться как объединять различные блоки. Сами блоки там регистрации, работа с БД, работа с товаром ,корзиной это все я прекрасно понимаю как реализовывать и в принципе легко написал, я хочу узнать о способе как это все можно объединять??
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.