[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,546
    Likes Received:
    173
    Reputations:
    75
    VladZombie,все файли в одной папке? нужно удалить или всётаки очистить? нах они вобще? зачем создаются? отключи коменты или что их там создаёт
     
  2. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    Файлы в разных папках! на каждой странице есть поле для комментариев (без капчи) и каждая страница инклудит файл "text.html".Нужно либо очистить файл либо удалить (он всё ровно создастся).а лучше права сменить! чтобы не записывался вообще коммент!.Вручную это всё долго.Сайт без базы идёт! простенький вот сам сайт
    http://soft.mosshok.ru/multimedia/?page=1
    к примеру только один раздел. По исходнику посмотришь, всё поймёшь как сайт работает.
     
    #21802 VladZombie, 7 Sep 2013
    Last edited: 7 Sep 2013
  3. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,546
    Likes Received:
    173
    Reputations:
    75
    а файл так и называется text.html?? если да то на, запускаешь в корне, удалит все файлы text.html

    PHP:
    <?
    $size = array(); 
    $dir dirname(__FILE__); 

    function 
    get_files($dir "."){ 
     
    $files = array(); 
     if (
    $handle opendir($dir)) { 
     while (
    false !== ($item readdir($handle))) { 
     if (
    is_file("$dir/$item")) { 
     
    $files[] = "$dir/$item"
     } 
     elseif (
    is_dir("$dir/$item") && ($item != ".") && ($item != "..")){ 
     
    $files array_merge($filesget_files("$dir/$item")); 
     } 
     } 
     
    closedir($handle); 
     } 
     return 
    $files

    $array_all_files get_files($dir); 



    foreach( 
    $array_all_files as $file_name ) { 

    if( 
    basename($file_name) == "text.html"){
    unlink($file_name);}

     }
    ?>
     
    #21803 qaz, 7 Sep 2013
    Last edited: 7 Sep 2013
    2 people like this.
  4. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    А чтобы только очистить файл можешь сделать? не удаляя файл?
     
  5. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    Замени unlink($file_name); на file_put_contents($file_name, "");
     
    _________________________
    1 person likes this.
  6. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    Спасибо большое,проблему решил.Со временем выставлю права на эти файлы.
     
  7. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    Да прямо в скрипте добавь ниже где было unlink($file_name); строчку chmod(400);
     
    _________________________
  8. pechkin

    pechkin New Member

    Joined:
    8 Mar 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Доброго дня, есть проблема с отображением времени в скриптах
    Запрос
    PHP:
    echo ".db_get_value("SELECT `dt_startFROM user_param WHERE id=".$_SESSION[uid])."<br>"
    Отображает время на 3 часа меньше чем необходимо.
    Сервер centos время на сервере
    PHP:
    /$ date
    Fri Sep 13 13
    :29:36 MSK 2013
    Но сам скрипт упорно не отображает время по Москве... при сверке времени всегда -3 часа. Подскажите куда копать.
     
  9. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    913
    Likes Received:
    480
    Reputations:
    724
    pechkin, http://php.net/manual/ru/function.date-default-timezone-set.php
     
    _________________________
  10. pechkin

    pechkin New Member

    Joined:
    8 Mar 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Спасибо но мимо php.ini
    PHP:
    Defines the default timezone used by the date functions
    http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
    date.timezone Europe/Moscow
    уже прописана таймзона

    Вопрос остается открытым - где копать?
     
    #21810 pechkin, 13 Sep 2013
    Last edited: 13 Sep 2013
  11. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    Ну так видимо в БД уже записано время неправильное, сделай ручной фикс, достань из бд timestamp и отними от него 3 часа, или прибавь.

    ЗЫ а время на сервере верное? /etc/timezone что указывает? Насколько помню в centos это линк на зону, в дэбианах это текстовик в котором зона прописана.


    Code:
    [18:50][root@yeblan][~]# php -r 'date_default_timezone_set("Europe/Moscow");echo date("h:i:s");' 2>/dev/null
    06:50:07
    [18:50][root@yeblan][~]# date
    Fri Sep 13 18:50:08 MSK 2013
    [18:50][root@yeblan][~]# cat /etc/timezone
    Europe/Moscow
    [18:50][root@yeblan][~]#
     
    _________________________
  12. pechkin

    pechkin New Member

    Joined:
    8 Mar 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Все раскопал, дело было в mysql криво настроенном

    PHP:
    system time zone     BST
    time zone     SYSTEM
    пришлось нагнуть хостера, ибо меняется это значение на его стороне, в общем теперь все ок!
    Всем спасибо за помощь.
    П.С. Зато узнал много нового за сегодня :)
     
  13. YandexGryaz

    YandexGryaz Banned

    Joined:
    19 Sep 2012
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Вопрос таков , есть фейк сайт составляющийся из 2 файлов index.php , base.php .
    Так вот при вводе http://мойсайт.сом/base.php открывается база с логами , как запаролить базу чтобы вход был по паролю ?
     
  14. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,531
    Likes Received:
    166
    Reputations:
    99
    как устранить такую ошибку ?
    Warning: Cannot modify header information - headers already sent by:


    понял спасибо ! )
     
    #21814 GAiN, 15 Sep 2013
    Last edited: 15 Sep 2013
  15. FunOfGun

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

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    71
    Reputations:
    124
    GAiN, у тя опять BOM в файле стоит, убери его
     
    1 person likes this.
  16. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    578
    Likes Received:
    203
    Reputations:
    13
    [​IMG]
     
    1 person likes this.
  17. antras2007

    antras2007 New Member

    Joined:
    4 Jul 2013
    Messages:
    33
    Likes Received:
    0
    Reputations:
    0
    Подскажите пожалуйста. Вот код
    PHP:
    <?php
    $error 
    = array();
    if(!empty(
    $_POST))
    {
        
    $name "Имя";
        
    $email "E-mail";
        if(empty(
    $_POST['name'])) $error[] = "Текстовое поле $name не заполнено";
        if(empty(
    $_POST['email'])) $error[] = "Текстовое поле $email не заполнено";
        if(empty(
    $error))
        {
            echo 
    $_POST['name']."<br/>";
            echo 
    $_POST['email']."<br/>";
            echo 
    $_POST['about']."<br/>";
        }
    }
    if(!empty(
    $error))
    {
        foreach(
    $error as $err)
        {
            echo 
    "<span style=\"color:red\">$err</span><br/>";
        }
    }
    $name $_POST['name'];
    $email $_POST['email'];
    $about $_POST['about'];
    $mysqli = new mysqli('localhost''root'""'form');
    $query mysqli_query($mysqli"SET NAMES 'utf8'");
    $sql htmlspecialchars("insert into `book` (name, email, about) values('$name', '$email', '$about')");
    $mysqli->real_escape_string($sql);//фильтрация к базе данных//

    if(!$mysqli->query($sql))
        echo 
    $mysqli->error;

    это обработчик формы. При заполнении формы информация заносится в базу данных. Как сделать так что бы информация которая уже занесена в базу данных отображалавсь последовательно на той же странице что и форма под номерами 1, 2 и т.д.?
     
    #21817 antras2007, 17 Sep 2013
    Last edited by a moderator: 18 Sep 2013
  18. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,531
    Likes Received:
    166
    Reputations:
    99
    помогите пожалуйста составить условие, нужно что бы перенаправлялся только рефер с сайта mysitename.ru, если же на код ниже поступил другой рефер или рефер скрыт то перенаправляло на страницу bad_refer.html
    PHP:
    <?php 
    $ref
    =$_SERVER['HTTP_REFERER']; 
    $url='http://sitename.ru'
    header('Referer:'.$ref); 
    header('Location:'.$url); 
    ?>
     
  19. Timon132009

    Timon132009 Member

    Joined:
    7 Jun 2009
    Messages:
    135
    Likes Received:
    19
    Reputations:
    0
    Что то типа этого

    PHP:
    <?php 
    $ref
    =getenv("HTTP_REFERER");
    if (
    $ref=='http://mysitename.ru/'
    {
    //////что делаем
    } else {
    header('Location: http://mysitename.ru/bad_refer.html');
    }
    ?>
     
    1 person likes this.
  20. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,546
    Likes Received:
    173
    Reputations:
    75

    так тупо, так как рефером может быть любая страница тго сайта

    лучше так

    PHP:
    <?php 
    $ref
    =getenv("HTTP_REFERER");
    if (
    preg_match("/mysitename/",$ref)) 
    {
    //////что делаем
    } else {
    header('Location: http://mysitename.ru/bad_refer.html');
    }
    ?>
     
    1 person likes this.
Thread Status:
Not open for further replies.