PDA

Просмотр полной версии : Нубская гостевая=)


Doom123
09.12.2007, 15:24
Вот тут написал маленькую гостевую Самая нубская из нубских...=) и написана она криво=\
вот и решил у вас попросить помщь.

Мне нужно знать все моменты моей кривости и как
их исправить ток с учётом что я токо изучаю пхп и всего ещё не знаю... даже до БД не дошёл... некоторые скажут что мну сначала хтмл выучить надо и будут правы=) вот кароч

<html><body background=bg.jpg><table><tr><td>
<?php
//Выковыриваем строчки из файла и помещаем их в массивы
$len = 130;
$arr = file('comment.txt');
foreach ($arr as $k=>$v) {
$val = explode("\t", $v);
if ($len <= strlen($val['2'])) {
$b = strlen($val['2']) / $len;
settype($b, "integer");
$h=$len;
//Цикл который переводит строку если она длинее $len
for ($i=0; $i<$b; $i++) {
$val['2'] = substr_replace($val['2'], "<br />", $h, 0);
$h += $len;
}}
//Спомощью путаницы в таблицах выводим коментарии=)
echo "<table><tr><td><b>Name:</b>".$val['1'].","
."</td><td><b>E-mail:</b>".$val['0'].",</td><td><b>Время:</b>".$val['3'].".</td><tr><tr><td><b>Коментарий:</b></td></tr></table><br />"
."<table><tr><td>".$val['2']."</td></tr><tr><td><hr size=1 width=910></td></tr></table><br />";
} ?> </td></tr></table>
<?php
//Если пришёл новый коментарий
if (isset($_REQUEST['Add'])) {
//Заменяем спец символы на их хтмл эквиленты
$_REQUEST['E-mail'] = htmlspecialchars($_REQUEST['E-mail']); $_REQUEST['Name'] = htmlspecialchars($_REQUEST['Name']);
$_REQUEST['Text'] = htmlspecialchars($_REQUEST['Text']);
//Помещаем дату в переменную
$date = date("d.m.y h:i");
//Циклом проверяем наличие ошибок при заполнении
do {
if (trim($_REQUEST['E-mail']) === "" || trim($_REQUEST['Name']) === "" || trim($_REQUEST['Text']) === "") {echo "<center><b>Заполните ВСЕ поля!</b></center>"; break;}
if (ereg(".+@.+\..+", $_REQUEST['E-mail']) === false) { echo "<center><b>E-mail введён не верно!</b></center>"; break;}
if (strlen($_REQUEST['Text']) > "500") {echo "<center><b>Вы превысили ограничение в 500 символов!</b></center>"; break;}
//Если всё ок открываем файл для записи
$open = fopen('comment.txt', "ab");
//Заменяем символ конца строки на хтмл эквилент =)
$_REQUEST['Text'] = str_replace("\n", "<br />", $_REQUEST['Text']);
//Записываем в переменную то что надо сохранить и как сохранить...Записываем в файл....Закрываем файл.
$save = $_REQUEST['E-mail']."\t".$_REQUEST['Name']."\t".$_REQUEST['Text']."\t".$date."\r\n";
fwrite($open, $save); fclose ($open);
//Тут я обновил страницу чтоб очистить посланые данные и закрыл цикл =)
echo "<META HTTP-EQUIV=Refresh CONTENT=\"0\">"; } while(0);} ?>

<br /><br /><table border="1" align="center"><tr>
<form action="<?=$_SERVER['REQUEST_URI']?>" method="post">
<td>Имя:<input maxlength="10" type="text" name="Name"></td>
<td>Е-mail:<input type="text" maxlength="30" name="E-mail"></td></tr></table>
<table align="center"><tr><td><textarea name="Text" cols="100" rows="10"></textarea></td></tr>
<tr><td><input type="submit" name="Add" value="Добавить отзыв">
<input type="reset" name="Add" value="Очистить"></td></tr></table></body></html>

mr.The
09.12.2007, 15:54
$arr = file('Z:\home\custom\www\comment.txt');
фу. как никрасиво. сделай просто
$arr = file('comment.txt');

if (strpos($_REQUEST['E-mail'], "@") === false)
оригинально))

FeraS
09.12.2007, 16:34
<br><br><table border=1 align=center>

следуй стандартам xhtml :):
<br /><br /><table border="1" align="center">

Doom123
09.12.2007, 17:02
пасиба и +1 =)

bul.666
09.12.2007, 17:05
?>
<META HTTP-EQUIV=Refresh CONTENT="0"> <?php } while(0);}

=>

echo "<META HTTP-EQUIV=Refresh CONTENT=\"0\">";
} while(0);}


if (strpos($_REQUEST['E-mail'], "@") === false) {echo "<center><b>E-mail введён не верно!</b></center>"; break;}
=>

if (ereg(".+@.+\..+", $_REQUEST['E-mail'])) { echo "<center><b>E-mail введён не верно!</b></center>"; break;}

Doom123
09.12.2007, 17:14
круто +1=)

Немного не понел насчёт
if (ereg(".+@.+\..+", $_REQUEST['E-mail'])) { echo "<center><b>E-mail введён не верно!</b></center>"; break;}

Я с ereg не знаком а на сайте пхп.нет на инглише описывается... можно поподробней?

FeraS
09.12.2007, 17:26
http://php.su/functions/?ereg

Doom123
09.12.2007, 17:31
Ну а тада ошибочка выходит т.к вроде нада поставить условие с равнением отрицательного ответа типо:

if (ereg(".+@.+\..+", $_REQUEST['E-mail']) === false) { echo "<center><b>E-mail введён не верно!</b></center>"; break;}

Пасиб за ссылочку