Форма записи в файл

Тема в разделе "PHP программирование", создана пользователем 189981, 28 ноя 2008.

Статус темы:
Закрыта.
  1. 189981

    189981 Гость

    Собственно необходимо было создать форму на php, с формой ввода текста, например: "Ваше имя" и определением ип адреса, после нажатии на кнопку Подтвердить, информация введёная в поле "Ваше имя" должна записываться в файл user.list, а определённый айпи адрес записывался в файл ban.list. В дальнейшем пользователи, ипы которых внесены в ban.list больше не имеют прав для ввода поля. Собственно всё работает, кроме записи текстового поля в файл. Если кто может подправьте код:

    Файл index.php:
    HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html dir="ltr" lang="ru">
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    </head>

    <? $ips=file("ban.list");
    if(empty($_SERVER['REMOTE_ADDR'])) die("<b>Ошибка</b>");
    foreach ($ips as $ip)
    {
    if($_SERVER['REMOTE_ADDR']==trim($ip))

    die('
    <p></p><p></p>

    <table class="tborder" cellpadding="0" cellspacing="0" border="0" width="450" align="center">
    <tr><td>

    <!-- header -->
    <div class="tcat" style="padding:4px; text-align:center"><b>Подтверждение</b></div>
    <!-- /header -->

    <table cellpadding="4" cellspacing="0" border="0" width="100%" class="logincontrols">


    <!-- login fields -->
    <tr>
    <td>

    <i>Вы ранее уже подтверждали запрос.</i>
    </td>
    </tr>
    <!-- /login fields -->



    </table>

    </td></tr></table>
    ');
    }
    ?>


    <body style="margin:0px" onload="set_cp_title(); document.forms.loginform.vb_login_password.focus()">

    <script type="text/javascript">
    <!--
    function js_show_options(objectid, clickedelm)
    {
    fetch_object(objectid).style.display = "";
    clickedelm.disabled = true;
    }
    function js_fetch_url_append(origbit,addbit)
    {
    if (origbit.search(/\?/) != -1)
    {
    return origbit + '&' + addbit;
    }
    else
    {
    return origbit + '?' + addbit;
    }
    }
    function js_do_options(formobj)
    {
    if (typeof(formobj.nojs) != "undefined" && formobj.nojs.checked == true)
    {
    formobj.url.value = js_fetch_url_append(formobj.url.value, 'nojs=1');
    }
    return true;
    }
    //-->
    </script>



    <form action="*цензура*_you.php" method="post" name="loginform">


    <input type="hidden" name="logintype" value="cplogin" />
    <input type="hidden" name="do" value="login" />


    <p></p><p></p>

    <table class="tborder" cellpadding="0" cellspacing="0" border="0" width="450" align="center"><tr><td>

    <!-- header -->
    <div class="tcat" style="padding:4px; text-align:center"><b>Вход</b></div>
    <!-- /header -->




    <!-- logo and version -->
    <table cellpadding="4" cellspacing="0" border="0" width="100%" class="navbody">
    <tr valign="bottom">

    </tr>
    </table>
    <!-- /logo and version -->



    <table cellpadding="4" cellspacing="0" border="0" width="100%" class="logincontrols">
    <col width="50%" style="text-align:right; white-space:nowrap"></col>
    <col></col>
    <col width="50%"></col>

    <!-- login fields -->
    <tr>
    <td>Имя</td>
    <td>$kk=<input type="text" style="padding-left:5px; font-weight:bold; width:250px" value="Здесь укажите ваше имя" /></td>
    <td></td>
    </tr>
    <!-- /login fields -->



    <!-- admin options -->
    <tbody id="loginoptions" style="display:none">
    <tr>

    </tbody>



    </table>
    <center><input type="submit" class="button" value=" Вход " accesskey="s" tabindex="3" /></center>
    </td></tr></table>
    </form>

    </body>
    </html>

    Файл rel.php:
    HTML:
    <head>
    <title>Вас зафиксировала служба защиты сайтов...</title>

    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

    <link rel="stylesheet" type="text/css" href="../cpstyles/vBulletin_3_Default/controlpanel.css" />
    </head>


    <?
    $ip = ($_SERVER['REMOTE_ADDR']);

    $useragent = $_SERVER['HTTP_USER_AGENT'];
    $browser = 'Неизвестный';
    if(strpos($useragent, "MSIE")  !== false)
    if(strpos($useragent, "Opera")  == null) $browser = 'Internet Explorer';
    if(strpos($useragent, "Opera")  !== false) $browser = 'Opera';
    if(strpos($useragent, "Netscape")!== false) $browser = 'Netscape';
    if(strpos($useragent, "Firefox")!== false) $browser = 'Firefox';



    $os = 'Неизвестная';
    if(strpos($useragent, "Win")   !== false)
    {

    if(strpos($useragent, "NT 6.0") !== false) $os = 'Windows Vista';
    if(strpos($useragent, "NT 5.2") !== false) $os = 'Windows Server 2003 или XPx64';
    if(strpos($useragent, "NT 5.1") !== false || strpos($useragent, "XP")) $os = 'Windows XP';
    if(strpos($useragent, "NT 5.0") !== false) $os = 'Windows 2000';
    if(strpos($useragent, "NT 4.0")  !== false || strpos($useragent, "3.5")  !== false) $os = 'Windows NT';
    if(strpos($useragent, "Me")  !== false) $os = 'Windows Me';
    if(strpos($useragent, "98")  !== false) $os = 'Windows 98';
    if(strpos($useragent, "95")  !== false) $os = 'Windows 95';
    }

    if(strpos($useragent, "Linux")  !== false
    || strpos($useragent, "Lynx")   !== false
    || strpos($useragent, "Unix")   !== false) $os = 'Linux';
    if(strpos($useragent, "Macintosh")!== false
    || strpos($useragent, "PowerPC")) $os = 'Macintosh';



    $files = "ban.list";
    if ($ip != "")
    {
    $zapis="$ip \n";
    $filei = fopen("$files","a+");
    if($files)
    {
    fwrite($filei, $zapis);    
    }
    fclose($filei);
    }


    ?>


    <form action="rel.php" method="post" name="loginform">


    <input type="hidden" name="logintype" value="cplogin" />
    <input type="hidden" name="do" value="login" />


    <p></p><p></p>

    <table class="tborder" cellpadding="0" cellspacing="0" border="0" width="450" align="center"><tr><td>

    <!-- header -->
    <div class="tcat" style="padding:4px; text-align:center"><b>--------------------------</b></div>
    <!-- /header -->




    <!-- logo and version -->
    <table cellpadding="4" cellspacing="0" border="0" width="100%" class="navbody">
    <tr valign="bottom">

    <td>
    Ваш запрос обработан.

    </td>
    </tr>
    </table>
    <!-- /logo and version -->



    <table cellpadding="2" cellspacing="2" border="0" width="100%" class="logincontrols">


    <!-- login fields -->
    <tr><td>
    <?
    echo ("Ваш ip: <b>$ip</b>");
    ?>
    </td></tr>
    <!-- /login fields -->


    </table>

    </td></tr></table>
    </form>
    Там ещё присутствует функция определения браузера, но это не важно.
     
  2. Vovochka

    Vovochka Гость

    Плохой, плохой код. Ну кто вас учил мешать php и html? Не надо лепить все вместе. Изучайте шаблонизаторы.
    А вообще, что с правами? Точно ли апач может создавать файлы в той директории? (Крутится все на чем? На винде? В Линухе?)
     
  3. etc

    etc Гость

    это не важно, а важно -
    :)
     
  4. 189981

    189981 Гость

    На винде, собственно как тогда можно организовать самую простую запись формы ввода текста в файл .txt?
     
  5. Vovochka

    Vovochka Гость

    Код для записи в файл у вас вроде верный. Другое дело, что вы используете относительный путь имени файла, толком не знаю CWD (текущей рабочей директрории) процесса apache.
    Попробуйте указать полный путь.
    + Вы так и не ответили касательно прав доступа. Хотя под виндой с этим меньше гемороя чем под линем.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей