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

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

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

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    Есть у кого примерчик кода добовления текста к кортинке??
     
  2. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    http://il2.php.net/ImageTTFText
     
  3. diznt

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

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    Code:
    <?php
     include ("Peremenue.php");
     a = b+c;
     echo a;
    ?>
    в Peremenue.php код:

    Code:
    <?php
     b = 2;
     c = 4;
    ?>
    В первом случае код будет исполняться? то есть сложиться без проблем и выведется?
     
  4. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    мм.. да.
    только вот в начале переменных, надо ставить рубль - $
     
  5. diznt

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

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    159932 а да точно :D забыл
    и еще где можно достать открытый пхп чекер PR? чек PR желательно токо одного сайта
     
  6. ikolla$$

    ikolla$$ Banned

    Joined:
    6 Apr 2008
    Messages:
    80
    Likes Received:
    27
    Reputations:
    5
    <?php
    include ("Peremenue.php");
    a = b+c;
    echo a;
    ?>
    оО
    а что такое: a,b
     
  7. -m0rgan-

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

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    Ну а эт кагбе сума б и ц ;-)
     
  8. kraken

    kraken Member

    Joined:
    2 Jan 2009
    Messages:
    74
    Likes Received:
    75
    Reputations:
    5
    o_O и это работает?
     
  9. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    Всем привет,появилась необходимость сделать небольшой аудит бд.
    т.е. на каждое изменение делать наобх записи в таблице аудита.
    тригерры не катят т.к. в одном триггере нельзя выполнить неск дейтвий(н-р 2..-10 инсертов) да и таблицы такие разные что под каждую надо писать свой триггер:
    формат ввода данных в аудит такой
    PHP:
    INSERT INTO audit set `date`=now(),`time`=now(),`user_id`='$_SESSION[user_id]',
    `
    table`='название табицы',`column`='колонка которая изменилась',`pk`='примари кей табл',`oldvalue`='',`newvalue`=$_POST[user_id]"
    приведу конкретный пример(запрос в бд)
    PHP:
    "INSERT INTO holidays (id,user_id,date_start,date_finish,type_id,audit_id) 
    VALUES('','
    $_POST[user_id]','$_POST[date_start]',
    '
    $_POST[date_finish]','$_POST[holidays_type]',
    '
    $_SESSION[user_id]')";
    отправка в аудит:
    PHP:
    $audit="INSERT INTO audit set `date`=now(),`time`=now(),`user_id`='$_SESSION[user_id]',
    `table`='holidays',`column`='user_id',`pk`='id',`oldvalue`='',
    `newvalue`=
    $_POST[user_id]"
    $audit2="INSERT INTO audit set `date`=now(),`time`=now(),`user_id`='$_SESSION[user_id]',
    `table`='holidays',`column`='С',`pk`='id',`oldvalue`='',
    `newvalue`='
    $_POST[date_start]'"
    $audit3="INSERT INTO audit set `date`=now(),`time`=now(),`user_id`='$_SESSION[user_id]',
    `table`='holidays',`column`='По',`pk`='id',`oldvalue`='',
    `newvalue`='
    $_POST[date_finish]'"
    ........
    Дак вот думаю реально ли написать функцию которой на вход мы будем подавать сам запрос в таблицу а она уже (через регулярки или еще как) будет инсертить в аудит и выдирать поля,значения и действия...И САМОЕ ГЛАВНОЕ чтоб это было практически универсально для каждой таблицы...у кого какие домыслы,поделитесь!?
     
    #7909 svesve, 28 Jan 2009
    Last edited: 28 Jan 2009
  10. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    С какого это времени у нас переменные без знака "$" объявляются?!
     
  11. diznt

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

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    Ru}{eeZ читай начало страницы
     
    1 person likes this.
  12. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    svesve, а почему-бы не записывать сами запросы в файл?
     
  13. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    а смысл? всеравно надо выводить как-то весь аудит на просмотр,а с файлами замучаешься...да и опять же для каждой таблицы надо конкретно свое,а тут нужна универсальность )
     
  14. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    Парни, очень нужен Dreamweaver CS3!
    Но его оч трудно найти в нете, мне друг дал сыль я качнул а он гад хз почему не пошел((((
    Мб кто даст еще сылку на хороший Dreamweaver CS3?!
    //или кто-нить скинет мне корневую папку DW?
    //блин помогите, уже 2 неделю мучаюсь((((
    ЗЫ: Другие проги не предлогать!
    //стоит ХР SP3
     
  15. AkyHa_MaTaTa

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    2 svesve напиши класс для работы с Бд и выполняй все гвери через него, уже в самом классе можешь создать метод который будет производить все действи с аудитом при гверях.
     
  16. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    MaTpOc, не гони, ищи Adobe ® Creative Suite 3 Web Premium Rus

    http://www.google.com/search?ie=UTF-8&hl=ru&q=Adobe%20%C2%AE%20Creative%20Suite%203%20Web%20Premium%20Rus%20%D1%81%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C
     
  17. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    почему? просто записывай все запросы к бд в файл. а если нужны только изменения, то только insert, update и тп.

    и будет у тебя файл с контентом
    PHP:
    12.01.09 21:00 INSERT INTO `TABLE1VALUES(123)
    12.01.09 21:00 UPDATE `TABLE2SET `COUNT`=`COUNT`+1
    Тебе надо всего лишь задать свою mysql_query (назовём её m_query), которая будет делть запрос, а потом записывать его в файл.
    Можешь дописать, чтобы после каждого запроса вызывался SELECT, чтобы прочитать получившиеся значения, если нужно.
     
  18. Mirella

    Mirella New Member

    Joined:
    30 Jul 2008
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    PHP:
    <?
    include(
    "../configs/db_connect_x.php");
      if (
    ereg("[<>\\/-]",$act)) {print "?!"; exit();
    }
    $act=htmlspecialchars($act);
    $sql "SELECT * FROM userx WHERE login='$user'";
    $result mysql_query($sql);
    $db mysql_fetch_array($result);

    $room=$db["room"];
      if(
    $room == "Западный Лес")
    {
    $fexp=$db['forest_exp'];
      if(
    $db['forest_exp']>1000)
    {
    $plus=1;
    }
       else{
    $plus=0;
    }
      if (
    ereg("[<>\\/-]",$level)) {print "?!"; exit();
    }
    $level=htmlspecialchars($level);

      if(
    $db["loc_work"] == '0')
    {
      if(empty(
    $act))
      {
          
    $act "show";
    }
      if(
    $act == "none")
      {
          
    $act "show";
    }
    }
       else{if(empty(
    $act))
       {
           
    $act "work";
    }
      if(
    $act == "none")
      {
          
    $act "work";
          }
    }
      if(
    $act=="show")
    {
    ?>

    <div align=right><a href=forest.php?act=loc>Локация</a></div>
    <table border=0 cellpadding=0 width=40% align=center>
    <TR>
    <td width=22></td>
    <TD>
    <table cellpadding=0 cellspacing=0 border=1 width=100% bordercolor=black>
    <tr><td width=24>&nbsp</td>
    <td><b>Порода</b></td>
    <td><b>Кол-во</b></td>
    <td><b>Шанс</b></td>
    <td><b>Срублено</b></td></tr>
    <?
    $fores = mysql_query("SELECT * FROM forest");
    while($F = mysql_fetch_array($fores))
    {
    $fid=$F['id'];
    $fname=$F['name'];
    $fkolvo=$F['kolvo'];
    $fimg=$F['img'];
    $fpercent=$F['percent']+$plus;
    $fores2 = mysql_query("SELECT fokolvo FROM inventary WHERE owner='$user' and object_type='forest' and object_id='$fid'");
    $W2 = mysql_fetch_array($fores2);
      if(!$W2){$h_kol=0;
    }
    else
    {
        $h_kol=$W2['fokolvo'];
        }
    echo "<tr><td width=24><img src=$fimg border=1></td>
    <td>$fname</td>
    <td>$fkolvo</td>
    <td>$fpercent%</td>
    <td>$h_kol</td></tr>";
    }
    ?>
    </table>
    </td>
    <td width=22></td>
    </tr></table><center><br><b>Опыт Лесоруба:<? echo"$fexp"; ?></b><br><form name=work action='forest.php?act=work' method='POST'><img src=check.php><br><input type="text" name="check" class="field" size="10" maxlength="3" style="filter:alpha(Opacity=80);"><br><input type=button value='Рубить' class=ad onClick='this.disabled = true;forest()'></form>
    <?
    }
      if($act=="work")
    {
      if($db["loc_work"] == '0')
    {
      if(isset($_POST['check']) && (isset($_SESSION['check']) || isset($_SESSION['check'])))
    {
      if(strtolower($_POST['check'])==$_SESSION['check'])
    {
    $work_time=5*60+time();
    $res=mysql_query("UPDATE userx SET loc_work='$work_time', loc_work_pg='forest' WHERE login='$user'");
    echo "<script>location.href=\"forest.php?act=work\";</script>";
    die();
    }
    else{
         echo "<center><font color=red><b>Неверный защитный код!</b></font><br><input type=button value='Вернуться' class=ad onClick='location.href=\"forest.php\"'></center>";
         die();
        }
    }else{
        print"fig";
    }
     }
    else {
      $wait_sec_w=$db["loc_work"];
      $now_w=time();
      $left_time_w=$wait_sec_w-$now_w;
      $left_min_w=floor($left_time_w/60);
      $left_sec_w=$left_time_w-$left_min_w*60;
    if($db["loc_work"]>$now_w)
    {
        echo "<br><center>Вы ещё в процессе работы. <br>Осталось $left_min_w мин. $left_sec_w сек.<br><input type=button value='Обновить' class=ad onClick='location.href=\"forest.php\"'></center>";
        }
    else {
          $res_n = rand(1,6);
          $fores3 = mysql_query("SELECT percent,name,kolvo,umenie FROM forest WHERE id='$res_n'");
          $F2 = mysql_fetch_array($fores3);
    }
     if($shans<$F2['percent'])
    {
    $tree=$F2['name'];
    $for_exp=$db['forest_exp']+$F2['umenie'];
     if($F2['kolvo']>=1)
    {
    $new_kolvo=$F2['kolvo']-1;
    echo "<br><center>Вы срубили  \"$tree\".<br>";
    $upd=mysql_query("UPDATE forest SET kolvo='$new_kolvo' WHERE id='$res_n'");
    $upd2=mysql_query("UPDATE userx SET forest_exp='$for_exp' WHERE login='$user'");
    $fores4 = mysql_query("SELECT fokolvo FROM inventary WHERE owner='$user' and object_type='forest' and object_id='$res_n'");
    $W = mysql_fetch_array($fores4);
     if(!$W)
    {
    $upd=mysql_query("INSERT INTO inventary(owner,object_id,object_type,object_razdel,fokolvo) VALUES('$user','$res_n','forest','resourses','1')");}
    else {
    $newkol=$W['kollvo']+1;
    $upd=mysql_query("UPDATE inventary SET fokolvo='$newkol' WHERE owner='$user' and object_type='forest' and object_id='$res_n'");}
    $res=mysql_query("UPDATE userx SET loc_work='0', loc_work_pg='' WHERE login='$user'");
    die();
    }
    else {
    echo "<br><center>Дерево оказалось трухлявым...<br><input type=button value='Обновить' class=ad onClick='location.href=\"forest.php?act=show\"'></center>";
    $res=mysql_query("UPDATE userx SET loc_work='0', loc_work_pg='' WHERE login='$user'");
    die();
    }
    }
    }

    ?>
    1 в чём ошибка? не работает вообще (
    2. правильные ли запросы к бд
    3. скрипт должен выводить кнопку с капчей и названием рубить и идёт отсчёт времени после которого выводится срубленное дерево.
     
  19. blaga

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

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    Mirella, а файл что в начале подключаеться есть? с БД все в порядке? она заполнена нужными данными? Запросы вроде правильные.

    Nightmarе, в скрипте пишешь в самом начале сохранение в файл переменную окружения REMOTE_ADDR и дату со временем.

    После просто при существований переменной look например выводить последние ип, правда что то в голову не лезет как сделать отбор лишних айпишников, но это решаемо. Для начала сделай что бы он тебе хоть в файл писал.
    Ну а с БД было бы на порядок удобнее и легче. Выводить проще.
     
  20. bombeg

    bombeg Member

    Joined:
    27 Oct 2008
    Messages:
    136
    Likes Received:
    83
    Reputations:
    8
    array_unique например.
     
Thread Status:
Not open for further replies.