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

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

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

    awdrg Member

    Joined:
    30 Jan 2009
    Messages:
    195
    Likes Received:
    31
    Reputations:
    1
    скажите пожалуйста, как можно создать текстовое поле (textarea) и кнопку, при нажатии на которую содержимое заисывалось в текстовый файл? заранее спасибо
    и еще вопрос: имеется код
    PHP:
    $fp fsockopen($hostname80$errno$errstr300);
    ...
    fwrite($fp$headers.$data);
    echo 
    $fp;
    но вместо ответа сервера он выводит:
    Code:
    Resource id#2
    Почему?
     
    #8861 awdrg, 7 Mar 2009
    Last edited: 7 Mar 2009
  2. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    потому что $fp - resource handle.
     
  3. Ch3ck

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

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,191
    Reputations:
    430
    http://forum.alfaspace.net/6_5754_0.html
     
    1 person likes this.
  4. awdrg

    awdrg Member

    Joined:
    30 Jan 2009
    Messages:
    195
    Likes Received:
    31
    Reputations:
    1
    А как его можно вывести на печать?
     
  5. VaTTka

    VaTTka Member

    Joined:
    10 Dec 2008
    Messages:
    0
    Likes Received:
    14
    Reputations:
    0
    Подскажите пожалуйста, как реализовать следующее:

    Есть сайт. К сайту подключаются пхп страницы с каким либо контентом(скрипт теста, картинки и т.п.). Как сделать iframe, чтобы можно было разместить ТОЛЬКО содержимое пхп странички на других страницах? у меня получается размещать только полную страничку.. Подскажите пожалуйста.
     
  6. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Люди,кто-нибудь знает,как обходится капча ? Делится ли она как-то ?(Всмысле,на категории,подкатегории и т.д.).Какие методы сопряжения с CURLом имеются? По возможности,с примером.Хочу попробовать обойти её =_=.Капча сервисы сразу отпадают,так как они не всегда доступны...плюс не знаю,как такое реализуется)))
     
    1 person likes this.
  7. awdrg

    awdrg Member

    Joined:
    30 Jan 2009
    Messages:
    195
    Likes Received:
    31
    Reputations:
    1
    капча - берется переменная, заносится ее значение на рисунок и он, вместе с хэшем переменной отсылается получателю.
     
  8. _SEREGA_

    _SEREGA_ Banned

    Joined:
    28 Mar 2008
    Messages:
    132
    Likes Received:
    44
    Reputations:
    7
    Люди, помогите пожалуйста. Я новичок в этом деле.Я начинаю изчать PHP т.к. хочу научиться делать пхп инЪекции и XSS. я зарегал хостинг с php и залил свой индекс.хтмл
    с таким содержимым:
    <html>
    <head>
    <title>Тестируем PHP</title>
    </head>
    <body>
    <?php echo 'Hello, world!'; ?>
    </body>
    </html>

    что должно было получиться? правильно я написал? и кагда я открыл свой сайт там токо название вкладки и пустая страница((((((((( что я не так делаю! может ктонить подскажет литеретуру для новичка с уклоном не на разработку сайтов а на проведение атак! я неплохо знаю с++ и немного хтмл.
     
  9. _SEREGA_

    _SEREGA_ Banned

    Joined:
    28 Mar 2008
    Messages:
    132
    Likes Received:
    44
    Reputations:
    7
    Я так себе понимаю синтаксис но не врубаюсь куда пихать код, я хостинг на hut.ru зарегал

    может посоветуете нормальный хостинг (бесплатный конечно) с полноценным пхп?
    Должно было окошко с текстом появиться?
     
    #8869 _SEREGA_, 8 Mar 2009
    Last edited: 8 Mar 2009
  10. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    да твой хостинг пхп скрипты держит
    создаешь файл Index.php а не html
    в нем пишешь
    Code:
    <?
    phpinfo();
    ?>
    
     
    2 people like this.
  11. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    есть ли различия в работе функции stream_socket_accept
    в версиях php под win и unix ?

    я не могу найти, в чём проблема:
    после первого принятого соединения в unix версии php, функция stream_socket_accept всегда возвращает false на новые соединения до тех пор, пока не закроется единственное первое.
    но клиент показывает, что соединение установлено. значит функция устанавливает соединение но не возвращает handle.

    наглядно так:
    клиент 1 коннектится - его функция обрабатывает корректно
    клиент 2 коннектится - функция устанавливает соединение но возвращает false и я не могу получить handle сокета этого нового юзера.
    так же и с последующими.


    в win всё норм работает - то есть принимает исправно все соединения после первого.


    версия php 5.2.8 и там и там
     
  12. -m0rgan-

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

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    https://forum.antichat.ru/nextnewesttothread74533.html

    обход капчи на яндексе

    и

    http://www.google.com/search?hl=ru&client=opera&rls=ru&hs=2BT&ei=fyWzSb60Goay0AWe2PGHAQ&sa=X&oi=spell&resnum=1&ct=result&cd=1&q=%D0%BE%D0%B1%D1%85%D0%BE%D0%B4+%D0%BA%D0%B0%D0%BF%D1%87%D0%B8&spell=1

    вот)
     
  13. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Велемир, если капча не очень сложная - перебирают попиксельно.
     
  14. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    imajo.ati Смотря как именно реализовано. Следующий код у меня нормально работает и на винде и на никсах
    PHP:
    #!/usr/local/bin/php
    <?php
    $port 
    9050;
    $sock stream_socket_server('tcp://0.0.0.0:'.intval($port), $errno$errstr);
    $clients = array($sock);

    while (
    true
    {
     
    $read $clients;
     if (
    stream_select($read$write NULL$except NULL5) < 1)
     continue;

     if (
    in_array($sock$read)) 
     {
      
    $clients[] = $newsock stream_socket_accept($sock);
      
    fwrite($newsock"Welcome to server\r\n");
      
    $ip stream_socket_get_name($newsocktrue);
      echo 
    "New client connected: {$ip}\n";
      
    $key array_search($sock$read);
      unset(
    $read[$key]);
     }

     foreach (
    $read as $read_sock
     {
      
    $data = @fgets($read_sock1024);
      if (
    $data === false
      {
       
    $key array_search($read_sock$clients);
       unset(
    $clients[$key]);
       echo 
    "client disconnected.\n";
       continue;
      }

      
    $data trim($data);

      if (!empty(
    $data)) {
       foreach (
    $clients as $send_sock
       {
        if (
    $send_sock == $sock || $send_sock == $read_sock)
        continue;

        
    fwrite($send_sock$data."\r\n");
       }
      }
     } 
    }
    fclose($sock);
    ?>
     
    _________________________
  15. initab

    initab New Member

    Joined:
    25 Jan 2009
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    Нет. Команда echo просто выведет в экран браузера данные, которые ты ей указал в параметрах. То есть результатом твоей программы будет:
    Code:
    <html>
    <head>
    <title>Тестируем PHP</title>
    </head>
    <body>
    Hello, world!
    </body>
    </html>
    
    Именно это прилетит в браузер (можешь посмотреть HTML код в браузере). Соответственно, ты увидишь только фразу "Hello, world!".

    Насчет фришного хостинга: загугли "Бесплатный хостинг PHP". Из личного опыта: tut.su, ayola.net - бесплатные, но постят рекламу, а также следят за тем, что ты у них размещаешь.
    Для разработки программ на php лучше подними у себя web-сервер с php. Это не так сложно. Зато получишь полный доступ ко всем настройкам php (очень важно при разработке программ) и не будешь мучаться с заливкой файлов.
     
  16. VaTTka

    VaTTka Member

    Joined:
    10 Dec 2008
    Messages:
    0
    Likes Received:
    14
    Reputations:
    0
    Знаю что тема заезженная, но на форуме по поиску не нашел. Как проверить поля на соответствие?
    Тоесть чтоб в поле e-mail вводили мыло, и т.п. Чтобы поля не были пустыми. Вроде слышал что нужен AJAX скрипт. Подскажите пожалуйста.
    п.с. насчет этого никто не поможет? http://forum.antichat.ru/showpost.php?p=1155867&postcount=9314
     
  17. spamoney

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

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Здравствуйте, помогите правильно составить регулярку, что бы если строка более N-го количества символов (допустим более 40), то эта строка обрезается по последний пробел, пробывал сам, вот что получилось:

    Code:
    function cut ($str, $dlina='40') {
    if (preg_match('#^([\s\S]{'.$dlina.'}[^\!\.\?]*)[\.\!\?]#i',strip_tags($str),$match)) $code = $match[1];
    else if (preg_match('#^([\s\S]{'.$dlina.'}[^\ \&nbsp;]*)[\ \&nbsp;]#i',strip_tags($str),$match)) $code = $match[1];
    
    return $code; 
        }
    
    
    $text='Исследование программных продуктов, защит программного обеспечения, низкоуровневое программирование';
    echo "Символов до: ".strlen(strip_tags($text))."<br />";
    $text=cut($text);
    echo "$text<br />";
    echo "Символов после: ".strlen(strip_tags($text))."<br /><br /><br />";
    
    
    $text='Исследование программных продуктов, защитатников';
    echo "Символов до: ".strlen(strip_tags($text))."<br />";
    $text=cut($text);
    echo "$text<br />";
    echo "Символов после: ".strlen(strip_tags($text))."<br />";
    
    но функция cut(); работает только если текст более 40 символов и после этих 40 символов есть пробел, вот код выполнения:

    Code:
    Символов до: 99
    Исследование программных продуктов, защит
    Символов после: 41
    
    
    Символов до: 48
    
    Notice: Undefined variable: code in script.php on line 8
    
    Символов после: 0
    
    А нужно что бы было так:
    Code:
    Символов до: 99
    Исследование программных продуктов, защит
    Символов после: 41
    
    
    Символов до: 48
    Исследование программных продуктов
    Символов после: 34
     
  18. initab

    initab New Member

    Joined:
    25 Jan 2009
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    Делается это вот так:
    Code:
    <HTML>
    <head>
    <SCRIPT LANGUAGE="JavaScript">
    function checkIt() {
    
    //Проверка поля mail формы form1
    if (document.forms.form1.mail.value != "") {
    } else {
    alert("Не заполнено поле \"Мыло\" в форме. \n\nПожалуйста, введите мыло.");
    document.forms.form1.mail.focus();
    return false;
    }
    
    //Сюда можно вставить проверку других полей
    
    return true;
    }
    </SCRIPT>
    
    </head>
    <body>
    <form action="" method="GET" name="form1">
    Мыло:  <input type="text" name="mail" value="" size="30" />
    <input type="submit" value="Отправить" onclick="return checkIt()"/>
    </form>
    </body>
    </HTML>
    
    Поясню, как это работает:
    При нажатии кнопки отправить вызывается функция ChekIt(), если она возвращает True, то данные отправляются, в противном случаи - нет.
    В функции ChekIt() необходимо проверить каждое поле на "заполненность":
    Code:
    if (document.forms.form1.mail.value != "") {
    } else {
    alert("Не заполнено поле \"Мыло\" в форме. \n\nПожалуйста, введите мыло.");
    document.forms.form1.mail.focus();
    return false;
    }
    
    В том порядке, в котором ты хочешь, чтобы возвращались сообщения об ошибках, если не заполнено несколько полей. Этот кусок кода проверяет, заполнено ли поле mail, и, если нет, сообщает об ошибке, переводит курсор в это поле и возвращает False, чтобы форма не отправлялась на сервер. Для обработки других полей скопируй этот кусок кода столько раз, сколько необходимо. Только не забудь исправить имя поля (в ДВУХ местах) и поправить текст сообщения.
    Ну и в конце функции, если все поля успешно заполнены, то возвращаем true.
     
    #8878 initab, 8 Mar 2009
    Last edited: 8 Mar 2009
    1 person likes this.
  19. VaTTka

    VaTTka Member

    Joined:
    10 Dec 2008
    Messages:
    0
    Likes Received:
    14
    Reputations:
    0
    initab,
    со вторым полем проблема, не проверят поле password. Изменил все как положено..
    Code:
    if (document.forms.password.password.value != "") {
    } else {
    alert("Не заполнено поле \"Пароль\" в форме. \n\nПожалуйста, введите свой пароль."); // выводит сообщение, если поле Subject не заполнено
    document.forms.password.password.focus();
    return false;
    }
     
    #8879 VaTTka, 8 Mar 2009
    Last edited: 8 Mar 2009
  20. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    spamoney Как-то так
    PHP:
    function cut($str,$len=40)
    {
        if (
    strlen($str)<=$len) return $str;
        else {
    preg_match('~^([\s\S]{' intval($len) . '}[^ ]*)?~'$str,$match); return $match[1];}
        return 
    false;
    }
    $str='Исследование программных продуктов, защит программного обеспечения, низкоуровневое программирование';

    echo 
    strlen($str).'-----'.cut($str);
     
    _________________________
    1 person likes this.
Thread Status:
Not open for further replies.