Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Работа с файлами в PHP [2]
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (2): « 1 [2]   

> Без описания
Bolat
Отправлено: 22 Декабря, 2004 - 22:14:59
Post Id


Member


Покинул форум
Сообщений всего: 130
Дата рег-ции: Нояб. 2004  
Откуда: Казахстан, Караганда

Карма 0




Цитата:
А вот этого я не понял! Зачем ее сохранять? Юзай этот скрипт на здоровье столько раз сколько раз тебе это нужно.
Ничего не понимаю


Движок (в PHP файле) создает конкретноый опросник - этот конкретный опросник надо сохранить (в HTML файле), чтоб потом запускать его и юзать.
К примеру: результатом выполнения файла CreateVoting.php является сгенирированная HTML страница с HTML кодом:

CODE:

<html>

<head>
<title></title>
</head>

<body>

<form name="Forma" action="CountVote.php" method="post">
<table border="1" align="center">
<tr><td colspan="2" align="center"><font size="+1">Kak dela?</font></td></tr>

<tr>
<td>Horoscho</td>
<td><input name="Answer+1" type="checkbox" value="ON">1</td>
</tr>


<tr>
<td>Normalno</td>
<td><input name="Answer+2" type="checkbox" value="ON">2</td>
</tr>


<tr>
<td>Plocho</td>
<td><input name="Answer+3" type="checkbox" value="ON">3</td>
</tr>

<tr><td colspan="2" align="right"><input type="submit" value="Send"></td></tr>

<input name="Question" type="hidden" value="Kak dela?">
<input name="AmountOfAnswers" type="hidden" value="3">
<input name="NameOfResultFile" type="hidden" value="ResultFile.txt">
</table>
</form>


</body>

</html>


И страницу с этим кодом надо сохранить. Чтоб потом юзать (голосовать).
Не буду же постоянно генирировать ее заново чтоб только потом голосовать...
 
 Top
TvoyWeb Администратор
Отправлено: 22 Декабря, 2004 - 22:27:34
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Bolat пишет:
Не буду же постоянно генирировать ее заново чтоб только потом голосовать...

Именно так и надо делать. Не пойму что тебя смущает. Если у тебя несколько опросов, передавай в урле id вызываемого опроса и генерируй для этого запроса страницу с формой.
 
 Top
Bolat
Отправлено: 23 Декабря, 2004 - 02:10:20
Post Id


Member


Покинул форум
Сообщений всего: 130
Дата рег-ции: Нояб. 2004  
Откуда: Казахстан, Караганда

Карма 0




Цитата:
Именно так и надо делать. Не пойму что тебя смущает. Если у тебя несколько опросов, передавай в урле id вызываемого опроса и генерируй для этого запроса страницу с формой.


Я имею ввиду генирировать с помощью движка.
Простейший пример:
CODE:

<?
for($i=1;$i<=4;$i++)
{
echo'<input type="text">';
}
?>


Пусть этот PHP код будет нашим наипростейшим движком. Он создаст HTML страницу с HTML кодом:
CODE:

<html>

<head>
<title></title>
</head>

<body>
<input type="text"><BR>
<input type="text"><BR>
<input type="text"><BR>
<input type="text"><BR>
</body>

</html>

Вот эту то страницу с этим кодом я хочу автоматически сохранять. Чтоб больше не прибегать к помощи движка для ее генирации : один раз он ее сгенерил и все.
\n\n(Добавление)
Ой тама ошибки в php коде
надо
CODE:

<?php


for($i=1;$i<=4;$i++)
{
echo'<input type="text"><BR>';
}


?>
 
 Top
TvoyWeb Администратор
Отправлено: 23 Декабря, 2004 - 03:19:53
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Bolat
А зачем же тогда использовать PHP если не для того, чтобы выдавать пользователю сгенерированную страницу?
Не знаю в курсе ты или нет, но делаешь так.
PHP:
<html>

<head>
<title></title>
</head>

<body>
<?php
for($i=1;$i<=4;$i++)
{
echo'<input type="text"><BR>';
}
?>
</body>

</html>

Обзываешь страницу (например) poll.php и даешь ссылку пользователю. Одним таким скриптом можно выдавать кучу разныз форм опросов.
Так как ты пытаешься сделать, никто не делает. Улыбка
 
 Top
Bolat
Отправлено: 23 Декабря, 2004 - 03:52:56
Post Id


Member


Покинул форум
Сообщений всего: 130
Дата рег-ции: Нояб. 2004  
Откуда: Казахстан, Караганда

Карма 0




TvoyWeb
Цитата:
Так как ты пытаешься сделать, никто не делает.

Мягко говоря не согласен. Позже кину ссылку с готовым буржуйским скриптом, где именно так и делают.

А сечас дедушка чтоб ты меня лучше понял я выложу свой движочек(недоработанный, кое где в кодах в конце даже наверное лишние хидены - я на всякий случай пока держу, вдруг понадобятся)
Ниже коды четырех файлов их надо закинуть в одну папку и и запустить файл EnterVoteParam.php.

Файл EnterVoteParam.php:
CODE:

<html>

<head>
<title></title>
</head>

<body>

<form name="Forma" action="FillAnswers.php" method="post">

<table border="1" align="center">
<tr>
<td>Text of the Question</td>
<td><input name="Question" type="text" size="50"></td>
</tr>
<tr>
<td>Answers amount</td>
<td><input name="AmountOfAnswers" type="text" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Name of result file</td>
<td><input name="NameOfResultFile" type="text" size="50"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Send"></td>
</tr>
</table>

</form>

</body>

</html>


Файл FillAnswers.php:
CODE:

<html>

<head>
<title></title>
</head>

<body>

<form name="Forma" action="CreateVote.php" method="post">
<table border="1" align="center">
<?php

$Question=$_REQUEST["Question"];
$AmountOfAnswers=$_REQUEST["AmountOfAnswers"];
$NameOfResultFile=$_REQUEST["NameOfResultFile"];

echo'<tr><td colspan="2" align="center"><font size="+1">'.$Question.'</font></td></tr>';

for($i=1;$i<=$AmountOfAnswers;$i++)
{
echo
'
<tr>
<td>Answer '.$i.'</td>
<td><input name="Answer+'.$i.'" type="text" value="" size="100"></td>
</tr>
';
}
echo
'
<tr><td colspan="2" align="right"><input type="submit" value="Send"></td></tr>

<input name="Question" type="hidden" value="'.$Question.'">
<input name="AmountOfAnswers" type="hidden" value="'.$AmountOfAnswers.'">
<input name="NameOfResultFile" type="hidden" value="'.$NameOfResultFile.'">
';

?>
</table>
</form>

</body>

</html>


Файл CreateVote.php:
CODE:

<html>

<head>
<title></title>
</head>

<body>

<form name="Forma" action="CountVote.php" method="post">
<table border="1" align="center">
<?php

$Question=$_REQUEST["Question"];
$AmountOfAnswers=$_REQUEST["AmountOfAnswers"];
$NameOfResultFile=$_REQUEST["NameOfResultFile"];

$file = fopen($NameOfResultFile,'a+');
fwrite ($file,$Question."\n");

for($i=1;$i<=$AmountOfAnswers;$i++)
{
fwrite ($file,$_REQUEST["Answer+$i"]." | "."0"."\n");
}
fclose($file);

echo'<tr><td colspan="2" align="center"><font size="+1">'.$Question.'</font></td></tr>';

for($i=1;$i<=$AmountOfAnswers;$i++)
{
echo
'
<input name="AnswerText+'.$i.'" type="hidden" value="'.$_REQUEST["Answer+$i"].'">
<tr>
<td>'.$_REQUEST["Answer+$i"].'</td>
<td><input name="Answer+'.$i.'" type="checkbox" value="ON">'.$i.'</td>
</tr>
';
}
echo
'
<tr><td colspan="2" align="right"><input type="submit" value="Send"></td></tr>

<input name="Question" type="hidden" value="'.$Question.'">
<input name="AmountOfAnswers" type="hidden" value="'.$AmountOfAnswers.'">
<input name="NameOfResultFile" type="hidden" value="'.$NameOfResultFile.'">
';

?>
</table>
</form>

</body>

</html>

Файл CountVote.php:
CODE:

<html>

<head>
<script language="JavaScript">
function OpenWin()
{
myWin1=window.open("", "top_", "width=500, height=400, status=no, toolbar=no, resizable=yes, scrollbars=yes, menubar=no");
}
</script>
<title></title>
</head>

<body id="body">

<?php

$Question=$_REQUEST["Question"];
$AmountOfAnswers=$_REQUEST["AmountOfAnswers"];
$NameOfResultFile=$_REQUEST["NameOfResultFile"];

for($i=1;$i<=$AmountOfAnswers;$i++)
{
if (isset($_REQUEST["Answer+$i"]))
{$Answers[$i]=1;}
else
{$Answers[$i]=0;}
// echo''.$Answers[$i].'<BR>';
}

// echo'<BR>';
$file_data = file($NameOfResultFile);
for($i=1;$i<=count($file_data)-1;$i++)
{
$s[$i] = explode(" | ",$file_data[$i]);
// echo'<BR>'.$s[$i][1].'<BR>';
}

echo'<b>Question : </b>'.$file_data[0].'<BR><BR><b>Results :</b><BR>';
for($i=1;$i<=count($file_data)-1;$i++)
{
$Result[$i]=$Answers[$i]+$s[$i][1];
}

for($i=1;$i<=count($file_data)-1;$i++)
{
$stroka[$i]=$s[$i][0]." : ".$Result[$i];
echo''.$stroka[$i].'<BR>';
}

$file = fopen($NameOfResultFile,'w');
fwrite ($file,$file_data[0]);

for($i=1;$i<=count($file_data)-1;$i++)
{
fwrite ($file,$stroka[$i]."\n");
}
fclose($file);

?>

</body>

</html>
\n\n(Добавление)
Чото я заметил что когда я кидаю код в тэги [code][/code] стираются открывающиеся тэги <?php
в файлах FillAnswers.php и CreateVote.php надо поставить <?php
после строки
<table border="1" align="center">
а в файле после строки
<body id="body">\n\n(Добавление)
Мне нужно чтобы автоматичеески сохранялась (с заданным именем) HTML страница которая генирируется в результате выполнения файла CreateVote.php\n\n(Добавление)
И еще в файле CountVote надо в строке № 46
$stroka[$i]=$s[$i][0]." : ".$Result[$i];
исправить " : " на " | "
и получится
$stroka[$i]=$s[$i][0]." | ".$Result[$i];

Извиняюсь за запарки
 
 Top
TvoyWeb Администратор
Отправлено: 23 Декабря, 2004 - 05:42:27
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Bolat
Теперь я понял что ты делаешь Улыбка.
Что то типа админки для создания опросов. Но все же не совсем верно, сохранять готовые страницы. Вернее просто можно обойтись без этого. Да и потом зачем плодить файлы результатов опроса?
Если тебе будет интересно, я набросаю скрипт где не нужно сохранять сгенерированную страницу и все данные о результатах и о конфигурации самих опросов, будут находиться в одном единственном файле.
А пока вот то что тебе надо:
Твой файл CreateVote.php
CODE:
<html>

<head>
<title></title>
</head>

<body>

<?php

$Question=$_REQUEST["Question"];
$AmountOfAnswers=$_REQUEST["AmountOfAnswers"];
$NameOfResultFile=$_REQUEST["NameOfResultFile"];

$file = fopen($NameOfResultFile,'a+');
fwrite ($file,$Question."\n");
$pollform = '<html>

<head>
<title></title>
</head>

<body>

<form name="Forma" action="CountVote.php" method="post">
<table border="1" align="center">';
for($i=1;$i<=$AmountOfAnswers;$i++)
{
fwrite ($file,$_REQUEST["Answer+$i"]." | "."0"."\n");
}
fclose($file);

$pollform .='<tr><td colspan="2" align="center"><font size="+1">'.$Question.'</font></td></tr>';

for($i=1;$i<=$AmountOfAnswers;$i++)
{
$pollform .=
'
<input name="AnswerText+'.$i.'" type="hidden" value="'.$_REQUEST["Answer+$i"].'">
<tr>
<td>'.$_REQUEST["Answer+$i"].'</td>
<td><input name="Answer+'.$i.'" type="checkbox" value="ON">'.$i.'</td>
</tr>
';
}
$pollform .=
'
<tr>
<td colspan="2" align="right"><input type="submit" value="Send"></td>
</tr>

<input name="Question" type="hidden" value="'.$Question.'">
<input name="AmountOfAnswers" type="hidden" value="'.$AmountOfAnswers.'">
<input name="NameOfResultFile" type="hidden" value="'.$NameOfResultFile.'">
</table>
</form>
</body>

</html>';
$exitfile = 'poll.html';
$file = fopen($exitfile,'w');
fwrite ($file,$pollform);
fclose($file);

echo '<textarea name="textarea" cols="80" rows="25">'.$pollform.'</textarea>';
?>


</body>

</html>


Да и еще, я не стал генерить имя html файла:
$exitfile = 'poll.html';
Думаю сам сделаешь это.
 
 Top
Bolat
Отправлено: 23 Декабря, 2004 - 06:59:32
Post Id


Member


Покинул форум
Сообщений всего: 130
Дата рег-ции: Нояб. 2004  
Откуда: Казахстан, Караганда

Карма 0




Цитата:
Да и потом зачем плодить файлы результатов опроса?
Если тебе будет интересно, я набросаю скрипт где не нужно сохранять сгенерированную страницу и все данные о результатах и о конфигурации самих опросов, будут находиться в одном единственном файле


Да моно и не плодить, моно и в одном файле все. Потом все объеденить моно. Щас просто все по частям чтоб легче было разбаратся и исправлять.

Цитата:
А пока вот то что тебе надо:

Вот наконецто! Спасибо.


 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0489]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33