Автор Тема: <? PHP - вставка все портит!! ?>  (Прочитано 3897 раз)

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

Оффлайн Guard

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 147
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rowing-don.narod.ru
<? PHP - вставка все портит!! ?>
« : 30 Августа 2002, 15:51:23 »
              include("vote/config.txt");
            $date = date("d.m");
            $ip   = $REMOTE_ADDR;
            if(!$voted): form(""); else: vote(); endif;
            
            function form($error) // вывод формы голосования
{
   $fil = file("vote/quest.txt");
   print " $fil[0]            ";
   for ($i=1; $i < sizeof($fil); $i++)
   {
      $temp = explode("=",$fil[$i]);
      print "
\\n";
   }
   print "   
$temp[0]
$error
";
   exit;
}
            ?>

Весь код после этой вставки браузер не парсит.
Открываю страницу "в виде ХТМЛ" - точно. После этой вставки ничего нет - пусто.!!!!!
Хотя в самом файле продолжение есть.

ЗЫ: Файл (куда это вставлено) с расширением .php

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
<? PHP - вставка все портит!! ?>
« Ответ #1 : 30 Августа 2002, 16:02:40 »
Значит, у тебя там критическая ошибка ,после которой выполнение скрипта останавливается.

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
<? PHP - вставка все портит!! ?>
« Ответ #2 : 30 Августа 2002, 16:03:29 »
Цитировать
exit;

убери
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Guard

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 147
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rowing-don.narod.ru
<? PHP - вставка все портит!! ?>
« Ответ #3 : 30 Августа 2002, 17:49:02 »
GotZfild Сэнкс!
Но тут вот.. еще проблемка.....
Вот эти два куска кода в одном файле (votes.php) никак не уживутся вместе...
первый кусок выводит результаты голосования.
второй - форму голосования

первый кусок


         include("vote/config.txt");
         $date = date("d.m");
         
         function vote() // голосуем
{
   global $date, $vote, $checkip, $checkcookie;
   if($checkip) checkip();
   if($checkcookie) checkcookie();
   if($vote):
   if(file_exists("vote/nums/$date.txt"))
   {
      $num = file("vote/nums/$date.txt");
      $num[0] += 1;
      $f = fopen("vote/nums/$date.txt","w");
      fputs($f,$num[0]);
      fclose($f);
   }
   else
   {
      $f = fopen("vote/nums/$date.txt","w");
      fputs($f,"1");
      fclose($f);
   }
   $fil = file("vote/quest.txt");
   $temp = explode("=",$fil[$vote]);
   $temp[1] += 1;
   $fil[$vote] = $temp[0]."=".$temp[1]."\\n";
   $f = fopen("vote/quest.txt","w");
   foreach($fil as $fi)
   {
      fputs($f,$fi);
   }
   fclose($f);
   else:
   form("Вы не выбрали ни одного пункта!");
   endif;
   
}

function checkip() // Проверка IP
{
   global $ip;
   $filip = file("vote/ips.txt");
   foreach($filip as $fi)
   {
      if(chop($fi) == $ip)
      {
         form("C этого компьютера уже голосовали!");
      }
   }
   $f = fopen("vote/ips.txt","a");
   fputs($f,"$ip\\n");
   fclose($f);
}

function checkcookie() // проверка cookie
{
   global $www_voter,$cookietime;
   if($www_voter == "yes")
   {
      form("C этого компьютера уже голосовали!");
   }
   else
   {
      setcookie("www_voter","yes",time()+$cookietime);
   }
}

// выводим результаты

$fil = file("vote/quest.txt");
for ($i=1; $i < sizeof($fil); $i++)
{
   $temp = explode("=",$fil[$i]);
   $mess[$i] = $temp[0];
   $num[$i] = chop($temp[1]);
}
$max = 0;
$sum = 0;
for ($i=1; $i < sizeof($fil); $i++)
{
   $sum = $sum + $num[$i];
   if($num[$i] > $max) $max = $num[$i];

}
if($max == 0)
{
   $max = 1;
}
$koeff = $graphLenght/$max;
print " $fil[0]

\\n";
print "\\n";
$c = 1;
for ($i=1; $i < sizeof($fil); $i++)
{
   $width = floor($num[$i]*$koeff);
   $number += $num[$i];
   $percent = 0;
   if($sum != 0)
   {
      $percent = $num[$i]/$sum*100;
      $percent = floor($percent*100+0.5)/100;
   }
   $image = "vote/img/$i.gif";
   if($width == 0)
        {
      if($c == 0) { $c = 1; print "\\n"; }
      else { $c = 0; print "\\n"; }
   }
   else
   {
      if($c == 0) { $c = 1; print "\\n"; }
      else { $c = 0; print "\\n"; }
   }
}
$today = file("vote/nums/$date.txt");
if(!$today[0]) { $today[0] = 0; }
print "
$mess[$i] $num[$i] чел. ($percent%)
$mess[$i] $num[$i] чел. ($percent%)
$mess[$i] $num[$i] чел. ($percent%)
$mess[$i] $num[$i] чел. ($percent%)

 Всего голосов: $number 
 Голосов сегодня: $today[0] 



";
         ?>


второй кусок


              include("vote/config.txt");
            $date = date("d.m");
            $ip   = $REMOTE_ADDR;
            
            function form($error) // вывод формы голосования
{
   $fil = file("vote/quest.txt");
   print " $fil[0] 
           ";
   for ($i=1; $i < sizeof($fil); $i++)
   {
      $temp = explode("=",$fil[$i]);
      print "
\\n";
   }
   print "   
$temp[0]
$error
";

   }
            ?>
            
получается так, что второго куска вообще нет.
Открыл в виде ХТМЛ - там пусто.....
Я подумал - скрипт не может сам к себе обратиться (action=votes.php), но дело видно не в этом..

Помогите!!!!

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
<? PHP - вставка все портит!! ?>
« Ответ #4 : 30 Августа 2002, 21:34:57 »
Во-первых, может. Скажу тебе по секрету, обычный прием в этом случае такой:
if (!isset($name))
{
//Печать формы
}
else
{
//Обработка формы
}
Где $name - имя одной из переменных формы.

А что касается твоего куска - с чего бы ему что-нибудь выводить? Ты же нигде функцию не вызываешь
TANSTAAFL

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
<? PHP - вставка все портит!! ?>
« Ответ #5 : 30 Августа 2002, 23:10:55 »
Цитировать
print "
Всего голосов: $number
 Голосов сегодня: $today[0]



";

[off]Это вообще крутой подход :gigi:[/off]
В дополнение - не надо два раза делать
Цитировать
include("vote/config.txt");

ДОстаточно одного...
Maniac
прав. функцию-то ты вызвать забыл :)
AS IS...

Оффлайн Guard

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 147
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rowing-don.narod.ru
<? PHP - вставка все портит!! ?>
« Ответ #6 : 31 Августа 2002, 09:11:27 »
Maniac
Цитировать
А что касается твоего куска - с чего бы ему что-нибудь выводить? Ты же нигде функцию не вызываешь

А в другом фале этот кусок выводит форму.
Мистика????

Оффлайн Доктор

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 487
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
<? PHP - вставка все портит!! ?>
« Ответ #7 : 04 Сентября 2002, 02:05:57 »
Guard
Ты знаешь что такое функция?

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
<? PHP - вставка все портит!! ?>
« Ответ #8 : 04 Сентября 2002, 21:01:58 »
Guard
Кстати, вдогонку. print "$name[0]" выведет не первый элемент массива $name (как может показаться), а
Цитировать
Array[0]
TANSTAAFL

Оффлайн Guard

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 147
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rowing-don.narod.ru
<? PHP - вставка все портит!! ?>
« Ответ #9 : 04 Сентября 2002, 22:32:55 »
Maniac  а как сделать так, чтобы первый элемент выводил?

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
<? PHP - вставка все портит!! ?>
« Ответ #10 : 05 Сентября 2002, 21:32:13 »
Почитать на
http://www.php.net/manual/en/printwn/language.types.string.php#language.types.string.parsing

Кстати, можешь почитать всю страницу целиком :))
TANSTAAFL

 

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