WhiteKnight
29.08.2009 - 03:18
Вот решил попробывать написать гостевую книгу.
Думаю она получилась. Хотя я не знаю правильно ли я ее сделал.
По критикуйте пожалуйста.
index.phpPHP |
<?php $start_time = microtime(); $start_array = explode (" ",$start_time); $start_time = $start_array[1] + $start_array[0]; ?>
<?php include 'show.php'; ?>
<html> <body>
<h1><p align="center">Они сказали :)</p></h1> <table align="center" bgcolor="#F4E8B6" style="border: 1px dotted #781C05" width="500"> <tr> <td>
<?php show(); ?> </tr> </td> </table> <br> <table align="center" bgcolor="#F4E8B6" style="border: 1px dotted #781C05"> <tr> <td> <h3>Сказать что нибудь полезное :)</h3> <form action="add.php" method="post"> Имя: <input name="name" type="text"><br> Емейл: <input name="email" type="text"><br> Сообщение:<br> <textarea name="msg" cols="50" rows="5"> </textarea><br> Вы робот ? : <input name="robot" type="text"> <input type="submit" value="Отправить"> </form>
</tr> </td> </table>
</body> </html>
<?php $end_time = microtime(); $end_time = explode(" ", $end_time); $end_time = $end_array[1] + $start_array[0];
$time = $end_time - $start_time; echo '<br><p align="center">'; printf("Страница сгенерирована за %.6f секунд.",$time); echo '</p>';
|
add.php
PHP |
<META HTTP-EQUIV='Refresh' CONTENT='0,URL=index.php'> <?php $name = $_REQUEST["name"]; $email = $_REQUEST["email"]; $msg = $_REQUEST["msg"]; $robot = $_REQUEST["robot"]; $filename = 'data.txt'; if (($name !== '') and ($email !== '') and ($msg !== '')) { if ($robot == 'нет') { echo 'Подождите ...'; $tosave = '<table align="center" bgcolor="#F4E8B6" style="border: 1px dotted #781C05" width="500"> <tr><td>'.'<b>Имя</b> '.$name.'<br>'.'<b>Емейл</b> '.$email.'<br>'.'<b>Написал</b> '.$msg.'</tr></td></table>' ; $fp = fopen($filename,'a'); if ($fp) { fwrite($fp, $tosave); fclose($fp); } } else echo "<META HTTP-EQUIV='Refresh' CONTENT='0,URL=index.php'> "; } else echo "<META HTTP-EQUIV='Refresh' CONTENT='0,URL=index.php'> ";
|
show.php
PHP |
<?php function show() { $filename = 'data.txt'; $fp = fopen($filename,"r"); if ($fp) { $toload = fread($fp,filesize($filename)); fclose($fp); } echo $toload; }
|
СкриншотИ еще такие вопросы меня инетерсуют на данный момент:
Пробывал измерить скорость генерации страницы. Тестировал скрипт календарика
между кодом
PHP |
$start_time = microtime(); $start_array = explode(" ",$start_time); $start_time = $start_array[1] + $start_array[0]; //// ТУТ скрипт
$end_time = microtime(); $end_array = explode(" ",$end_time); $end_time = $end_array[1] + $end_array[0]; $time = $end_time - $start_time; printf("Страница сгенерирована за %f секунд",$time); |
И результат был нормальным. А тестирую свою гостевую книгу и результат 1251500502.000000 это ненормально.
Что я сделал не так ?
И еще один вопрос. Слышал что админку можно сделать для гостевой.
Возможно ли ее сделать для моей, ведь она на текстовом файле работает.
или лучше делать админку когда я буду ее на с БД делать ?
Спустя 2 минуты, 13 секунд (29.08.2009 - 02:21) nemo написал(а):
http://php.inkz.ru/ - два примера написание гостевой книги, на файлах, на mysql
Спустя 2 минуты, 42 секунды (29.08.2009 - 02:23) WhiteKnight написал(а):
я не хотел бы смотреть на готовые скрипты
Спустя 3 минуты, 35 секунд (29.08.2009 - 02:27) nemo написал(а):
в готовых скриптах написан валидный код, от того что ты будешь писать на угад ты не поумнеешь. Посмотри "как это работает" и зделай по своему.
Спустя 19 минут, 48 секунд (29.08.2009 - 02:47) sergeiss написал(а):
Цитата (WhiteKnight @ 29.08.2009 - 03:18) |
И результат был нормальным. А тестирую свою гостевую книгу и результат 1251500502.000000 это ненормально.
Что я сделал не так ? |
Ты очень сильно поизвращался над временем
Сделай проще:
PHP |
$start_time=microtime(true); .... code
$end_time=microtime(true); echo 'На создание затрачено '.($end_time-$start_time).' секунд '; |
А смысл параметра см. в хэлпе у меня из подписи.
Спустя 6 часов, 32 минуты, 29 секунд (29.08.2009 - 09:19) WhiteKnight написал(а):
sergeiss
Работатет.
Только выводится у меня только с помощью PrintF
с echo теже боьшие числа.