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

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

Thread Status:
Not open for further replies.
  1. Ru}{eeZ

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

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    многие хостинги curl не поддерживают, может твой один из них?
     
  2. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    А попроще сказать можно? ето ты типо хочеш проверку капчей сделать там?
    ты хоть бы выложил нормалынй код! Вот результ от первого стрипта:
    Parse error: syntax error, unexpected '}' in Z:\home\localhost\www\test.php on line 15
     
    #10102 Mixon, 23 May 2009
    Last edited: 23 May 2009
  3. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Выходит так:
    PHP:
    <?php
    session_start
    ();
    ?>
    <form action="" method="post">
        <p><input name="d" type="text" class="form" size="15"></p>
        <p>Enter text shown below:</p>
        <p><img src="captcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"></p>
        <p><input type="text" name="keystring"></p>
        <p><input type="submit" value="Check"></p>
        </form>
        <?php
        
    if(count($_POST)>0){
            if(isset(
    $_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring']){
    //Есле капча введена верно то...
                
    $db mysql_connect("localhost","root","");
                
    mysql_select_db("bd",$db);
                if(!empty(
    $_POST['go'])){
                if(isset(
    $_POST['d'])){
                
    $d $_POST['d'];
                }
                
    $result mysql_query("INSERT INTO za (d) VALUES('$d')");
                if(
    $result == 'true'){
                }
                }
            }else{
    //Есле нет то...
                
    echo "Капчу верно введи!";
            }
        }
        unset(
    $_SESSION['captcha_keystring']);
        
    ?>
    Синтаксис поправил,но в роботу скрипта не вникал.
     
  4. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Не думаю... На сайте хостера написано что КУРЛ есть.. Ктомуже по работе скрипта видно что он есть.. В процессе выполнения скрипта происходит авторизация на сайте, затем переход по нескольким страницам для дальнейшего их парсинга.. Для проверки ставил echo этих страниц - выводит всё как надо.. А вот авторизация не происходит... Думаю из-за того, что куки не сохраняются...

    П.С. тут пару страниц назад я писал, что проблема с капчей при авторизации... На самом деле надо было просто внимательней отнестись к тому на какой стадии созранить куки, и где их потом вызвать... Так вот самое интересное, на локалхосте при первой авторизации и сохранении файла куков дальнейшая авторизация любого пользователя проходит без ввода капчи... И это вообще охрененно, но...... Надо запустить не на локалке... :confused: :confused: :confused: Чёнить посоветуйте..))
     
  5. wildshaman

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

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Фишка с несохраняющимися куками на серваке в указании пути к ним. сам сталкивался с такой проблемой. указывпйте ПОЛНЫЙ пусть к файлу, куда сейвить куки, напмреир /home/.../www/cookies.txt
     
  6. Winst0n

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

    Joined:
    19 Aug 2008
    Messages:
    92
    Likes Received:
    5
    Reputations:
    0
    Mixon, код рабочий... просто забыл "{" после if($result == 'true')

    PHP:
    <?php 
    session_start
    (); 
    ?> 
    <form action="" method="post"> 
        <p><input name="d" type="text" class="form" size="15"></p> 
        <p>Enter text shown below:</p> 
        <p><img src="captcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"></p> 
        <p><input type="text" name="keystring"></p> 
        <p><input type="submit" value="Check"></p> 
        </form> 
        <?php 
        
    if(count($_POST)>0){ 
            if(isset(
    $_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring']){ 
    //Есле капча введена верно то... 
                
    $db mysql_connect("localhost","root",""); 
                
    mysql_select_db("bd",$db); 
                if(!empty(
    $_POST['go'])){ 
                if(isset(
    $_POST['d'])){ 
                
    $d $_POST['d']; 
                } 
                
    $result mysql_query("INSERT INTO za (d) VALUES('$d')"); 
                if(
    $result == 'true'){ 
                } 
                } 
            }else{ 
    //Есле нет то... 
                
    echo "Капчу верно введи!"
            } 
        } 
        unset(
    $_SESSION['captcha_keystring']); 
        
    ?>
    если верно вводишь в бд не пишет =\
     
  7. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Winst0n,Хм,ну ето уже удели больше внемания самому коду,что записывает,и попробуй,доходит ли до него все данные,у меня то нету кода капчи...Вопщем удели по больше внеманию етой строчке
    <form action="" method="post">
    и доходит ли параметр d через POST запрос в сам скрипт посмотри. А вопще я тебе дал код,смотри,мучий...
     
  8. Winst0n

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

    Joined:
    19 Aug 2008
    Messages:
    92
    Likes Received:
    5
    Reputations:
    0
    Mixon, спс, сам сделал :) просто писал вчера в 3 ночи))
     
  9. Ridikh

    Ridikh Member

    Joined:
    11 Nov 2007
    Messages:
    69
    Likes Received:
    7
    Reputations:
    0
    напишите пожалуйста php функцию которая удаляла бы все папки вместе со вложенными файлами и все файлы из папки temp которая лежит в корне скрипта, в который нужно вставить эту функцию
     
  10. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Да, я тоже с этим столкнулся когда на локалхосте отлаживал скрипт.. После прописания полного пути, на локалхосте заработало... И на сервер залил с полными путями - там не пашет... Самое интересное то, что заработал, когда я заменил полный путь на куки.тхт :D
     
  11. neprovad

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

    Joined:
    19 Oct 2007
    Messages:
    900
    Likes Received:
    275
    Reputations:
    59
    как правильно вывести байты?

    Есть такая задача - надо вывести байтами кучу данных (hexdump) Данные в виде hexстроки а-ля "6F2030313234FF" и т.п. Собственно вопрос как оптимальней \понятней сделать это. данные , если потребуется можно сохранить в файл или намертво вбить в код скрипта.
    з.ы. в php разбираюсь очень слабо, прошу помочь
     
  12. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    neprovad http://php.net/pack http://php.net/unpack
     
    _________________________
  13. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    neprovad
    PHP:
    $str "30313233343536373839";
    echo 
    pack ("H*"$str), "\n";
     
    1 person likes this.
  14. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Установить булку на другой хост.
     
  15. Chrek625

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

    Joined:
    6 Jun 2006
    Messages:
    143
    Likes Received:
    13
    Reputations:
    -7
    Добпрго времени суток. обитателям форума.
    Помогите мне разобраться с вот такой ошибкой....
    Fatal error: Cannot re-assign $this in Z:****\****\www\classes\Shop.php on line 75
    Я знаю что это из за разницы в версиях PHP но вот как исправить не знаю(( помогите
     
  16. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    Это геморная затея, нАврятли ты сам осилишь:
    http://www.masterhost.ru/support/faq/technical/to-php5-mysql5/
     
    #10116 PaCo, 24 May 2009
    Last edited: 24 May 2009
    1 person likes this.
  17. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 Ridikh:

    PHP:
    <?php
    @set_time_limit(0); 
    @
    ini_set("display_errors","1");

    $path '/home/kf-kf/dfgdf/http/df/test'// Абсолютный путь к папке для удаления 
    //её содержимого, включая все файлы, папки и подпапки, без слеша в конце

    //Функция рекурсивного получения списка файлов и папок
    function fold($rootDir$allData=array()) {
        
    $invisibleFileNames = array(".""..");
        
    $dirContent scandir($rootDir);
        foreach(
    $dirContent as $key => $content) {
            
    $path $rootDir.'/'.$content;
            if(!
    in_array($content$invisibleFileNames)) {
                if(
    is_file($path) && is_readable($path)) {
                    
    $allData[0][] = $path;
                }elseif(
    is_dir($path) && is_readable($path)) {
                    
    $allData[1][] = $path;
                    
    $allData fold($path$allData);
                }
            }
        }
        return 
    $allData;
    }
    //Удаляем все файлы
    $a fold($path);
    // print_r ($a); // Расскоментируйте, если хотите посмотреть список файлов и папок (подпапок)
    $i=0;
    $count count($a[0]);
    while (
    $i<$count) {
       
    unlink($a[0][$i]);
       
    $i++;
    }
    //Удаляем все папки
    $i count($a[1])-1;
    while (
    $i>-1) {
       
    rmdir($a[1][$i]);
       
    $i--;
    }
    echo 
    "All data from $path deleted";
    ?>
     
    #10117 Pashkela, 24 May 2009
    Last edited: 24 May 2009
  18. Chrek625

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

    Joined:
    6 Jun 2006
    Messages:
    143
    Likes Received:
    13
    Reputations:
    -7
    PaCo может тогда поможишь?
     
  19. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    нужен небольшой РНР скрипт

    есть .тхт фай словаря, где перевод некоторых слов на несколько строчек,
    Code:
    abatable = a юр. отменяемый, предусматривающий  
    [COLOR=Red]abate = v  1) уменьшать, ослаблять, смягчать;  2) снижать (цену и т. п.) , 
    делать скидку;  3) уменьшаться, ослабевать, затихать;  4) устранять, прекращать;  
    5) притуплять (остриЈ) ;  6) аннулировать, отменять      [/COLOR]
    [COLOR=DarkRed]abatement = n  1) уменьшение, смягчение;  2) снижение (цен и т. п.) ;  3) 
    аннулирование, отмена      [/COLOR]
    abat-jour = n фр.  1) абажур;  2) козырЈк здания      
    надо перегнать в другой тхт файл. такой что бы перевод каждого слово было на одной строчке. (слова и перевод разделени знаком "=") т.е если в строчке не встречается знак "=" то хначит это продолжение предыдущей строки и надо его туда переместит

    я сам делал так:
    в цикле брал строчку, если там встречаться знак "="
    то записывал в конец другого файла , если нету "=" то дописывал в продолжение последней строки. в принципе алгоритм правильный но кде надо было дописывать в продолжении последней строки у меня не получалось
    вот этот кусочек
    PHP:
    $f=fopen("2.txt","a+"); 
    fseek($f1SEEK_END);
    fwrite($f,$str);
    fclose($f);

     
    1 person likes this.
  20. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    на некоторых фри хостах капча не отображается, особенно капча которую РНР сам делает и рисует :)
     
    #10120 REBUUS, 24 May 2009
    Last edited: 24 May 2009
    1 person likes this.
Thread Status:
Not open for further replies.