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

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

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

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

    Joined:
    1 Jul 2008
    Messages:
    149
    Likes Received:
    31
    Reputations:
    -22
    <?php

    $tt = $_POST['tt'];

    if ($tt[1] and $tt[2] and $tt[3]) {
    print "1 2 3";
    }elseif($tt[1] and $tt[2] || $tt[3]) {
    if($tt[1] and $tt[2]) {
    print "1 2";
    }if($tt[1] and $tt[3]) {
    print "1 3";
    }elseif($tt[2]){
    print 2;
    }else{
    print 1;
    }

    ?>
     
    2 people like this.
  2. xxxxxxxxxxxxxxx

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

    Joined:
    20 Jan 2008
    Messages:
    66
    Likes Received:
    8
    Reputations:
    0




    а чекбоксы в таком случае как обзывать?

    так?
    PHP:
     <input type="checkbox" name="tt" value="">
    <
    input type="checkbox" name="tt" value="">
    <
    input type="checkbox" name="tt" value="">
    <
    input type="submit" value="ok">  
     
  3. PHPoozy

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

    Joined:
    1 Jul 2008
    Messages:
    149
    Likes Received:
    31
    Reputations:
    -22
    HTML:
    <input type="checkbox" name="tt[1]" value="">
    <input type="checkbox" name="tt[2]" value="">
    <input type="checkbox" name="tt[3]" value="">
    <input type="submit" value="ok">
     
  4. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Как сделать из буквы A буквы B или из А - Б

    Т.е прибавить скажим прибавить 1 к букве A и получить B. Или прибавить 2 к A и получить C.

    В php такого нету как в C#, так что выручайте ребятки :)
    Хочется сделать реализацию декриптовки алгоритма Цезаря.
     
  5. GreenBear

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

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    $c = ord('А');
    $c++;
    echo chr($c);
     
    2 people like this.
  6. Demetra

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

    Joined:
    27 Aug 2007
    Messages:
    48
    Likes Received:
    8
    Reputations:
    0
    спосибо буду разбираться.базы я незнаю и двиг на файлах у меня к нему хочу добавить
     
  7. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Запутался с циклом :(

    Как сделать чтобы через каждые 2 буквы шел знак +?

    PHP:
    $g "";
        
    $n 0;
        
        for(
    $i 0$i < (count($text)); $i += 2)
        {
            
    $g .= substr($text,$i,2)."+";        
        }
        
        echo 
    $g
    Помогите пожалуста )


    -------------------------------------------------------

    Спасибо! не надо уже разобрался. Надо было так:
    PHP:
    $g "";    
        
        
    $text str_split($text,2);
        
        foreach(
    $text as $tw){
            
    $g .= $tw."+";
        }
        
        echo 
    $g;
     
    #3887 Chaak, 4 Jul 2008
    Last edited: 4 Jul 2008
  8. На100ящий

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

    Joined:
    9 Jan 2008
    Messages:
    43
    Likes Received:
    1
    Reputations:
    0
    вы не так поняли....вот есть сайт, чтоб попасть на главную страницу нужно пройти бейсик авторизацию, ввести логин и пасс, вот это мне и нужно сделать с помощью пхп.... мне не нужно вывод окна с просьбой авторизации....кто то знает как это сделать...????
     
  9. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Насколько я знаю, это окно и есть бейсик авторизация ;)
     
  10. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    При автоизации браузер передает еше один заголовок — "Authorization" такого вида:
    Authorization: Basic login:password
    Где строка login:password закодированы base64 кодировкой, то есть передать запрос можно, напрмер. через fsockopen/fwrite... думаю сам справишся..
     
    1 person likes this.
  11. На100ящий

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

    Joined:
    9 Jan 2008
    Messages:
    43
    Likes Received:
    1
    Reputations:
    0
    ну так вот у меня есть лог и пароль и мне нужно с помощью пхп ввести это туды и проверить пролшла авторизация или нет..... похоже на брут только без перебора!!!!!!!
     
    #3891 На100ящий, 5 Jul 2008
    Last edited: 5 Jul 2008
  12. На100ящий

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

    Joined:
    9 Jan 2008
    Messages:
    43
    Likes Received:
    1
    Reputations:
    0
    Jer1cho , а можно подробней.... сам не смогу....
     
    1 person likes this.
  13. PHPoozy

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

    Joined:
    1 Jul 2008
    Messages:
    149
    Likes Received:
    31
    Reputations:
    -22
    На100ящий используй сокеты
    Code:
    $sock = fsockopen($host, $port, $errno, $errstr, 30); 
    fputs($sock, "GET http://server.ru/ HTTP/1.0\r\n"); 
    fputs($sock, "Host: server.ru\r\n"); 
    fputs($sock, "Authorization: Basic ".base64_encode("")."\r\n\r\n");
    ОК
     
  14. На100ящий

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

    Joined:
    9 Jan 2008
    Messages:
    43
    Likes Received:
    1
    Reputations:
    0
    PHPoozy
    Где почитать подробно можно??
     
  15. cash$$$

    cash$$$ Banned

    Joined:
    6 Jan 2008
    Messages:
    385
    Likes Received:
    246
    Reputations:
    10
    На100ящий
    авторизация на php
    PHP:
    <?php  

    // Данный файл всегда будит "включаться" в другие файлы  
    // директивой include поэтому следует запретить его самостоятельный вызов  
    // из строки запроса путём указания его имени  
    // Если не определена константа IN_ADMIN – завершаем работу скрипта  
    if(!defined("IN_ADMIN")) die;  

    // Начинаем сессию  
    session_start();  
    // Помещаем содержимое файла в массив  
    $access = array();  
    $access file("access.php");  
    // Разносим значения по переменным – пропуская первую строку файла - 0  
    $login trim($access[1]);  
    $passw trim($access[2]);  
    // Проверям были ли посланы данные  
    if(!empty($_POST['enter']))  
    {  
            
    $_SESSION['login'] = $_POST['login'];  
            
    $_SESSION['passw'] = $_POST['passw'];  
    }  

    // Если ввода не было, или они не верны  
    // просим их ввести  
    if(empty($_SESSION['login']) or  
       
    $login != $_SESSION['login'] or  
       
    $passw != $_SESSION['passw']    )  

    {  
       
    ?>  
         <a href="index.php">Вернуться в администрирование гостевой книги</a>  
         <form action=index.php method=post>  
         Логин <input class=input name=login value="">  
         Пароль <input class=input name=passw value="">  
         <input type=hidden name=enter value=yes>  
         <input class=button type=submit value="Вход">  
       <?php  
       
    die;  
    }  
    ?>
    Файл с логином и паролем access.php
    PHP:
    <?php die; ?>  
    admin  
    passw 
    Теперь следует создать управляющий файл, через который будем получать доступ ко всем остальным файлам.
    PHP:
    <?php  

    // Указываем что данный файл главный,  
    // определяя константу IN_ADMIN, так как  
    // нигде больше эта константа не определяется,  
    // но везде проверяется её существование, работать  
    // с панелью администрирования можно только  
    // через файл index.php  
    define("IN_ADMIN"TRUE);  

    // Проверяем права доступа  
    include "auth.php";  

    // Получаем параметр op из URL  
    $op $_GET['op'];  

    // Выбираем нужное нам действие  
    switch ($op)  
    {  
            case 
    'main' : include "main.php"; break;  
            case 
    'delp' : include "delpost.php"; break;  
            case 
    'editform' : include "editcommentform.php"; break;  
            case 
    'edit' : include "editcomment.php"; break;  
            case 
    'hide' : include "hide.php"; break;  
            case 
    'show' : include "show.php"; break;  
            default :  include 
    "main.php";  
    }  
    ?>
    Теперь нужно запретить доступ к остальным скриптам, от прямого вызова.
    PHP:
    <?php  
      
    if(!defined("IN_ADMIN")) die;  
    ?>
    Нужно поменять еще пару строк, чтобы все ссылки заменить на вызов файла index.php.
    PHP:
    <?php  
    if(!$guest['hide']) $showhide "<a class='menu' href=index.php?op=hide&id_msg=".$guest['id_msg']."&start=$start title='Скрыть сообщение из списка выводимых на сайте'>Скрыть сообщение</a>";  
    ?>
    а строки с 63 по 70 заменить на:
    PHP:
    <?php  
      
    echo "<p class='menu'><a class='menu' href=index.php?op=editform&id_msg=".$guest['id_msg']."&start=$start title='Редактировать сообщение'>Редактировать</a>";  
          
    // Ссылка на правку сообщений  
          
    echo "&nbsp;&nbsp;".$showhide;  
          
    // Ссылка на удаление сообщений  
          
    echo "&nbsp;&nbsp;<a class='menu' href=index.php?op=delp&id_msg=".$guest['id_msg']."&start=$start title='Удалить сообщение'>Удалить сообщение</a>";  
          echo 
    "</p>";  
    ?> 
    Файл editcommentform.php. Заменить строку 29 на:
    PHP:
    <form action=index.php?op=edit method=post>
     
  16. PHPoozy

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

    Joined:
    1 Jul 2008
    Messages:
    149
    Likes Received:
    31
    Reputations:
    -22
    _http://php.ru/search/Authorization: Basic
    _http://www.mexxs.net/reviews.php?file=58
    _http://www.rsdn.ru/Forum/message/2714093.flat.aspx
    _http://www.google.com/search?hl=ru&client=opera&rls=ru&q=%22Authorization%3A+Basic%22&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru
     
  17. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    Вот например:
    PHP:
    <?php
        $login 
    'testz'// логин 
        
    $pwd 'test'// пароль
        
    $host 'my.site.com'// хост

        
    $str base64_encode("$login:$pwd"); // декодируем в base64

        
    $fo fsockopen($host'80'$errno$errstr'15'); // открываем сокет
        
    $headers "GET http://".$host."/asd.php HTTP/1.0\r\n".  // путь к скрипту поменяешь
        
    "Host: ".$host."\r\n"
        
    "Authorization: Basic $str\r\n\r\n"

        if(
    $fo
        {
        
    fputs($fo$headers);
        
    $data ''
            while (!
    feof($fo)) // читаем ответ
            

                if (!
    $data .= fread($fo128))
                {
        
    $data ""
                }
            } 
        
    fclose($fo);
        }
        else
        {
        echo 
    'Error.';
        } 
        if(!
    preg_match("/\b200 OK\b/is"$data)) // проверка на правильность логиан/пароля
        
    {
        echo 
    'Error.';
        }
    ?>
    Внятней я объяснить врядли смогу...
    Подробно на http://php.net =)
     
    1 person likes this.
  18. agrofyl2

    agrofyl2 New Member

    Joined:
    25 Apr 2008
    Messages:
    54
    Likes Received:
    4
    Reputations:
    0
    Нужна поиощь

    Здравствуйте. У меня проблема:
    Нужно проверить, есть ли в сокете что-нибудь, если нет - возвратить false. Выполнится она должна быстро!
    Дело в том, что я хочу считать данные, если они есть, а не ждать, когда она появится и он наконец то ее считает. Помогите плиз!
     
  19. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    $fp=fsockopen("site.ru.ru",80,$errno,$errstr,10); 
    if(!
    fp){
    echo 
    "Сокет пуст!";
    }else{
    //Запись данных
    }
     
  20. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    так такой вопрос
    из БД вывожу цену
    к этой цене мне надо добавить определенный
    процент

    PHP:
    while($res3 =  mysql_fetch_array($res2)   )

    {
        
        
        
        
    $pros ="2.8";
        
    $price $res3['product_price'];
        
        
    $price $price *  $pros  ;

    print 
    "<p>$price<p>";



    }
    так не работает он все равно выводит ту цену которая Бз данных

    как все таки прибавить?
     
Thread Status:
Not open for further replies.