Автор Тема: Проверьте скрипт  (Прочитано 3664 раз)

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

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
Проверьте скрипт
« : 22 Июня 2002, 07:30:57 »
Скрипт находится по адресу http://ofp.dem.ru/temp/index.php. Заполнение формы: http://ofp.dem.ru/temp/index.php?action=send.

Страница почему-то не загружается, зависает, локально тоже висит. Если найдете в скрипте ошибки исправьте, plaese:


<?
$file "data/news.txt";
$data date ("H:i. d.m.y");
function 
form() {
 
?>
 <table width=100%><tr>
 <td align=left>Автор</td>
 <td align=right><form action=index.php method=post><input type=text name="name"></td></tr><tr>
 <td align=left>E-mail</td>
 <td align=right><input type=text name="email"></td>
 <td align=left>Новость</td>
 <td align=right><textarea name="news" cols=30 rows=8></textarea></td></tr><tr<td>
 <input type=submit value=send></form></td></tr></table>

<? }
function 
write($data$name$email$news) {
  
$ffopen ($file"r");
  
$old fread ($filefilesize($file));
  
fclose ($f);
  
$f fopen ($file"w+");
  
fputs ($f"$data\\n");
  
fputs ($f"$name\\n");
  
fputs ($f"$email\\n");
  
fputs ($f"$news\\n");
  
$mess ereg_replace ("\\n"" "$mess);
  
fputs ($f"$mess\\n");
  
fwrite ($f$old);
  
fclose ($f);
}
function 
main() {
  
$f fopen ($file"r");
  while(
1) {
    
$data fgets ($f10);
    
$name fgets ($f10);
    
$email fgets ($f10);
    
$news fgets ($f10);
    
$mess fgets ($f10);
    if (
feof($f)) break;
    echo 
"<hr>$news";
    echo 
"<p align=right>";
    echo 
"<font size=-1>Прислал: <a href=mailto:$email>$name</a> $data</font></p>";
    
    }
  
fclose ($f);
  }
?>
<?
if (action == "send") {
form();
} else {
main();
}
?>


the cold war is not over...

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Проверьте скрипт
« Ответ #1 : 22 Июня 2002, 10:54:07 »
Цитировать
while(1) {

Это ты сам придумал, или подсказал кто?
Цикл-то бесконечный. Потому и виснет.
AS IS...

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Проверьте скрипт
« Ответ #2 : 22 Июня 2002, 11:03:36 »
И вообще:

function main() {
	
GLOBAL 
$file;
  
$f fopen ($file"r");
  while(!
feof($f)) {
    
$data fgets ($f10);
    
$name fgets ($f10);
    
$email fgets ($f10);
    
$news fgets ($f10);
    
$mess fgets ($f10);
    print(
"<hr>$news");
    print(
"<p align=right>");
    print( 
"<font size=-1Прислал: <a href=mailto:$email>$name</a> $data</font></p>");
    }
  
fclose ($f);
  }
AS IS...

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Проверьте скрипт
« Ответ #3 : 22 Июня 2002, 13:15:37 »
Цитировать
if (action == "send") {

action - это константа?
Цитировать
function write($data, $name, $email, $news)

Лучше смени название функции (оно уже зарезервировано)
А где эта функция вообще используется?
function write_data($data$name$email$news) {
  GLOBAL 
$mess;
  
$ffopen ($file"r");
  
$old fread ($filefilesize($file));
  
fclose ($f);
  
$f fopen ($file"w");// зачем w+ ?
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Проверьте скрипт
« Ответ #4 : 22 Июня 2002, 13:18:34 »
GotZfild
Забыл
GLOBAL $file
AS IS...

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Проверьте скрипт
« Ответ #5 : 22 Июня 2002, 14:10:33 »
ThE0ReTiC, согласен.
$ffopen ($file"r");
  
$old fread ([u]$f[/u], filesize($file));

На счет $mess: у  тебя ведь даже в форме ее нет.
PS. ThE0ReTiC, это ты ради меня сменил сигнатуру? Польщен :). Только там было
"Нет, я не Байрон, я другой,
Еще неведомый избранник,
Как он, гонимый миром странник..."
(c) Лермонтов.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Проверьте скрипт
« Ответ #6 : 22 Июня 2002, 14:13:56 »
Цитировать
PS. ThE0ReTiC, это ты ради меня сменил сигнатуру? Польщен . Только там было
"Нет, я не Байрон, я другой,
Еще неведомый избранник,
Как он, гонимый миром странник..."
(c) Лермонтов.

[off]Я в курсе. :) Просто другое среденго рода как кое-что еще. Это вольная интерпретация :)[/off]
AS IS...

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
Проверьте скрипт
« Ответ #7 : 22 Июня 2002, 15:49:09 »
а все-равно что-то не работает, новости идут не в том формате, например: прислал, нет такого слова вообще.
Опять выкладываю на обработку вам:

<?php
$head 
"новости";
require (
"files/shablon1.php");


$file "data/news.txt";
$data date ("H:i. d.m.y");
function 
form() {
 
?>
 <table width=100%><tr>
 <td align=left>Автор</td>
 <td align=right><form action=index.php method=post><input type=text name="name"></td></tr><tr>
 <td align=left>E-mail</td>
 <td align=right><input type=text name="email"></td>
 <td align=left>Новость</td>
 <td align=right><textarea name="news" cols=30 rows=8></textarea></td></tr><tr<td>
 <input type=submit value=send></form></td></tr></table>

<?php }
function 
write_data($data$name$email$news) {
   global 
$file;
  
$ffopen ($file"r");
  
$old fread ($ffilesize($file));
  
fclose ($f);
  
$f fopen ($file"w");
  
fputs ($f"$data\\n");
  
fputs ($f"$name\\n");
  
fputs ($f"$email\\n");
  
fputs ($f"$news\\n");
  
fwrite ($f$old);
  
fclose ($f);
}
function 
main() {
    GLOBAL 
$file;
  
$f fopen ($file"r");
  while(!
feof($f)) {
    
$data fgets ($f10);
    
$name fgets ($f10);
    
$email fgets ($f10);
    
$news fgets ($f10);
    
$mess fgets ($f10);
    print(
"<hr>$news");
    print(
"<p align=right>");
    print( 
"<font size=-1Прислал: <a href=mailto:$email>$name</a> $data</font></p>");
    }
  
fclose ($f);
  }
  
?>
<?php
if (action == "send") {
form();
} else {
main();
}

require (
"files/shablon2.php");
?>
the cold war is not over...

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Проверьте скрипт
« Ответ #8 : 22 Июня 2002, 15:56:02 »
Цитировать
"

Тэг закрой. :abuse:
И пиши внимательнее.
AS IS...

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Проверьте скрипт
« Ответ #9 : 22 Июня 2002, 16:17:01 »
И опять
Цитировать
if (action == "send") {

Ты ошибки, которые выдаются, не читаешь, что ли? Если не выдаются, поставь в начале файла
error_reporting(15);
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн andtar

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ofp.dem.ru
Проверьте скрипт
« Ответ #10 : 24 Июня 2002, 06:12:55 »
Всё работает, сделал:

<?php
$file 
"data/news.txt";
$data date ("H:i. d.m.y");
function 
form() {
 
?>
 <table width=100%><tr>
 <td align=left width=50%>Автор:</td>
 <td align=right width=50%><form action=index.php method=post><input type=text name="name" size=30></td></tr><tr>
 <td align=left width=50%>E-mail:</td>
 <td align=right width=50%><input type=text name="email" size=30><input type=hidden name="ok" value="ok"></td></tr><tr>
 <td align=left width=50% class="left">Новость:</td>
 <td align=right width=50%><textarea name="news" cols="30" rows=8></textarea></td></tr><tr><td width=100%>
 <input type=submit value="Отправить"></form></td></tr></table>

<?php }
function 
write_data($data$name$email$news) {
   global 
$file;
  
$ffopen ($file"r");
  
$old fread ($ffilesize($file));
  
fclose ($f);
  
$f fopen ($file"w");
  
fputs ($f"$data\\n");
  
fputs ($f"$name\\n");
  
fputs ($f"$email\\n");
  
$news=ereg_replace("\\n","
"
,$news);
  
fputs ($f"$news\\n");
  
fwrite ($f$old);
  
fclose ($f);
  echo 
"Спасибо, ваша новость уже на сайте.
<b>Жмите <a href=http://ofp.dem.ru>сюда</a>, чтобы посмотреть что вы там написали.</b>"
;
}
function 
main() {
    GLOBAL 
$file;
  
$f fopen ($file"r");
  while(!
feof($f)) {
    
$data fgets ($f1000);
    
$name fgets ($f1000);
    
$email fgets ($f1000);
    
$news fgets ($f1000);
    print(
"<hr color=#000000>$news");
    print(
"<div align=right>");
    print( 
"<font size=-1><a href=mailto:$email>$name</a>
$data</font></div>");
    }
  
fclose ($f);
  }
  
?>
<?php
if ($action == "send") {
form();
} elseif (
$ok == "ok") {
write_data($data$name$email$news);
} else {
main();
}
the cold war is not over...

 

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