Автор Тема: Как соединить в одно целое?  (Прочитано 7174 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Techna

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как соединить в одно целое?
« : 21 Июля 2002, 13:12:18 »
Подскажите чайнику :)

Пишу скрипт, который должен вывести хтмл-страницу с формой таким образом: "шапка", форма, "хвост".
"Шапка" длинная, содержит ява-скрипты, таблицу стилей ит.д.

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

include ("1.inc");//шапка
echo("\\n\\n

Ваш заказ

");
include("2.inc");

проблема: при активации формы вылезает ошибка 404 ((
если вместо include() поставить обычное echo("");  , то форма работает. (с "хвостом" проблем нет).
Пробовала require()  вместо include() ,пробовала читать шапку в массив и выводить по одной строке, пробовала объединять массив в строку и выводить ее - не получается.

Как надо правильно?

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как соединить в одно целое?
« Ответ #1 : 21 Июля 2002, 13:58:08 »
А ты уверена, что у тебя 1.inc имеется в наличии  в той же папке? Или что в какой-нить противный .htaccess не валяется?
TANSTAAFL

Оффлайн Techna

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как соединить в одно целое?
« Ответ #2 : 21 Июля 2002, 14:17:19 »
Maniac
Уверена.
СОДЕРЖИМОЕ 1.inc  ВЫВОДИТСЯ, А ФОРМА НЕ РАБОТАЕТ!

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как соединить в одно целое?
« Ответ #3 : 21 Июля 2002, 14:19:53 »
Ну дык... Давайт текст 1.inc, 2.inc и скрипта - препарировать будем
TANSTAAFL

Оффлайн Covex

  • Только встал и уже устал.
  • Постоялец
  • ***
  • Сообщений: 208
  • +0/-0
  • 2
    • Просмотр профиля
Как соединить в одно целое?
« Ответ #4 : 21 Июля 2002, 14:46:33 »
проверь хтмл, который выводится.....

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Как соединить в одно целое?
« Ответ #5 : 21 Июля 2002, 15:04:21 »
Цитировать
\\n\\n

А это зачем?
AS IS...

Оффлайн advocat

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 73
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.php.net.ua
Как соединить в одно целое?
« Ответ #6 : 21 Июля 2002, 15:14:44 »
Цитировать
\\n\\n
А это зачем?

Вообщето это роли не играет ...
Тебе правильно посоветовали смотривыводимый код, проще иногда искать ошибки! Или просто создай 2 функции
например do_html_header() & do_html_footer(), где первая вывод начала, 2 конца. И у тебя точно не будет проблем с выводом начала и конфа файла ну и вначале просто инклудь этот файл с фун-циями ...
заходите в гости
адвокат, это не профессия, это диагноз ! [ обитаю в PHP ]

Оффлайн Techna

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как соединить в одно целое?
« Ответ #7 : 21 Июля 2002, 15:35:47 »
Текст скрипта (интернет-магазин, это не единственный скрипт магазина, но проблема в нем ((  ). Включаемые файлы имют размер ~ по 30kb, пхп кода в них нет.



session_start();
$my_email="techna@rambler.ru";
$subject="заказ на feel-beauty.ru";
   switch($mode) {
  case "newfile": ////////
 // session_unregister("mode");
   if (!isset($user_id)) {
     $user_id=session_id();
   session_register("user_id"); }
$fnamen= "/home/u6531/feel-beauty.ru/tmp/".$user_id.".txt";
$pokupka = fopen($fnamen,"a");
$datain= $id."/".$nazvanie."/".$cena."\\n";
fputs($pokupka, $datain);  
fclose($pokupka);
////////////////////////////////////////////////
//ВОТ ЗДЕСЬ ВСТАВЛЯЕТСЯ "ШАПКА", ПОСЛЕ К-РОЙ НЕ РАБОТАЕТ ФОРМА. ЕСЛИ ЕЕ УБРАТЬ ИЛИ НАПИСАТЬ НАПРИМЕР echo(""), то проблем не возникает.

include("1.htm");   //не работает ни с 1.inc, ни с 1.txt

//echo("");

//ФОРМА. цикл выводит таблицу с товарами. Здесь покупатель может менять кол-во товара
echo("\\n\\n

Ваш заказ

");
echo("");
$fnamen= "/home/u6531/feel-beauty.ru/tmp/".$user_id.".txt";
$m = file($fnamen) or die("файл не найден");
$c=count($m);
session_register("c");
  for ($i = 0; $i <= $c; $i++)
  {      
   $massiv=explode("/",$m[$i]);
   $tov[$i][\'id\']=$massiv[0];
      $tov[$i][\'nazvanie\']=$massiv[1];
   $tov[$i][\'cena\']=$massiv[2];
   $tov[$i][\'kolvo\']= "1" ;
   if ($tov[$i][\'nazvanie\']!="")  echo("\\n");
 
    }
   session_register("tov");
   $mode="form_zak";
   session_register("mode");
   echo("");  
    echo("
арт.названиеценакол-во
".$tov[$i][\'id\']."".$tov[$i][\'nazvanie\']."".$tov[$i][\'cena\']."
");
   
   //"ХВОСТ"
   
  include("2.htm");

///////////////////////////////////////////////////////

   unset($i);
 break;
 
 case "form_zak":      //выводит окончательный вариант заказа  
    echo("

Ваш заказ

");
    echo("");
$fnamen= "/home/u6531/feel-beauty.ru/tmp/".$user_id.".txt";
$datain1=" ";
$pokupka1 = fopen($fnamen,"w");
fputs($pokupka1, $datain1);  
fclose($pokupka1);
$pokupka = fopen($fnamen,"a");
    for ($i = 0; $i <= $c; $i++){
    $a=$i;
    $sum = $$a * $tov[$i][\'cena\'];
    $tov[$i][\'kolvo\'] = $$a;
    if ($tov[$i][\'nazvanie\']!="")    echo("");
 $datain=$tov[$i][\'id\']."/".$tov[$i][\'nazvanie\']."/".trim($tov[$i][\'cena\'])."/".$tov[$i][\'kolvo\']."/".$sum."\\n";

fputs($pokupka, $datain);                      
        }
      fclose($pokupka);
   echo("");
   echo("");  
    echo("
арт.названиеценакол-восумма
".$tov[$i][\'id\']."".   $tov[$i][\'nazvanie\']."".$tov[$i][\'cena\']."".$$a."".$sum."


   
   


   
   


   
   


   
   


   
   

Имя:
email:
Телефон:
Адрес:
Комментарий:

");
    unset($tov);
   unset($i);
   unset($c);
 break;
 
 case "post":          ///////////////////////////
 //****************************
 $u=$user_id;//делаем так, чтобы переменная не зависела от сессии
 session_destroy($user_id);//уничтожаем сессию
 unset($user_id);
  include "mailclass.inc";
 $time=date("d-m-Y  H.i");
 $mail = new multi_mail;
$mail->from = "from@mydomen.net";
$mail->to = $my_email;
$mail->subject = $subject;
$mail->body = "Поступил заказ\\n\\n  от: ".$name."\\n\\n e-mail:".$email."\\n\\n адрес:".$adress."\\n\\n телефон:".$telephone."\\n\\n заказ получен:".$time."\\n\\n комментарий:".$kommentar."\\n\\n  содержание:\\n";
$filez= "/home/u6531/feel-beauty.ru/tmp/".$u.".txt";
//@copy($filez,$DOCUMENT_ROOT."/$filez_name");
//$file_name = \'/\'.$filez_name;
$file_type = $filez_type;
$file_name=$filez;
$file_desc = @fopen($file_name,"r");
$file_data = @fread($file_desc,filesize($file_name));
             @fclose($file_desc);
 $file_size = filesize($file_name);
 @chdir(\'test/\');
$mail -> attach_file($filez_name,$file_data,$file_type);
$mail->send_mail();

echo"

Спасибо! Заказ получен.

";
 break;
}
?>

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как соединить в одно целое?
« Ответ #8 : 21 Июля 2002, 16:17:48 »
Была у человека такая же проблема.
Только я не помню, как ее решили, и решили ли вообще...

Оффлайн advocat

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 73
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.php.net.ua
Как соединить в одно целое?
« Ответ #9 : 21 Июля 2002, 16:32:45 »
еще раз тебе говорю попробуй написать шапку через функцию
тобишь

function do_html_header() {
  // здесь содержимое 1.inc
}

инклудь файл, в любом месте ! и просто пропиши
do_html_header();
и все будет работать !
заходите в гости
адвокат, это не профессия, это диагноз ! [ обитаю в PHP ]

Оффлайн Techna

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как соединить в одно целое?
« Ответ #10 : 21 Июля 2002, 16:54:44 »
RomikChef
Интересный момент: сохранила  страницу с выводом скрипта отдельно с другим именем - шапки и хвоста нет, только форма!!! А если из броузера смотреть как в виде хтмл - все на месте!
В первом случае даже не хочу писать, как форма"работает"   :-\\  ,во втором - ошибка 404, хотя все в одном каталоге ...
Обыкновенная хтмл-страница, объемная, но сбоев давать не должна... глюк?

Оффлайн Techna

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как соединить в одно целое?
« Ответ #11 : 21 Июля 2002, 17:00:51 »
advocat
Глупый вопрос:

function do_html_header() {
// здесь содержимое 1.inc
//Вот так?
Здесь все 30 кб хтмлкода?
}

просто содержимое или при помощи include/require/print ... внутри do_html_header()

Оффлайн Covex

  • Только встал и уже устал.
  • Постоялец
  • ***
  • Сообщений: 208
  • +0/-0
  • 2
    • Просмотр профиля
Как соединить в одно целое?
« Ответ #12 : 21 Июля 2002, 23:12:30 »
напиши функцию типа
Цитировать

function do_html_header() {
echo "";
}

засади вызов do_html_header() где нужно ...
если все работает (а оно не может не работать -  это тоже самое  твое эхо )  засади туда весь необходимый код. Смотри за  ""  в коде яваскритпа их надо слешить. и проверь еще раз выводимый хтмл - где нить ошибка.

Оффлайн Oak

  • Дерево
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1481
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как соединить в одно целое?
« Ответ #13 : 21 Июля 2002, 23:19:16 »
В каком каталоге ты его положила?
Дело в том что в апаче , особенно виндовом , много директив
Alias и  ScriptAlias

Т.е если создать каталог php и туда file.html
то http://server/php/file.html  - не будет находиться!!!!!!!!!
Потому как есть Script alias , который указывает на местолежания
PHP движка - http://server/php/php.exe
[основной броузер - SeaMonkey] Netscape Communicator 4 - is the best :) // see sources

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Как соединить в одно целое?
« Ответ #14 : 21 Июля 2002, 23:23:06 »
Oak
Цитировать
в апаче , особенно виндовом , много директив

Это какие же директивы есть в виндовом и нет в никсовом?
Поделись, плз... :)
AS IS...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28