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

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

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

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    mironich
    глянь это($table - имя таблицы, $values - ассоциативный массив ИмяПоля - Значение):
    PHP:
    function insert_data($table$values)
    {
        
    $sql "INSERT INTO `$table` (";
        foreach(
    $values as $key => $value)
        {
            if(
    $key != "")
            {
                
    $fields[] = $key;
                
    $sql .= "`$key`, ";
            }
        }
        
    $sql substr($sql,0,strlen($sql)-2);
        
    $sql .= ") VALUES(";
        foreach(
    $fields as $field)
            
    $sql .= "'$values[$field]',";

        
    $sql substr($sql0, -1);
        
    $sql .= ");";

        
    $res mysql_query($sql);
        return 
    $res true false;
    }
     
    1 person likes this.
  2. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Так как я не сильный умелец обьяснять что нужно сделать, или как это сделать, буду минимально просто.
    Этот код открывает текстовый файл, и разбивает его на части, по 100 строк.
    Этот код - исполняет рабивку только один раз после запуска скрипта.
    Как сделать так что бы цикл повторялся ?
    К примеру что бы он исполнился 5 раз ? т.е 5 раз рабился файл ? пусть один и тот же.

    Code:
    $file_in = 'cogp.txt'; #входной файл
    $file_out_n = 'cogp'; #выходной файл имя
    $file_out_ras = 'txt'; #выходной файл расширение
    $strok = 100; #колличество строк в одном выходном файле
    $count_out = 1; #счетчик выходных файлов начинать с этого числа
     
    
    if(file_exists($file_in)) $content = file($file_in); else exit('Не найден входной файл '.$file_in);
    $k=0;
    $add = '';
     for($i=0, $count=count($content); $i < $count; $i++){
      if($i == $strok * ($k + 1) || $i==$count-1){
       if($i==$count-1) $add=$add.$content[$i];
       $fp = fopen($file_out_n.$k.'.'.$file_out_ras, 'w');
       fputs($fp, $add);
       fclose($fp);
        $add='';
            $k++;
      }
         $add=$add.$content[$i];
     }     
    echo 'Работа завершена. Создано '.$k.' файлов';
    
    Т.е если я этот код заключю еще в один цикл FOR то 1 цикл будет исполняться к примеру 6 раз - а ЦИКЛ с разбивкой только 1 раз.... вот и задача или совместить циклы или как то сделать ... я просто не могу понять логики как так..
     
    #20582 Adio, 13 May 2012
    Last edited: 13 May 2012
  3. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Adio
    PHP:
    $file_in 'cogp.txt'#входной файл
    $file_out_n 'cogp'#выходной файл имя
    $file_out_ras 'txt'#выходной файл расширение
    $strok 100#колличество строк в одном выходном файле
    $count_out 1#счетчик выходных файлов начинать с этого числа
     
    for($zzz=0$zzz<5$zzz++)
    {
    if(
    file_exists($file_in)) $content file($file_in); else exit('Не найден входной файл '.$file_in);
    $k=0;
    $add '';
     for(
    $i=0$count=count($content); $i $count$i++){
      if(
    $i == $strok * ($k 1) || $i==$count-1){
       if(
    $i==$count-1$add=$add.$content[$i];
       
    $fp fopen($file_out_n.$k.'.'.$file_out_ras'w');
       
    fputs($fp$add);
       
    fclose($fp);
        
    $add='';
            
    $k++;
      }
         
    $add=$add.$content[$i];
     }     
    }
    echo 
    'Работа завершена. Создано '.$k.' файлов';
     
    _________________________
    1 person likes this.
  4. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Ниже json обьект.
    PHP:
    {"name":"TestAdd","phone":"4574585484","adress":"Moscov 58","ldate":"01-2-2006"}
    Из php привожу в ассоциативный массив через json_decode второй параметр true, функц. возвращает Null почему это происходит?
    Upd: Разобрался магические кавычки были вкл.
     
    #20584 mironich, 16 May 2012
    Last edited: 16 May 2012
  5. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    396
    Likes Received:
    79
    Reputations:
    16
    Как завершить php скрипт, который выполняется на обычном хостинге под ignore_user_abort(true)? Дело в том, что сокет работает бесконечно и отправляет данные без обновления, нужно как-то завершить скрипт и обновить данные.
     
  6. DeepBlue7

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

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    Как насчёт, например, считывания из файла с содержимым 1 или 0... Если 0 - оборвать цыкл.. 1 - продолжить ? Т.е. цикл прерывается если значение в файле - 0.
     
    1 person likes this.
  7. seofilms

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

    Joined:
    27 May 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    14
    <input type=checkbox name=zakaz[]>
    <input type=checkbox name=zakaz[]>
    <input type=checkbox name=zakaz[]>
    Получается 0,1,2
    Допустим я нажал на checkbox 1, как вывести именно циферку 1 ?
     
  8. DeepBlue7

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

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    Вы наверняка хотели сделать нечто подобное:

    Code:
    <?php
    echo "
    <form method='post'>
    <input type='checkbox' name='zakaz' value='0'>
     <input type='checkbox' name='zakaz' value='1'>
     <input type='checkbox' name='zakaz' value='2'>
     <input type='submit' name='submit' value='submit'>
     </form>
     "; 
     
    	echo $_POST['zakaz'];
    ?>
    
    Нельзя массивы там использовать...
     
  9. ol1ver

    ol1ver Active Member

    Joined:
    22 Jul 2011
    Messages:
    229
    Likes Received:
    152
    Reputations:
    0
    юзай отладку print_r ($_POST);
     
  10. seofilms

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

    Joined:
    27 May 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    14
    Юзал, это лишь выведет нажатые чекбоксы, мне нужно например после нажатия zakaz 1 удалить первую статью из базы данных.
    К каждой статье приделан <input type=checkbox name=zakaz[]>
    Мне нужно определить какой статье принадлежит чекбокс и удалить эту статью.
     
  11. DeepBlue7

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

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    Тогда цикл в форму... чот тип этого:
    Code:
    <?php
    echo "
    <form method='post'>";
     for($i = 0; $i < 5; $i++)
     {
     
    	echo "<input type='checkbox' name='zakaz' value='$i'>";
     }
     echo "<input type='submit' name='submit' value='submit'></form>";
    	echo $_POST['zakaz'];
    ?>
    
    Ну.. это так, для примера.
     
  12. seofilms

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

    Joined:
    27 May 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    14
    Тоже об этом подумывал, спасибо)
     
  13. Billerofont

    Billerofont New Member

    Joined:
    12 Apr 2012
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Подскажите, пожалуйста, как вообще можно составить брут под конкретные цели? Какой информацией надо обладать для этого? Скажем, я хочу взломать конкретный аккаунт, в конкретном чате...
     
  14. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    396
    Likes Received:
    79
    Reputations:
    16
    Код скрипта редактировать нельзя.
     
  15. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,399
    Likes Received:
    883
    Reputations:
    859
    как минимум надо знать логин ломаемого человека, а в дальнейшем к к логину подбирать пасс, былобы не плохо сначало прогнать по паблик словарям, не думаю чтоу ломаемых аккаунтах в чатах они сложные, ну а потом только брутом, подобных скриптов и программ в гугле полно...
     
    _________________________
  16. seofilms

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

    Joined:
    27 May 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    14
    Есть вот такой вот код :
    PHP:
    $checkit=$_POST['zakaz'];
    if (isset(
    $checkit))
    {
    $result=mysql_query('DELETE FROM `pcrepair1`.`zakazy` where `zakazy`.`id`=' $checkit);
    echo 
    "<meta http-equiv='Refresh' content='0; URL='>";
    }
    При нажатии на чекбокс рядом с новостью она удаляется, но на странице ничего не изменяется, для этого я сделал обновление страницы :
    echo "<meta http-equiv='Refresh' content='0; URL='>";
    Можно конечно еще сделать через header, через javascript...
    Но как по мне это странно)
    Возможно ли сделать тоже самое, только без обновления страницы ? Или только через ajax?
     
  17. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Только js, используй mysql_real_escape_string();
    Ибо ты не фильтруешь POST запрос, подставят OR 1=1 и все новости удаляться.
    Зы оперировать с конвентом html стр(видом) через php извращение.
     
    1 person likes this.
  18. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    396
    Likes Received:
    79
    Reputations:
    16
    Актуально.
     
  19. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    AnGeI Внутри цикла опрашивать что-то внешнее, например файл, и если там текст STOP - останавливаться. Либо пристреливать процесс php, вопрос только какой.
     
    _________________________
  20. DeepBlue7

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

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    Предлагал... код скрипта он модифицировать не может o_O.
     
Thread Status:
Not open for further replies.