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

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

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

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    http://win.mail.ru/cgi-bin/auth?Login=mail&Domain=mail.ru&Password=пароль
     
  2. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Всем привет.
    Не могу понять кое что.
    PHP:
        while($row mysql_fetch_assoc($sql)){
    $result .= "Имя".$row['name'];
    $result .= "Сообщение".$row['txt'];

    }
    $tpl    = new Template//инициируем класс 
    $tpl->dir 'template/'//задаём местоположение папки с шаблонами 
    $tpl->load_template('main.tpl'); //загружаем каркас 

    //подставляем значения переменных 
    $tpl->set('{result}'$result);
    $tpl->compile('main'); //собираем шаблон 
    Т.е. всё что выводится из БД, приходится присваивать одной переменной $result.
    В и тоге мы получаем такое.
    Code:
    Имя: Васька
    Сообщение: Тест
    ------
    Имя: Васька2
    Сообщение: Тест2
    
    Как можно сделать, чтобы можно было присваивать данные из БД двум переменным $name и $txt? И выводить их в шаблоне
    $tpl->set('{name}', $name);
    $tpl->set('{txt}', $txt);
    ?
    Помогите пожалуйста :(
    Пробовал делать так:
    PHP:
        while($row mysql_fetch_assoc($sql)){
    $name .= $row['name'];
    $txt .= $row['txt'];

    }
    $tpl    = new Template//инициируем класс 
    $tpl->dir 'template/'//задаём местоположение папки с шаблонами 
    $tpl->load_template('main.tpl'); //загружаем каркас 

    //подставляем значения переменных 
    $tpl->set('{name}'$name);
    $tpl->set('{txt}'$txt);
    $tpl->compile('main'); //собираем шаблон 
    В шаблоне:
    Code:
    Имя:{name}<br/>
    Сообщение:{txt}<br/>
    
    Но получается такое
    Code:
    Имя: Васька Васька2
    Сообщение: Тест Тест2
    
     
    #15842 SeNaP, 16 Jul 2010
    Last edited: 16 Jul 2010
  3. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    потому что не надо делать конкатенкацию, как у тебя
    PHP:
    $name .= $row['name'];
    $txt .= $row['txt'];
    надо просто присваивать переменные, вообще как-то странная у тебя структура, правь шаблон.

    Логичней было бы сделать так
    PHP:
    $name[] = $row['name'];
    $txt[] = $row['txt'];
    и дальше foreache'ом
     
    #15843 Failure, 16 Jul 2010
    Last edited: 16 Jul 2010
  4. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Failure, класс шаблонизатора вырезан из DLE, вот только я в DLE не смог разобраться как выводятся данный из БД

    не помогло
     
    #15844 SeNaP, 16 Jul 2010
    Last edited: 16 Jul 2010
  5. Gvidion

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

    Joined:
    11 Sep 2009
    Messages:
    79
    Likes Received:
    43
    Reputations:
    28
    благодарю, пашет :) а как методы эти выяснять то ?
     
  6. h00lyshit!

    h00lyshit! [From Nobody To Root]

    Joined:
    10 Sep 2009
    Messages:
    289
    Likes Received:
    290
    Reputations:
    195
    Сниффером посмотреть.
     
  7. Gvidion

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

    Joined:
    11 Sep 2009
    Messages:
    79
    Likes Received:
    43
    Reputations:
    28
    где б почитать про это дело? Знаю о снифере только по наслышке, и понятия не имею как им пользоваться.
     
  8. h00lyshit!

    h00lyshit! [From Nobody To Root]

    Joined:
    10 Sep 2009
    Messages:
    289
    Likes Received:
    290
    Reputations:
    195
    Обьясню на примере Paros (http://www.izone.ru/internet/server/paros-download.htm) и Opera.
    Запускаешь Paros, открываешь браузер, заходишь в инструменты->настройки->дополнительно->сеть->прокси серверы и в поле http пишешь localhost порт 8080, сохраняешь и выходишь, потом пытаешься авторизироваться на mail.ru под каким либо логином и паролем и смотришь заголовки, которые передаются серверу при авторизации.
     
  9. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    в гугле найди smsniff
     
    1 person likes this.
  10. Cassie

    Cassie Member

    Joined:
    18 Mar 2009
    Messages:
    0
    Likes Received:
    6
    Reputations:
    5
    Помогите пожалуйста решить проблему, буду очень благодарен =)

    При переходе на ссылку
    site.ru/test.php
    Он ее открывает, мне нужно что было без .php в конце, пробую открыть
    site.ru/test
    пишет страница не найдена

    Пробывал создать папку "test" и положить туда index.php
    но все равно при переходе на site.ru/test он ставит знак "/" в конце ссылки

    Может нужно что то в htaccess добавить?
     
  11. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    а он не перестанет воспринимать его как сценарий?
     
  12. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196

    через ModRewrite попробуй
     
    1 person likes this.
  13. Cassie

    Cassie Member

    Joined:
    18 Mar 2009
    Messages:
    0
    Likes Received:
    6
    Reputations:
    5
    Mod Rewrite

    попугай спасибо большое, прочитал интересную статью про ЧПУ "http://ru.wikipedia.org/wiki/ЧПУ_(Интернет)" (там и про Mod Rewrite Есть) и изменил .htaccess
    PHP:
    RewriteEngine On 
     RewriteRule 
    ^photo43448275_155029250$ /photo43448275_155029250.php [L]
    И все теперь как надо) Спасибо еще раз ;)
    ------------------------------------------------------------------------------------

    Теперь новая проблема, нужно сделать ссылку вида
    site.ru/login.php?u=2&to=cGhvdG80MzQ0ODI3NV8xNTUwMjkyNTA-
    Пробывал переименовать .php, но там нельзя вставлять пару символов, поэтому не удалось
    Попробывал сделать через Mod Rewrite тоже не получилось..
    Попробывал создать папку с таким названием, получилось, но при переходе пишет что такая страница не существует, как же все таки сделать так чтоб получилась ссылка вида
    site.ru/login.php?u=2&to=cGhvdG80MzQ0ODI3NV8xNTUwMjkyNTA-
    Выручайте :rolleyes:
     
    #15853 Cassie, 17 Jul 2010
    Last edited: 17 Jul 2010
  14. Gvidion

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

    Joined:
    11 Sep 2009
    Messages:
    79
    Likes Received:
    43
    Reputations:
    28
    нашел, и даже запустил, а толку ?:) нажимаю старт - выдаёт 100500 строк с разными ИП, там где я найду заголовки в которых передаётся логин+пасс и т.п. ?
     
  15. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196


    Ну, просто ввести в адресной строке ее или выводить на страницу ссылки, чтоб по ней перешли

    <a href="http://site.ru/login.php?u=2&to=cGhvdG80MzQ0ODI3NV8xNTUwMjkyNTA-">click</a>

    А потом уже в скрипте обрабатывать содержимое параметров

    $_GET['u'] и $_GET['to']

    Если ты это имеешь ввиду.
     
    #15855 попугай, 17 Jul 2010
    Last edited: 17 Jul 2010
  16. Dr.Frank

    Dr.Frank Elder - Старейшина

    Joined:
    31 Jul 2002
    Messages:
    301
    Likes Received:
    72
    Reputations:
    12
    ну, сортируй по IP адресу и смотри все запросы например к win.mail.ru (ip = 217.69.128.55), там же не ssl - все передаваемые данные будут видны ;)
     
  17. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    есть форма для добавления статьи на сайт.

    А вот обработчик этой формы:
    PHP:
    <?PHP
    $name 
    $_POST['name'];

    $log fopen ("index.php","a+");
    fwrite($log,"$name <?php include \"info.php\"?>"); 
    fclose($log);
    ?>
    Если тестируешь на денвере то всё нормально.А если на хосте (www.far.ru) то он обрабатывает но когда открываешь страницу почему то не инклудируется файл "info.php" и выдаёт ошибку.Если взять скопировать файл info.php с фтп на комп и потом обратно на фтп то всё нормально открывается.
    Подскажите в чём дело? может у меня не правильный обработчик?
     
  18. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    Я php очень плохо знаю ((( подправь если не так
     
  19. h00lyshit!

    h00lyshit! [From Nobody To Root]

    Joined:
    10 Sep 2009
    Messages:
    289
    Likes Received:
    290
    Reputations:
    195
    Под чем ты был, когда писал этот скрипт? Сказать по правде, я такое вижу впервые и надеюсь, что больше никогда не увижу
     
    #15859 h00lyshit!, 18 Jul 2010
    Last edited: 18 Jul 2010
    2 people like this.
  20. h00lyshit!

    h00lyshit! [From Nobody To Root]

    Joined:
    10 Sep 2009
    Messages:
    289
    Likes Received:
    290
    Reputations:
    195
    PHP:
    <?php
    $name 
    $_POST['name']; 
    if (isset(
    $_POST['name']))
    {
    include (
    'info.php');
    }
    ?>
     
Thread Status:
Not open for further replies.