За последние 24 часа нас посетили 17849 программистов и 1571 робот. Сейчас ищут 1180 программистов ...

Почему то не работает

Тема в разделе "Установка PHP", создана пользователем Jekmar, 17 авг 2006.

  1. Jekmar

    Jekmar Активный пользователь

    С нами с:
    17 авг 2006
    Сообщения:
    4
    Симпатии:
    0
    Установил на винд 2003-й php, но скрипт:

    <?php
    $error = "";
    $action = $HTTP_POST_VARS["action"];
    if (!empty($action))
    {
    $name = trim($name);
    $msg = trim($msg);
    if (empty($msg)) // если не введено сообщение
    {
    $action = "";
    $error = $error."<LI>Вы не ввели сообщение\n";
    }
    if (empty($name)) // если не введено имя
    {
    $action = "";
    $error = $error."<LI>Вы не ввели имя\n";
    }
    if (!empty($email))

    {
    if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email))
    {
    $action = "";
    $error = $error."<LI> Неверно введен е-mail.&nbsр Введите e-mail
    в виде <i>softtime@softtime.ru</i> \n";
    }
    }




    $name = substr($HTTP_POST_VARS["name"],0,32);
    $name = htmlspecialchars(stripslashes($name)); // обрабатываем имя
    $city = substr($HTTP_POST_VARS["city"],0,32);
    $city = htmlspecialchars(stripslashes($city)); // обрабатываем город
    $email = substr($HTTP_POST_VARS["email"],0,32);
    $email = htmlspecialchars(stripslashes($email)); // обрабатываем e-mail
    $url = substr($HTTP_POST_VARS["url"],0,36);
    $url = htmlspecialchars(stripslashes($url)); // обрабатываем url-адрес
    $msg = substr($HTTP_POST_VARS["msg"],0,1024);
    $msg = htmlspecialchars(stripslashes($msg)); // обрабатываем сообщение


    if (empty($error)) // если ошибок нет, обрабатываем сообщение
    {
    $msg = nl2br($msg);
    $msg = str_replace("","<u>",$msg);
    $msg = str_replace("","<u>",$msg);
    $msg = str_replace("","<i>",$msg);
    $msg = str_replace("","<i>",$msg);
    $msg = str_replace("","<B>",$msg);
    $msg = str_replace("","<B>",$msg);
    $msg = str_replace("[sub]","<SUB>",$msg);
    $msg = str_replace("[SUB]","<SUB>",$msg);
    $msg = str_replace("[sup]","<SUP>",$msg);
    $msg = str_replace("[SUP]","<SUP>",$msg);
    $msg = str_replace("
    ","</u>",$msg);
    $msg = str_replace("
    ","</u>",$msg);
    $msg = str_replace("
    ","</i>",$msg);
    $msg = str_replace("
    ","</i>",$msg);
    $msg = str_replace("
    ","</B>",$msg);
    $msg = str_replace("
    ","</B>",$msg);
    $msg = str_replace("[/SUB]","</SUB>",$msg);
    $msg = str_replace("[/sub]","</SUB>",$msg);
    $msg = str_replace("[/SUP]","</SUP>",$msg);
    $msg = str_replace("[/sup]","</SUP>",$msg);
    $msg = eregi_replace("(.*)\\[url\\](.*)\\[/url\\](.*)","\\1<a
    href=\\2>\\2</a>\\3",$msg);
    $msg = str_replace("\n"," ",$msg);
    $msg = str_replace("\r"," ",$msg);




    /* создаем файл с именем вида "rec.+время добавления сообщения" */

    $file = fopen("records/rec.".time(),"w");
    // записываем информацию в файл, по одной строчке на каждое поле
    fputs($file,$name."\n");
    fputs($file,$city."\n");
    fputs($file,$email."\n");
    fputs($file,$url."\n");
    fputs($file,$msg."\n");
    // закрываем файл
    fclose($file);




    print "<HTML><HEAD>\n";
    print "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>\n";
    print "</HEAD></HTML>\n";
    }
    }




    if (empty($action))
    {
    ?>

    не создает файлы в папке RECORDS, хотя в Денвере все работает
    что делать может кто подскажет?
     
  2. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    что пишет?
     
  3. Jekmar

    Jekmar Активный пользователь

    С нами с:
    17 авг 2006
    Сообщения:
    4
    Симпатии:
    0
    Во время добавления записи произошли следующие ошибки:

    Вы не ввели сообщение
    Вы не ввели имя

    ... хотя я конечно ввожу и имя и сообщение
     
  4. def

    def Активный пользователь

    С нами с:
    24 апр 2006
    Сообщения:
    230
    Симпатии:
    0
    Адрес:
    Питер
    расшифровке не удается


    переменные из формы ?

    видимо, register_globals = Off

    http://phpclub.ru/detail/article/globals
     
  5. Jekmar

    Jekmar Активный пользователь

    С нами с:
    17 авг 2006
    Сообщения:
    4
    Симпатии:
    0
    Согласен, ... но как зделать register_globals = On
    плз
     
  6. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Jekmar
    в php.ini исправить
    Код (Text):
    1. register_globals = Off
    на
    Код (Text):
    1. register_globals = On
     
  7. def

    def Активный пользователь

    С нами с:
    24 апр 2006
    Сообщения:
    230
    Симпатии:
    0
    Адрес:
    Питер
    Я бы крайне не рекомендовал узнавать это и делать :)

    Надо разрабатывать код правильно.
     
  8. Jekmar

    Jekmar Активный пользователь

    С нами с:
    17 авг 2006
    Сообщения:
    4
    Симпатии:
    0
    Ура, заработало!
    Сенк большой всем !
    Для моих чайников в локалке этот код сойдет, хотя конечно было-бы интересно, как это-же более правильно записать :?: :)
     
  9. Петр

    Петр Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    Jekmar
    Не гнать под чистую с "Самоучителя по ПХП5", продумать самому эту гостевушку. Тем более, что она на файлах. Хорошо, если у тебя там 20-30 записей будет, но ведь так не будет?
     
  10. svk

    svk Активный пользователь

    С нами с:
    7 авг 2006
    Сообщения:
    506
    Симпатии:
    0
    Адрес:
    NetByNet
    $HTTP_POST_VARS - ну не юзайте вы это....
     
  11. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    хм... это в самоучителе по пхп5 используется $HTTP_POST_VARS?