Нубская гостевая=)

Discussion in 'PHP' started by Doom123, 9 Dec 2007.

  1. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Вот тут написал маленькую гостевую Самая нубская из нубских...=) и написана она криво=\
    вот и решил у вас попросить помщь.

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

    PHP:
    <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 />"$h0);
    $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>
     
    #1 Doom123, 9 Dec 2007
    Last edited: 11 Dec 2007
  2. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    фу. как никрасиво. сделай просто
    оригинально))
     
    1 person likes this.
  3. FeraS

    FeraS Elder - Старейшина

    Joined:
    19 Jan 2007
    Messages:
    555
    Likes Received:
    420
    Reputations:
    76
    следуй стандартам xhtml :):
     
    2 people like this.
  4. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    пасиба и +1 =)
     
  5. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    PHP:
    ?> 
    <META HTTP-EQUIV=Refresh CONTENT="0"> <?php } while(0);}
    =>
    PHP:
    echo "<META HTTP-EQUIV=Refresh CONTENT=\"0\">";
     } while(
    0);}
    PHP:
    if (strpos($_REQUEST['E-mail'], "@") === false) {echo "<center><b>E-mail введён не верно!</b></center>"; break;}
    =>
    PHP:
    if (ereg(".+@.+\..+"$_REQUEST['E-mail'])) { echo "<center><b>E-mail введён не верно!</b></center>"; break;}
     
    #5 bul.666, 9 Dec 2007
    Last edited: 9 Dec 2007
    1 person likes this.
  6. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    круто +1=)

    Немного не понел насчёт
    PHP:
     if (ereg(".+@.+\..+"$_REQUEST['E-mail'])) { echo "<center><b>E-mail введён не верно!</b></center>"; break;}
    Я с ereg не знаком а на сайте пхп.нет на инглише описывается... можно поподробней?
     
    #6 Doom123, 9 Dec 2007
    Last edited: 9 Dec 2007
  7. FeraS

    FeraS Elder - Старейшина

    Joined:
    19 Jan 2007
    Messages:
    555
    Likes Received:
    420
    Reputations:
    76
    http://php.su/functions/?ereg
     
  8. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Ну а тада ошибочка выходит т.к вроде нада поставить условие с равнением отрицательного ответа типо:

    PHP:
    if (ereg(".+@.+\..+"$_REQUEST['E-mail']) === false) { echo "<center><b>E-mail введён не верно!</b></center>"; break;} 
    Пасиб за ссылочку