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

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

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

    Patronik Member

    Joined:
    16 Mar 2009
    Messages:
    111
    Likes Received:
    12
    Reputations:
    0
    2qW1zer
    PRIMARY KEY у тебя в таблице где знаходиться? и какие параметрие етого поля
    должно быть так
    youtable_key primary key int auto_increment not null
     
    #12261 Patronik, 17 Oct 2009
    Last edited: 17 Oct 2009
  2. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    а это что :
    Code:
    ... '$www',[B] ''"[/B]);
    ?
    + юзай mysql_real_escape_string(); перед вставкой данных ,type - string
    не знаю как тебе,мне так удобней инсертить:
    Code:
    mysql_query("INSERT INTO `users` SET `login`='".$login."',`passord`='".$password."',`email`='".$email."',`name`='".$name."',`www`='".$www."'")

    ________
    0ph.ru
     
    #12262 L I G A, 17 Oct 2009
    Last edited: 10 Dec 2009
  3. gisTy

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

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    а зачем ты вставляешь 6 значений в 5 полей и не закрываешь скобку?
    PHP:
    $userAdd mysql_query("INSERT INTO 
                                        users (login,password,email,name,www) 
                            VALUES
                                        ('
    $login', '$password', '$email', '$name', '$www')");
    P.S. перед выполнением запроса входящие данные лучше проверять
     
    #12263 gisTy, 17 Oct 2009
    Last edited: 17 Oct 2009
  4. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Code:
    users (login,password,email,name,www)
    
    5 полей
    Code:
    ('$login', '$password', '$email', '$name', '$www', ''")
    
    6 полей
     
  5. Patronik

    Patronik Member

    Joined:
    16 Mar 2009
    Messages:
    111
    Likes Received:
    12
    Reputations:
    0
     
  6. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    А если при создании таблицы выбрать string ??
    хм,точно не заметил последние зачем
    Спасибо сейчас попробую
    Patronik,если б я знал!Я говорю только только начал связываться с мускулом!
    Поэтому даже уровня Привет мир нет
     
  7. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    gisTy
    Твой вариант сработал,
    Спасибо,данные занесены!Чуть позже пара вопросов будет еще
     
  8. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    Вот и появились эти пара вопросов,не втыкаю теперь как сделать форму для логина,точнее ее обработчик!
    В общем форма такая:
    Login
    Password
    Обработчик так же в переменную через пост получает их,и как сделать чтобы из базы из всех логинов и паролей проверились есть ли такой логин и пасс и если есть то кука поставилась,куку я сделаю,а вот проверку хрен!
    Снова прошу помощи,если кто может подкиньте этот самый,заветный кусочек кода
     
  9. diGriz

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

    Joined:
    11 Oct 2006
    Messages:
    138
    Likes Received:
    82
    Reputations:
    6
    PHP:
    $res mysql_query("SELECT 
                                id, 
                                login , 
                                password, 
                                email 
                                FROM 
                                    users 
                            WHERE 
                                    login = '
    $login' AND password = '$password'");
    if (
    mysql_num_rows($res) != 1) {
        
    header('Location:../index.php');
        die;
    } else {
    //Если пользователь есть
    }
     
    #12269 diGriz, 17 Oct 2009
    Last edited: 17 Oct 2009
  10. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    PHP:
     $query "SELECT pass FROM `users` WHERE login='".$login."'";
          
    $nme mysql_query($query);
        if(
    $nme)
         {

        
    // Если запрос вернул результат - производим дальнейшую обработку

        
    if(mysql_num_rows($nme) > 0)
        {

           
    $passwordnah mysql_result($nme0);
           
    // Сравниваем пароль из базы данных и введённый .юзверем
           
    if ($passs == $passwordnah)
    /*если пасс в мд5
    if (md5($passs) == $passwordnah)
    */
           
    {
    дальнейшие действия
    }
    }
    }
    ________
    0ph.ru
     
    #12270 L I G A, 17 Oct 2009
    Last edited: 10 Dec 2009
  11. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Приветствую всех...

    У меня такой вопрос:
    Пытаюсь авторизоваться на одном сайте (php+curl)... Какой пост запрос слать серверу отследил как полагается, и отсылаю его...
    Причём независимо от того, верные данные в запросе или нет, получаю следующий ответ от сервака:
    PHP:

    HTTP
    /1.1 200 OK
    Server
    nginx
    Date
    Sat17 Oct 2009 20:54:12 GMT
    Content
    -Typetext/html
    Transfer
    -Encodingchunked
    Connection
    keep-alive

    <html>
    <
    head>
    <
    script>
    var 
    expire = new Date();
    expire.setTime(expire.getTime() + 3600000 24);
    document.cookie 'check=' escape('3f39c4ae1ba5cda27e93350f095d43cb') + ';expires=' expire.toGMTString() + ';path=/';
    // document.location.href = document.location.href;
    document.location.reload(false);
    </script>
    </head>
    </html>
    Понятно, что устанавливаются куки яваскриптом.. но как должны эти куки выглядеть (не понятно мне что такое expire.toGMTString(), вернее как его расчитать средствами php)
     
  12. SeoLapot

    SeoLapot New Member

    Joined:
    12 Oct 2009
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Сам в пхп не шарю, но не пойму почему не работает этот скрипт - по идее он должен выдавать на странице каким-то образом все страницы, которые есть на сайте (как бы карта сайта), но почему-то не пашет. Помогите)

    PHP:
    <?php
    $backlink
    ='';
    if (isset(
    $_GET['link']) && !empty($_GET['link'])) {
       
    $r=parse_url($_GET['link']);} 
       if (isset(
    $r['path'])) {$backlink="<a href=\"http://{$_GET['catalog']}\" target=_blank>: {$r['path']}</a><br>\n";}
    echo 
    $backlink;
    ?>
     
  13. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    expire - служит для обозначения "Времени жизни" кук.
    toGMTString переводит в строку вида:

    Sat, 17 Oct 2009 22:39:52 GMT

    На php похожая -
    date("r");
    Или так
    date("D, d M Y H:i:s",time()-14400)." GMT";
     
    #12273 LStr1ke, 18 Oct 2009
    Last edited: 18 Oct 2009
  14. azsx

    azsx New Member

    Joined:
    12 Sep 2009
    Messages:
    48
    Likes Received:
    2
    Reputations:
    0
    что я хочу
    скрипт на php который авторизируется на сайте вконтакте и пишет что нибудь (предложение одно) на стене или на заметках (или и там и там). Авторизация под моим логином, писать надо на моей стене. Просто хочу посмотреть исходный код как это вообще делается, а то в php я еще новичок и понять пока носом не ткнут у меня не получается...
    Заранее спасибо за ответы.
     
  15. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    L I G A
    хмм,странно вроде видно что все правильно но у меня почему-то не получилось!
    При регистрации занос пароля в мд5 сделал,при сравнении раскомментировал,но почему-то не работает!Может есть еще вариант?
     
  16. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    код в студию

    ________
    0ph.ru
     
    #12276 L I G A, 18 Oct 2009
    Last edited: 10 Dec 2009
  17. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    PHP:
    <?php
    set_time_limit
    (0);

    $mail 'твоё мыло@mail.ru';
    $pass 'твой пасс';
    $message 'Привет.! как дела..?! ';

    function goto(
    $url=''$post=''$referer=''
        { 
            
    $cl curl_init();   
            
    curl_setopt($clCURLOPT_URL$url); 
            
    curl_setopt($clCURLOPT_HEADER1); 
            
    curl_setopt($clCURLOPT_RETURNTRANSFER,1); 
            
    curl_setopt($clCURLOPT_USERAGENT'Opera/9.25 (Windows NT 5.1; U; ru)');  
            
    curl_setopt($clCURLOPT_COOKIEJAR$_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
            
    curl_setopt($clCURLOPT_COOKIEFILE$_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
            if (!empty(
    $post)) {curl_setopt($clCURLOPT_POST1);curl_setopt($clCURLOPT_POSTFIELDS$post);} else {curl_setopt($clCURLOPT_POST0);} 
            if (!empty(
    $referer)) curl_setopt($clCURLOPT_REFERER$referer); 
            
    $ex=curl_exec($cl); 
            
    curl_close($cl); 
            return 
    $ex
        }

    $ex = goto('http://login.vk.com/?act=login''email='.$mail.'&pass='.$pass.'&vk=&expire=1');
    preg_match("/(?<=id=\'s\' value=\')(.*?)(?=\')/"$ex$s);

    $ex = goto('http://vkontakte.ru/login.php?op=slogin&redirect=1''s='.$s[0]);

    $ex = goto('http://vkontakte.ru/wall.php?act=write');
    preg_match("/(?<=name=\"wall_hash\" value=\")(.*?)(?=\")/"$ex$wall_hash);
    preg_match("/(?<=name=\"to_id\" value=\")(.*?)(?=\")/"$ex$to_id);

    goto(
    'http://vkontakte.ru/wall.php''to_id='.$to_id[0].'&act=sent&wall_hash='.$wall_hash[0].'&message='.urlencode(iconv('Windows-1251','UTF-8',$message)));

    ?>
     
    2 people like this.
  18. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    Код обработчика/логина

    PHP:


    <?
    $dblocation="localhost";
    $dbname="dbuser";
    $dbuser="dbname";
    $dbpassword="dbpass";
    $db_connect = mysql_connect($dblocation,$dbuser,$dbpassword);
    $db_select = mysql_select_db($dbname,$db_connect);
       $password = md5($_POST['pass']);
       $login = $_POST['login'];
     $query = "SELECT password FROM `users` WHERE login='".$login."'";
          $nme = mysql_query($query);
         
        if($nme)
         {

        // Если запрос вернул результат - производим дальнейшую обработку

        if(mysql_num_rows($nme) > 0)
        {

           $passwordnah = mysql_result($nme, 0);
           // Сравниваем пароль из базы данных и введённый .юзверем
           //if ($pass == $passwordnah)//If not md5
    if (md5($password) == $passwordnah)

           {
    echo "Вход осуществлен";
    }
    }
    }  
    ?>

     
  19. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    qW1zer
    зачем два раза md5() брать с пасса?:
    Code:
    $password = md5($_POST['pass']);
    ...
    md5($password) == $passwordnah
    ________
    0ph.ru
     
    #12279 L I G A, 18 Oct 2009
    Last edited: 10 Dec 2009
  20. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    L I G A
    Логично,я проверил еще с двойным md5 он выводит:
    <<п
    короче что-то подобное при левой кодировке,но я и так и так попробовал - одно и то же!
    И при неверных логине и пароле!
    Щас уберу,сделаю иначе
     
Thread Status:
Not open for further replies.