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

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

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

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    Ошибся. Исправил:
    PHP:
    <?php 
    $cookies 
    '
    remixmid=545654; [email protected]; remixpass=dasdasd;
    remixmid=13; [email protected]; remixpass=dasdasd;
    remixmid=444; [email protected]; remixpass=dasdasd;
    remixmid=212; [email protected]; remixpass=dasdasd;
    '

    $regexp "#remixmid=([0-9]+)#";
    preg_match_all($regexp$cookies$m);  
    foreach(
    $m[1] as $d) echo $d.'<br />'
    ?>
    то есть он будет выводить сам ид без remixmid=, так ведь надо?
     
    2 people like this.
  2. AdReNa1!Ne

    AdReNa1!Ne Elder - Старейшина

    Joined:
    24 May 2007
    Messages:
    70
    Likes Received:
    105
    Reputations:
    14
    ага) Спасиб) Я, кстати, свою регулярку поправил и она тож работает)
     
  3. На100ящий

    На100ящий Elder - Старейшина

    Joined:
    9 Jan 2008
    Messages:
    43
    Likes Received:
    1
    Reputations:
    0
    Скажите как можно пройти Бэйсик авторизацию на пхп, с логином и паролем????
     
  4. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    PHP:
    <?php
    $login 
    'test';
    $pwd 'test';

    if(!isset(
    $_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!==$login || $_SERVER['PHP_AUTH_PW']!==$pwd)
    {
       
    header('WWW-Authenticate: Basic realm="Authorization"');
       
    header('HTTP/1.0 401 Unauthorized');
       exit(
    '<b>access denied.</b>');
    }
    echo 
    123;
    ?>
    Или ты имел введу как обойти? Бэйсик только брутом...
     
  5. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Стоит добавить, что использование php для проведения http аутентификации возможно лишь в том случае, если php установлен как модуль Apache
     
  6. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    помогиет разобраться
    есть неки перловский скрипт при обращении к которому получаю тупо один текст

    Вытаскиваю содержимое в переменную хтмл и потом ее вывожу НО не сохраняется формат выведенного тоесть табуляция перевод строк и т.д. подскажите что да как подправить где и что почитать ))

    PHP:
    $html implode (''file ('http://site/cgi-bin/trstat.pl?code=teslaing&month=2008-06'));
    echo 
    $html;
    в дальнейшем просто нужно будет из массива брать данные и подставлять на место code= и month=
    и выводить рез-т скрипта в файл.
    спс.
     
  7. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    echo file_get_contents('http://site/cgi-bin/trstat.pl?code=teslaing&month=2008-06');
     
    1 person likes this.
  8. PHPoozy

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

    Joined:
    1 Jul 2008
    Messages:
    149
    Likes Received:
    31
    Reputations:
    -22
    svesve
    Code:
    $html = file("file.html");
    
    for($i=0; $i < count($html); $i++)
    {
        print $html[$i];
    }
    -
    -
    -
    пробел необезательно ;)
     
    #3868 PHPoozy, 4 Jul 2008
    Last edited: 4 Jul 2008
  9. Demetra

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

    Joined:
    27 Aug 2007
    Messages:
    48
    Likes Received:
    8
    Reputations:
    0
    народ погите,как добавить активацию мэйла к реге?на файлах.я знаю тока что в конец ссылки добавлять переменую ключа это можно как мд5 от логина,опишите пожалуста последовательность действий я непойму принцип работы этого
     
  10. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    никаких заранее известных данных в ключе быть не должно.
    а алгоритм прост до безумия : делаешь ему дополнительное поле типа active, со значением 1 - активный, 0 - не подтвержденный.
    хеш РАНДОМНЫЙ пишешь например в файл /tmp/ХЕШ
    внутри него ид аккуанта, от которого этот хеш.
    потом просто проверяешь и если файл есть, берешь из него ид аккуанта и меняешь значение active на 1.
    соответственно при логине на сайт нужно тоже это учесть.
    и вообще файлы это прошлый век, юзай базы данных.
     
  11. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    1) Юзер заносит свои данные
    Выполняються следующие действия
    - Он заноситься в базу со статусом confirm = 0, береться $last_insert_id
    - Заноситься поле в дополнительную таблицу, ввида
    (можно еще и дату, типа в течении 3дней)
    - Высылаеться письмо юзверю со ссылкой
    mysite.com/confirm.php?user=md5(time()+$last_insert_id)

    2) Юзер перешел по ссылке
    Проверяем присутствует ли запись в таблице с confirm_code, если да берем из этой таблицы user_id, а по нему переводим значение confirm юзера в 1, если нет к Анатолею
    При входе юзера на сайт в запрос дополнительно ставим "AND `confirm`==1"
    На файлах смысл тот же.... Только бд в файлах, а это имхо изврат, даже для маленьких сайтов

    Это самый простой вариант, можно еще доп проверки ставить, такие как логин
    _____________________________

    Пока писал ГринБир уже ответил :(
     
    #3871 Naydav, 4 Jul 2008
    Last edited: 4 Jul 2008
  12. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    пишем брут на 5 строчек и активируем аккуант.
     
  13. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Вообщем все просто! Не буду приводить полный скрипт, но объясню по подробней.

    Скажем при реге генирируем какойнибудь ключ, например так:
    PHP:
    $key md5((rand(100000,500000)*microtime()*100000).$login.$pass)
    Заносим, скажем, это значение в колонку key.
    И отправляем ссылку на почту юзера:

    А в файле confirm.php создаем примерно такой скрипт:
    PHP:
    <?php
    $confirmed 
    "Тут результат ключа из бд!";
    if(
    $_GET['key']==$confirmed){
    mysql_query("Отчищаем поле в колонке key");
    echo 
    "Ваш профиль теперь активирован :)";
    }else{
    echo 
    "Такого ключа нету";
    }
    ?>
    Осталось лишь поставить на страницу скажем profile.php:
    PHP:
    if($keyresult==''){
    //выводим профиль
    }else{
    echo 
    "Ваш профиль не активирован!";
    }
    Где $keyresult - пустое значение из колонки key.

    Т.е если поле пусто то профиль активируется, если нет то просит активации.
     
    #3873 Chaak, 4 Jul 2008
    Last edited: 4 Jul 2008
  14. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Не спорю, а как мы узнаем $last_insert_id?
    Разве, региться и смотреть, проскочит ли, где-то в персональных настройках

    А вообще, я хотел ипользовать microtime(), просто спешил ответить
     
    #3874 Naydav, 4 Jul 2008
    Last edited: 4 Jul 2008
  15. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    свой ид пользователю узнать труда почти никогда не составляет.
     
  16. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    После того как я запостил свое сообщение))
     
  17. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    я его даже не читал

    вчера делал с микротайм
    чессно :)

    А вообщето , о да, я скопипастил сообщение великого чака
     
    #3877 Naydav, 4 Jul 2008
    Last edited: 4 Jul 2008
  18. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Точно!. Но какая разница). Надеюсь Человек поймет , на основе наших сообщений.
     
  19. xxxxxxxxxxxxxxx

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

    Joined:
    20 Jan 2008
    Messages:
    66
    Likes Received:
    8
    Reputations:
    0
    у меня такой вопрос. есть страница 1.html с 3мя чекбоксами
    PHP:
    <input type="checkbox" name="1" value="">
    <
    input type="checkbox" name="2" value="">
    <
    input type="checkbox" name="3" value="">
    <
    input type="submit" value="ok">
    и страница 1.php которая выполняет простые математические действий. как зделать так чтоб нажимаешь одну или более чекбоксов и жмешь ок и выполнялись те действия которые выбрал.
    если у кого есть пример калькулятора на пхп поделитесь)))
     
  20. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    делай как массив. name="do[]"
    PHP:
    if(is_array($_POST['do']) && sizeof($_POST['do'])){
    foreach(
    $_POST['do'] as $value){
    //
    }
    }else{
    echo 
    'error';
    }
     
    1 person likes this.
Thread Status:
Not open for further replies.