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

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

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

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    1 person likes this.
  2. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    Как подсчитать кол-во папок и файлов в папке?
     
  3. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    PHP:
    <?php echo count(glob("c:\\path\\*.*")); ?> 
     
    1 person likes this.
  4. Gen1rus

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

    Joined:
    13 Jun 2007
    Messages:
    97
    Likes Received:
    166
    Reputations:
    20
    Имею 2 файла

    index.php:
    Code:
    <form action="enter.php" method="post" name="form1 " target="_blank">
    
    <p>Логин: <br><input name="login" type="text" size="20"></p>
    <p>Пароль: <br><input name="pass" type="text" size="20"></p>
    <p><input name="submit" type="submit" value="Вход"></p>
    
    </form>
    enter.php:
    Code:
    <?php 
    
    echo "бла бла $login и $pass";
    
    ?>
    Проблема: Не выводит переменные $login и $pass
     
    1 person likes this.
  5. mouse.pro

    mouse.pro Elder - Старейшина

    Joined:
    6 Dec 2006
    Messages:
    113
    Likes Received:
    73
    Reputations:
    14
    А откуда он тебе возьмет эту переменную?
    enter.php:
    PHP:
    <?php 

    echo "бла бла " $_POST['login'] . " и " $_POST['pass'];

    ?>
     
    2 people like this.
  6. Gen1rus

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

    Joined:
    13 Jun 2007
    Messages:
    97
    Likes Received:
    166
    Reputations:
    20
    159932, mouse.pro, спасибо большое! ;)
     
    1 person likes this.
  7. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    У тебя register_globals = off .. и лудше не включай его, читай пост выше.
     
    2 people like this.
  8. EST a1ien

    EST a1ien Elder - Старейшина

    Joined:
    2 Apr 2006
    Messages:
    249
    Likes Received:
    48
    Reputations:
    16
    Насколько безопасен такой код.
    PHP:
    $t=new test;
    if(
    method_exists($t,$_GET['function'])
    {
    eval(
    '$t->'.$_GET['function'].'();');
    }
    else
    {
    echo 
    'Неверная команда.';
    }
     
  9. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    Есть файл configbase.php который нужно переписать, точнее изменить значения переменных.... Написал маленький скрипт и назвал его index.php

    CODE index.php

    PHP:

    <?php




    if(isset($_POST['subbase'])){
        
    $body= <<<EOD
        <?php
    //GLOBALS BLOCK
    //включить выключить ЧПУ
    $CPU="true";
    //Полный урл вашего сайта, в конце не забуьте поставить / - обратный слэш
    $URLPATH=$_POST["URLPATH"];
    //Путь к шаблону
    $PATH_TEMPLATE=$_POST["PATH_TEMPLATE"];
    //Заголовок на сайте
    $TITLE=$_POST["TITLE"];
    //Описание сайта
    $DESCR=$_POST["DESCR"];
    //Ключевые слова для вашего сайта
    $KEYWORDS=$_POST["$KEYWORDS"];
    //Копирайты в поддоне
    $COPYRIGHTS=$_POST["COPYRIGHTS"];
    ?>
    EOD;
        
    $base=fopen("config/configbase.php","w");
        
    fwrite($base,$body);
        
    fclose($base);
        echo 
    "Saved!";
    }


    include(
    "configbase.php");// что бы видеть реальные значения переменных в value



    ?>

    <html>
    <head>
      <title>Установка</title>
    <style type="text/css">
    body {background-color: #fff;    color: #000;    font-family: verdana, arial;    font-size: small;}
    a:link, a:visited {    color: #1D3565;    font-weight: bold;    text-decoration: none;}
    a: hover {    text-decoration: underline;}
    h1 {    border-bottom: 1px dotted gray;    font-size: x-large;    color: #596d9d;}
    h2 {    color: #ffffff;    font-size: large;    margin-left: 20px;    text-indent: 10px;    border-bottom: 1px solid #ddd;}
    table td {font-size: 11px;}
    .td_0 {background: #aaaaaa; height: 25px; border-top: 1px solid #d0c7c7; border-bottom: 1px solid #808080; border-left: 1px solid #d0c7c7; border-right: 1px solid #808080; vertical-align: top;}
    .td_1 {background: #eeeeee; height: 25px; width: 50%; border-top: 1px solid #d0c7c7; border-bottom: 1px solid #808080; border-left: 1px solid #d0c7c7; border-right: 1px solid #808080; vertical-align: top;}
    .td_2 {background: #dddddd; height: 25px; width: 50%; border-top: 1px solid #d0c7c7; border-bottom: 1px solid #808080;  border-left: 1px solid #d0c7c7; border-right: 1px solid #808080; vertical-align: top; }
    .f_input {background: #f0ebeb; width: 50%; color: #808080; font-size: 11px; border-top: 1px solid #808080; border-bottom: 1px solid #d0c7c7; border-left: 1px solid #808080; border-right: 1px solid #d0c7c7; }
    </style>


      </head>
    <body>
    <center>
    <form  method="post">
    <table width="900" cellpadding="3" cellspacing="1" border="0" >
    <tr>
        <td class="td_0" colspan="2" align="center"><h2>ОСНОВНЫЕ ДАННЫЕ</h2></td>
    </tr>
    <tr>
        <td class="td_2">Полный урл вашего сайта, в конце не забуьте поставить / - обратный слэш</td>
        <td class="td_2"><input class="f_input" type="Text" size="80" value="<?php echo $URLPATH?>" name="URLPATH"></td>
    </tr>
    <tr>
        <td class="td_1">Путь к шаблону</td>
        <td class="td_1"><input class="f_input" type="Text" size="80" value="<?php echo $PATH_TEMPLATE?>" name="PATH_TEMPLATE"></td>
    </tr>
    <tr>
        <td class="td_2">Заголовок на сайте</td>
        <td class="td_2"><textarea class="f_input" name="TITLE" cols="70" rows="3"><?php echo $TITLE?></textarea></td>
    </tr>
    <tr>
        <td class="td_1">Описание сайта</td>
        <td class="td_1"><textarea class="f_input" name="DESCR" cols="70" rows="4"><?php echo $DESCR?></textarea></td>
    </tr>
    <tr>
        <td class="td_2">Ключевые слова для вашего сайта</td>
        <td class="td_2"><textarea class="f_input" name="KEYWORDS" cols="70" rows="4"><?php echo $KEYWORDS?></textarea></td>
    </tr>
    <tr>
        <td class="td_1">Копирайты в поддоне</td>
        <td class="td_1"><textarea class="f_input" name="COPYRIGHTS" cols="70" rows="2"><?php echo $COPYRIGHTS?></textarea></td>
    </tr>
    <tr>
        <td class="td_2"></td>
        <td class="td_2"><input type="Submit" name="subbase" value="Сохранить!"></td>
    </tr>
    </table>
    </form>
    </center>

    </body>
    </html>



    Но вылетает ошибка, как мне изменять значения переменных в перезаписываемой переменной? или может как-нибудь по другому можно сделать..
     
  10. mr.The

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

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    на какой строке? мне лень просматривать весь код
     
  11. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    на 13 строке... Строка с ошибкой
    $URLPATH=$_POST["URLPATH"];

    Вообще внутри Heredoc текста переменные будут меняться?
     
  12. EST a1ien

    EST a1ien Elder - Старейшина

    Joined:
    2 Apr 2006
    Messages:
    249
    Likes Received:
    48
    Reputations:
    16
    PHP:
    if(isset($_POST['subbase'])){
        $body= <<<EOD
        <?php
    //GLOBALS BLOCK
    //включить выключить ЧПУ
    $CPU="true";
    //Полный урл вашего сайта, в конце не забуьте поставить / - обратный слэш
    $URLPATH={$_POST['URLPATH']};
    //Путь к шаблону
    $PATH_TEMPLATE={$_POST['PATH_TEMPLATE']};
    //Заголовок на сайте
    $TITLE={$_POST['TITLE']};
    //Описание сайта
    $DESCR={$_POST['DESCR']};
    //Ключевые слова для вашего сайта
    $KEYWORDS=$_POST["$KEYWORDS"];//!!!!!!!!!!!!!!!!!!!????????? может $_POST["KEYWORDS"]; тогда так {$_POST['KEYWORDS']};
    //Копирайты в поддоне
    $COPYRIGHTS={$_POST['COPYRIGHTS']};
    ?>
    EOD; 
    Попробуй так.
     
    1 person likes this.
  13. ExZoD

    ExZoD Member

    Joined:
    4 Jun 2008
    Messages:
    23
    Likes Received:
    6
    Reputations:
    0
    мб так?
    Code:
    <?php
    
    
    
    
    if(isset($_POST['subbase'])){
        $body= '
        <?php
    //GLOBALS BLOCK
    //включить выключить ЧПУ
    $CPU=\"true\";
    //Полный урл вашего сайта, в конце не забуьте поставить / - обратный слэш
    $URLPATH=$_POST[\"URLPATH\"];
    //Путь к шаблону
    $PATH_TEMPLATE=$_POST[\"PATH_TEMPLATE\"];
    //Заголовок на сайте
    $TITLE=$_POST[\"TITLE\"];
    //Описание сайта
    $DESCR=$_POST[\"DESCR\"];
    //Ключевые слова для вашего сайта
    $KEYWORDS=$_POST[\"$KEYWORDS\"];
    //Копирайты в поддоне
    $COPYRIGHTS=$_POST[\"COPYRIGHTS\"];
    ?>
    ';
        $base=fopen("config/configbase.php","w");
        fwrite($base,$body);
        fclose($base);
        echo "Saved!";
    }
    
    
    include("configbase.php");// что бы видеть реальные значения переменных в value
    
    
    
    ?>
    
    <html>
    <head>
      <title>Установка</title>
    <style type="text/css">
    body {background-color: #fff;    color: #000;    font-family: verdana, arial;    font-size: small;}
    a:link, a:visited {    color: #1D3565;    font-weight: bold;    text-decoration: none;}
    a: hover {    text-decoration: underline;}
    h1 {    border-bottom: 1px dotted gray;    font-size: x-large;    color: #596d9d;}
    h2 {    color: #ffffff;    font-size: large;    margin-left: 20px;    text-indent: 10px;    border-bottom: 1px solid #ddd;}
    table td {font-size: 11px;}
    .td_0 {background: #aaaaaa; height: 25px; border-top: 1px solid #d0c7c7; border-bottom: 1px solid #808080; border-left: 1px solid #d0c7c7; border-right: 1px solid #808080; vertical-align: top;}
    .td_1 {background: #eeeeee; height: 25px; width: 50%; border-top: 1px solid #d0c7c7; border-bottom: 1px solid #808080; border-left: 1px solid #d0c7c7; border-right: 1px solid #808080; vertical-align: top;}
    .td_2 {background: #dddddd; height: 25px; width: 50%; border-top: 1px solid #d0c7c7; border-bottom: 1px solid #808080;  border-left: 1px solid #d0c7c7; border-right: 1px solid #808080; vertical-align: top; }
    .f_input {background: #f0ebeb; width: 50%; color: #808080; font-size: 11px; border-top: 1px solid #808080; border-bottom: 1px solid #d0c7c7; border-left: 1px solid #808080; border-right: 1px solid #d0c7c7; }
    </style>
    
    
      </head>
    <body>
    <center>
    <form  method="post">
    <table width="900" cellpadding="3" cellspacing="1" border="0" >
    <tr>
        <td class="td_0" colspan="2" align="center"><h2>ОСНОВНЫЕ ДАННЫЕ</h2></td>
    </tr>
    <tr>
        <td class="td_2">Полный урл вашего сайта, в конце не забуьте поставить / - обратный слэш</td>
        <td class="td_2"><input class="f_input" type="Text" size="80" value="<?php echo $URLPATH; ?>" name="URLPATH"></td>
    </tr>
    <tr>
        <td class="td_1">Путь к шаблону</td>
        <td class="td_1"><input class="f_input" type="Text" size="80" value="<?php echo $PATH_TEMPLATE; ?>" name="PATH_TEMPLATE"></td>
    </tr>
    <tr>
        <td class="td_2">Заголовок на сайте</td>
        <td class="td_2"><textarea class="f_input" name="TITLE" cols="70" rows="3"><?php echo $TITLE; ?></textarea></td>
    </tr>
    <tr>
        <td class="td_1">Описание сайта</td>
        <td class="td_1"><textarea class="f_input" name="DESCR" cols="70" rows="4"><?php echo $DESCR; ?></textarea></td>
    </tr>
    <tr>
        <td class="td_2">Ключевые слова для вашего сайта</td>
        <td class="td_2"><textarea class="f_input" name="KEYWORDS" cols="70" rows="4"><?php echo $KEYWORDS; ?></textarea></td>
    </tr>
    <tr>
        <td class="td_1">Копирайты в поддоне</td>
        <td class="td_1"><textarea class="f_input" name="COPYRIGHTS" cols="70" rows="2"><?php echo $COPYRIGHTS; ?></textarea></td>
    </tr>
    <tr>
        <td class="td_2"></td>
        <td class="td_2"><input type="Submit" name="subbase" value="Сохранить!"></td>
    </tr>
    </table>
    </form>
    </center>
    
    </body>
    </html>
     
  14. Хацкер

    Хацкер Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    107
    Likes Received:
    9
    Reputations:
    0
    До сих пор неразобрался как это сделать

    $menu = "<a href=\"#\">Меню</a>";
    $men = str_replace ("%MENU%", $menu , $shablon );

    Вот как сделать чтобы {MENU} Высвечивалась в index.php как это сделать с $shablon

    :)
     
    #5094 Хацкер, 30 Aug 2008
    Last edited: 30 Aug 2008
  15. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    Используй Smarty
     
  16. Хацкер

    Хацкер Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    107
    Likes Received:
    9
    Reputations:
    0

    Можно поподробнее как это вместе сделать?
     
  17. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    Можно и без smarty, если я так понял:
    PHP:
    <?php
    $shablon 
    '<html>
     <head>
        <title>test</title>
     </head>
     <body>
        {MENU}
     </body>
    </html>'
    ;
    $menu "<a href=\"#\">Меню</a>";
    $men str_replace ("{MENU}"$menu $shablon );
    echo 
    $men;
    ?>
    На smarty:
    PHP:
    <?php
    require_once('./Smarty.class.php');
    $smarty = new Smarty();
    $smarty->template_dir './templates/';
    $smarty->compile_dir './templates_c/';
    $smarty->config_dir './configs/';
    $smarty->cache_dir './cache/';

    $smarty->assign('menu''Меню');
    $smarty->display('shablon.tpl');
    ?>
     
    #5097 Jer1cho, 30 Aug 2008
    Last edited: 30 Aug 2008
    1 person likes this.
  18. aqqa

    aqqa Banned

    Joined:
    12 Jul 2008
    Messages:
    96
    Likes Received:
    16
    Reputations:
    3
    Delphi for PHP Есть документация?
     
  19. Хацкер

    Хацкер Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    107
    Likes Received:
    9
    Reputations:
    0
    Я сделал так

    PHP:
    <?php    
    $handle 
    fopen("tmp.tpl","r");
    while (!
    feof($handle)) {
    $buffer fgets($handle4096);
    $shablon.=$buffer;
    }
    fclose($handle);

    $menu "<a href=\"#\">Меню</a>";
    $men str_replace ("{MENU}"$menu $shablon );
    echo 
    $men;

    ?>
    Все ок. Но когда я добавляю еще

    PHP:
    $bl "пипец";
    $block str_replace ("{BLOCK}"$bl $shablon );
    Получается

    PHP:
    <?php    
    $handle 
    fopen("tmp.tpl","r");
    while (!
    feof($handle)) {
    $buffer fgets($handle4096);
    $shablon.=$buffer;
    }
    fclose($handle);


    $menu "<a href=\"#\">Меню</a>";
    $bl "пипец";
    $men str_replace ("{MENU}"$menu $shablon );
    $block str_replace ("{BLOCK}"$bl $shablon );
    echo 
    $men$block;

    ?>
    То выводиться

    Почему так?
     
  20. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Хацкер


    $shablon = str_replace ("{MENU}", $menu , $shablon );
    $shablon = str_replace ("{BLOCK}", $bl , $shablon);
    echo $shablon;


    так выходит потому как ты берёш шаблан и заменяеш в нём меню НО ты присваеваеш модификацию другой переменой .. поэтому шаблон содержание переменой $shablon не изменяется ... во второй раз ты подставляеш не изменёный шаблон а тот что был в првоначальном виде ... и заменяется там только {BLOCK} а {MENU} остаёца т.к это первоначальный вид переменой $shablon


    надеюсь ты понел xD
     
    #5100 Doom123, 30 Aug 2008
    Last edited: 30 Aug 2008
    2 people like this.
Thread Status:
Not open for further replies.