Pokaż wyniki od 1 do 8 z 8

Wątek: logowanie i rejestracja prosze o pompc

  1. #1
    Zarejestrowany
    Dołączył
    Dec 2009
    Posty
    3

    Domyślnie logowanie i rejestracja prosze o pompc

    Witam.
    Dopiero uczę się php i mysql więc prosze o pomoc.
    Jak zrobić aby żeby się zalogować trzeba podać login i hasło, anie email i hasło?
    Próbowałem googlować i wklejać gotowe kody ale nic mi nie wychodzi.
    I jeszcze jedno jak zrobić aby hasło mogło się składać z dowolnych liter bez cyfr i dużych znaków , no chyba że user tego chce. Jedynie żeby musiało mieć co najmniej 6 znaków.
    proszę wklejcie jak ma wyglądać plik index.php po przeróbce, a jeżeli jakiś wycinek kodu to napiszcie gdzie go wstawić, z góry wielkie dzięki.
    Ostatnio edytowane przez kamil-s ; 09-12-2009 o 15:19

  2. #2
    Zbanowany
    Dołączył
    Mar 2009
    Posty
    1,335

    Domyślnie

    Może byś podał skrypt logowania ;> ??

  3. #3
    Zarejestrowany
    Dołączył
    Dec 2009
    Posty
    3

    Domyślnie

    Chodzi mi o Vallheru 1.3 beta nie wiem jaki plik jest odpowiedzialny za logowanie z php mam do czynienia od niedawna. Czy to index.php? Jeżeli tak to tutaj kod
    Kod php:
    <?php

    require_once ('includes/config.php');
    if (!
    $gamename
    {
        
    $host $_SERVER['HTTP_HOST'];
        
    $path str_replace("index.php","",$_SERVER['PHP_SELF']);
        
    $address "http://".$host.$path."install/install.php";
        
    $meta "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"0; URL=".$address."\">";
        print 
    "<html><head>".$meta."</head><body></body></html>";
        exit;

        else 
    {

        require_once (
    'libs/Smarty.class.php');

        
    $smarty = new Smarty;
        
    $smarty->compile_check true;

        
    /**
        * Check avaible languages
        */    
        
    $path 'languages/';
        
    $dir opendir($path);
        
    $arrLanguage = array();
        
    $i 0;
        while (
    $file readdir($dir))
        {
            if (!
    ereg(".htm*$"$file))
            {
                if (!
    ereg("\.$"$file))
                {
                    
    $arrLanguage[$i] = $file;
                    
    $i $i 1;
                }
            }
        }
        
    closedir($dir);

        
    /**
        * Get the localization for game
        */
        
    $strLanguage $_SERVER['HTTP_ACCEPT_LANGUAGE'];
        foreach (
    $arrLanguage as $strTrans)
        {
            
    $strSearch "^".$strTrans;
            if (
    eregi($strSearch$strLanguage))
            {
                
    $strTranslation $strTrans;
                break;
            }
        }
        if (!isset(
    $strTranslation))
        {
            
    $strTranslation 'pl';
        }
        if (isset(
    $_GET['lang']))
        {
            if (
    in_array($_GET['lang'], $arrLanguage))
            {
                
    $strTranslation $_GET['lang'];
            }
        }
                
        require_once(
    "languages/".$strTranslation."/index.php");

        
    $smarty -> assign(array("Gamename" => $gamename
                                
    "Gameadress" => $gameadress,
                                
    "Meta" => '',
                                
    "Welcome" => WELCOME,
                                
    "Register" => REGISTER,
                                
    "Rules" => RULES,
                                
    "Forums" => FORUMS,
                                
    "Irc" => IRC));

        
    $objOpengame $db -> Execute("SELECT value FROM settings WHERE setting='open'");
        
    /**
        * When game is close
        */
        
    if ($objOpengame -> fields['value'] == 'N'
        {
            
    $objReason $db -> Execute("SELECT value FROM settings WHERE setting='close_reason'");
            
    $smarty -> assign ("Error"REASON.":<br />".$objReason -> fields['value']);
            
    $objReason -> Close();
            
    $smarty -> display ('error.tpl');
            exit;
        }
        
    $objOpengame -> Close();

        
    $time date("H:i:s");
        
    $hour explode(":"$time);
        
    $newhour $hour[0] + 0;
        if (
    $newhour 23
        {
            
    $newhour $newhour 24;
        }
        
    $arrtime = array($newhour$hour[1], $hour[2]);
        
    $newtime implode(":",$arrtime);

        
    $query $db -> Execute("SELECT count(*) FROM `players`");
        
    $nump $query -> fields['count(*)'];
        
    $query -> Close();
        
        
    $span = (time() - 180);
        
    $objQuery $db -> Execute("SELECT count(*) FROM `players` WHERE `lpv`>=".$span);
        
    $intNumo $objQuery -> fields['count(*)'];
        
    $objQuery -> Close();

        
    $objMetakey $db -> Execute("SELECT `value` FROM `settings` WHERE `setting`='metakeywords'");
        
    $objMetadesc $db -> Execute("SELECT `value` FROM `settings` WHERE `setting`='metadescr'");

        
    $smarty->assign(array("Time" => $newtime
                              
    "Players" => $nump
                              
    "Online" => $intNumo
                              
    "Email" => EMAIL,
                              
    "Password" => PASSWORD,
                              
    "Login" => LOGIN,
                              
    "Lostpasswd" => LOST_PASSWORD,
                              
    "Ctime" => CURRENT_TIME,
                              
    "Whave" => WE_HAVE,
                              
    "Registered" => REGISTERED,
                              
    "Metakeywords" => $objMetakey -> fields['value'],
                              
    "Metadescription" => $objMetadesc -> fields['value'],
                              
    "Ingame" => IN_GAME));
        
    $objMetakey -> Close();
        
    $objMetadesc -> Close();

        
    /**
        * Main Page
        */
        
    if (!isset ($_GET['step'])) 
        {
        
            
    $update $db -> SelectLimit("SELECT * FROM updates WHERE lang='".$strTranslation."' ORDER BY id DESC"3);
            
    $arrnews = array();
            
    $i 0;
            while (!
    $update -> EOF
            {
                if (isset(
    $update -> fields['time']))
                {
                    
    $time " ".DAY." <b>".$update -> fields['time']."</b>";
                }
                    else
                {
                    
    $time '';
                }
                
    $arrnews[$i] = "<center><b>".$update -> fields['title']."</b> ".WRITE_BY." <b>".$update -> fields['starter']."</b>".$time."...</center>\"".$update -> fields['updates']."\".<br /><br />";
                
    $i $i 1;
                
    $update -> MoveNext();        
            }
            
    $update -> Close();

            
    $adminmail1 str_replace("@","[at]",$adminmail);

            
    $objCodexdate $db -> Execute("SELECT `date` FROM `court` WHERE `title`='".CODEX." ".$gamename."'");
        
            
    $smarty->assign( array ("Update" => $arrnews
                                    
    "Adminname" => $adminname
                                    
    "Adminmail" => $adminmail
                                    
    "Adminmail1" => $adminmail1,
                                    
    "Whatis" => WHAT_IS,
                                    
    "Description" => DESCRIPTION,
                                    
    "Codex" => CODEX,
                                    
    "Codex2" => CODEX2,
                                    
    "News" => NEWS,
                                    
    "Charset" => CHARSET,
                                    
    "Codexdate" => $objCodexdate -> fields['date'],
                                    
    "Pagetitle" => WELCOME));
            
    $smarty->display('index.tpl');
            
    $objCodexdate -> Close();
        }

        
    /**
        * Game rules
        */
        
    if (isset ($_GET['step']) && $_GET['step'] == 'rules'
        {
            
    $objRules $db -> Execute("SELECT body FROM court WHERE title='".CODEX." ".$gamename."'");
            
    $smarty -> assign(array("Title" => PAGE_NAME,
                                    
    "Rules2" => $objRules -> fields['body'],
                                    
    "Charset" => CHARSET,
                                    
    "Pagetitle" => RULES));
            
    $smarty -> display('rules.tpl');
            
    $objRules -> Close();
        }

        
    /**
        * Password reminder
        */
        
    if (isset($_GET['step']) && $_GET['step'] == 'lostpasswd'
        {
            
    $strMessage '';
            if (isset(
    $_GET['action']) && $_GET['action'] == 'haslo'
            {
                if (!
    $_POST['email']) 
                {
                    
    $smarty -> assign ("Error"ERROR_MAIL);
                    
    $smarty -> display ('error.tpl');
                    exit;
                }
                
    $_POST['email'] =  strip_tags($_POST['email']);
                
    $query $db -> Execute("SELECT `id` FROM `players` WHERE `email`='".$_POST['email']."'");
                
    $intId $query -> fields['id'];
                
    $query -> Close();
            
                if (!
    $intId
                {
                    
    $smarty -> assign ("Error"ERROR_NOEMAIL);
                    
    $smarty -> display ('error.tpl');
                    exit;
                }
                
    $new_pass substr(md5(uniqid(rand(), true)), 39);
                
    $intNumber substr(md5(uniqid(rand(), true)), 39);
                
    $strLink $gameadress."/index.php?step=lostpasswd&code=".$intNumber."&email=".$_POST['email'];
                
    $adress $_POST['email'];
                
    $message MESSAGE_PART1." ".$gamename.".".MESSAGE_PART2." \n".$new_pass."\n ".MESSAGE_PART3."\n ".$strLink."\n".MESSAGE_PART4." ".$gamename."\n".$adminname;
                
    $subject MESSAGE_SUBJECT." ".$gamename;
                require_once(
    'mailer/mailerconfig.php');
                if (!
    $mail -> Send()) 
                {
                    
    $smarty -> assign ("Error"MESSAGE_NOT_SEND." ".$mail -> ErrorInfo);
                    
    $smarty -> display ('error.tpl');
                    exit;
                }
                
    $strPass md5($new_pass);
                
    $db -> Execute("INSERT INTO `lost_pass` (`number`, `email`, `newpass`, `id`) VALUES('".$intNumber."', '".$_POST['email']."', '".$strPass."', ".$intId.")") or $db -> ErrorMsg();
            }

            
    /**
             * Write new password to database
             */
            
    if (isset($_GET['code']) && isset($_GET['email']))
            {
                
    $strEmail =  strip_tags($_GET['email']);
                
    $strCode =  strip_tags($_GET['code']);
                if (empty(
    $strCode) || empty($strEmail)) 
                {
                    
    $smarty -> assign ("Error"ERROR);
                    
    $smarty -> display ('error.tpl');
                    exit;
                }
                
    $objTest $db -> Execute("SELECT `newpass`, `id` FROM `lost_pass` WHERE `number`='".$strCode."' AND `email`='".$strEmail."'");
                if (!
    $objTest -> fields['newpass'])
                {
                    
    $smarty -> assign ("Error"ERROR);
                    
    $smarty -> display ('error.tpl');
                    exit;
                }
                
    $db -> Execute("UPDATE `players` SET `pass`='".$objTest -> fields['newpass']."' WHERE `email`='".$strEmail."' AND `id`=".$objTest -> fields['id']);
                
    $db -> Execute("DELETE FROM `lost_pass` WHERE `number`='".$strCode."' AND `email`='".$strEmail."' AND `id`=".$objTest -> fields['id']);
                
    $objTest -> Close();
                
    $strMessage PASS_CHANGED;
            }

            
    /**
            * Initializantion of variable
            */
            
    if (!isset($_GET['action'])) 
            {
                
    $_GET['action'] = '';
            }
            
    $smarty -> assign(array("Action" => $_GET['action'],
                                    
    "Lostpassword2" => LOST_PASSWORD2,
                                    
    "Success" => SUCCESS,
                                    
    "Email" => EMAIL,
                                    
    "Send" => SEND,
                                    
    "Charset" => CHARSET,
                                    
    "Message" => $strMessage,
                                    
    "Pagetitle" => LOST_PASSWORD));
            
    $smarty -> display ('passwd.tpl');
        }

        
    /**
         * Write new email to database
         */
        
    if (isset($_GET['code']) && isset($_GET['email']) && (isset($_GET['step']) && $_GET['step'] == 'newemail'))
        {
            
    $strEmail =  strip_tags($_GET['email']);
            
    $strCode =  strip_tags($_GET['code']);
            if (empty(
    $strCode) || empty($strEmail)) 
            {
                
    $smarty -> assign ("Error"ERROR);
                
    $smarty -> display ('error.tpl');
                exit;
            }
            
    $objTest $db -> Execute("SELECT `email`, `id` FROM `lost_pass` WHERE `number`='".$strCode."' AND `newemail`='".$strEmail."'");
            if (!
    $objTest -> fields['email'])
            {
                
    $smarty -> assign ("Error"ERROR);
                
    $smarty -> display ('error.tpl');
                exit;
            }
            
    $db -> Execute("UPDATE `players` SET `email`='".$strEmail."' WHERE `email`='".$objTest -> fields['email']."' AND `id`=".$objTest -> fields['id']);
            
    $db -> Execute("DELETE FROM `lost_pass` WHERE `number`='".$strCode."' AND `newemail`='".$strEmail."' AND `id`=".$objTest -> fields['id']);
            
    $objTest -> Close();
            
    $smarty -> assign(array("Error" => MAIL_CHANGED,
                                    
    "Charset" => CHARSET));
            
    $smarty -> display('error.tpl');
            exit;
        }

        
    $db -> Close();
    }
    ?>

  4. #4
    Dix
    Dix jest nieaktywny
    Zarejestrowany
    Dołączył
    May 2009
    Posty
    684

  5. #5
    Zarejestrowany
    Dołączył
    Dec 2009
    Posty
    3

    Domyślnie

    Dzięki spróbuje jeszcze to przerobić.

  6. #6
    Programista
    Dołączył
    Dec 2008
    Posty
    776

    Domyślnie

    Zmieniasz tylko formularz (czyli w <input name="email" type="text"> email zamieniasz na login), a w includes/head.php zamiast tego:

    Kod php:
        $strEmail $db -> qstr($_POST['email'], get_magic_quotes_gpc());
        
    $query $db -> Execute("SELECT `id`, `user`, `email`, `rank`, `freeze` FROM `players` WHERE `email`=".$strEmail." AND `pass`='".$pass."'"); 
    wstawiasz to:

    Kod php:
        $strLogin $db -> qstr($_POST['login'], get_magic_quotes_gpc());
        
    $query $db -> Execute("SELECT `id`, `user`, `email`, `rank`, `freeze` FROM `players` WHERE `user`=".$strLogin." AND `pass`='".$pass."'"); 
    Kod php:
    echo 'A kij wam w oko!'
    Każdą decyzję analizuje na podstawie tysięcy IF'ów i ELSE'ów. ... na zasadzie (if) obiecałem (then) dzwonię - nonsopedia, informatyk

  7. #7
    Grupa MmoCenter Awatar Kiri
    Dołączył
    Sep 2007
    Posty
    1,741

    Domyślnie

    Posta moze zostawić jako email, tylko by się odwoływał do pola login,a nie email w WHERE, co też trzeba zrobić dla chatmsgs.php i logout.php
    Sio, nie pomagam via PM !



  8. #8
    Programista
    Dołączył
    Dec 2008
    Posty
    776

    Domyślnie

    Wiesz Kiri może... ale tak nieładnie by to wyglądało
    Kod php:
    echo 'A kij wam w oko!'
    Każdą decyzję analizuje na podstawie tysięcy IF'ów i ELSE'ów. ... na zasadzie (if) obiecałem (then) dzwonię - nonsopedia, informatyk

Informacje o wątku

Użytkownicy przeglądający ten wątek

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Podobne wątki

  1. Rejestracja i Logowanie
    Przez zabka229 w dziale BackYardBoxin
    Odpowiedzi: 11
    Ostatni post / autor: 20-09-2010, 20:42
  2. [PROBLEM] Rejestracja + Logowanie...
    Przez lolsik22 w dziale Problemy przy tworzeniu własnej gry
    Odpowiedzi: 19
    Ostatni post / autor: 24-05-2010, 18:02
  3. Logowanie i Rejestracja
    Przez Meares w dziale PHP / MySql
    Odpowiedzi: 9
    Ostatni post / autor: 03-02-2009, 15:57
  4. rejestracja i logowanie
    Przez wwss w dziale Budowa gry via www
    Odpowiedzi: 9
    Ostatni post / autor: 18-05-2008, 19:23
  5. Logowanie i Rejestracja...
    Przez Tracha w dziale Gamers Fusion
    Odpowiedzi: 9
    Ostatni post / autor: 28-03-2008, 17:39

Tagi dla tego wątku

Zakładki

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •