Registracie uzivatelov potvrdzovane administratorom php

Programovacie jazyky, rady, poradňa...
eSKo-man
Light Expert
Light Expert
Príspevky: 39
Registrovaný: 23 feb 2014, 21:42

Registracie uzivatelov potvrdzovane administratorom php

Príspevok od používateľa eSKo-man »

Opet zdravim profikov a skusenejsich.
Pracujem na stranke pre uzavretu spolocnost, preto by som rad vyriesil registracie danych uzivatelov potvrdzovane adminom.

Co ma napadlo... Mam db users, co tak vytvorit dalsiu db pre uzivatelov u ktorych registracia prebehla, ale nieje aktivovana. Tychto uzivatelov z db zobrazovat na stranke v dajakej tabulke, ktoru vidi len admin a jednym kliknutim na odkaz aktivovat v danom riadku tabulky vybrateho uzivatela? Kliknutim sa riadok presunie do db users...Premyslam nad tym dobre alebo je ine lepsie riesenie? Ako by vyzeral kod takejto vymeny uzivatelov medzi db?

Dalsia vec pri registracii uzivatela by bolo fajn keby mu pride mail, ktory bude prvy z dvoch aktivacnych krokov...Ako na to?

Je zrejme, ze uz daco taketo bolo riesene, no google mi nic mne blizke a zrozumitelne nenasiel, ale chapem ze mam predsebou este vela ucenia, no som rad ze sa najdu ludia, ktori mi pomozu ucit sa rychlejsie :)
Za odpovede vam vopred dakujem.
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: Registracie uzivatelov potvrdzovane administratorom php

Príspevok od používateľa *****HERO***** »

eSKo-man napísal:Opet zdravim profikov a skusenejsich.
Pracujem na stranke pre uzavretu spolocnost, preto by som rad vyriesil registracie danych uzivatelov potvrdzovane adminom.

Co ma napadlo... Mam db users, co tak vytvorit dalsiu db pre uzivatelov u ktorych registracia prebehla, ale nieje aktivovana. Tychto uzivatelov z db zobrazovat na stranke v dajakej tabulke, ktoru vidi len admin a jednym kliknutim na odkaz aktivovat v danom riadku tabulky vybrateho uzivatela? Kliknutim sa riadok presunie do db users...Premyslam nad tym dobre alebo je ine lepsie riesenie? Ako by vyzeral kod takejto vymeny uzivatelov medzi db?
staci ti jedna tabulka users, kde budes mat nejaky stlpec "activated". defaultne to bude 0, co znamena, ze nie je aktivovany. ked to admin aktivuje, staci zmenit hodnotu z 0 na 1 (http://www.w3schools.com/php/php_mysql_update.asp). pripadne ked mas viackrokovu aktivaciu, tak tam mozes ukladat krok, v akom stadiu sa nachadza
eSKo-man napísal: Dalsia vec pri registracii uzivatela by bolo fajn keby mu pride mail, ktory bude prvy z dvoch aktivacnych krokov...Ako na to?
k uzivatelovi si pri registracii vygenerujes nejaky hash, ten ulozis k nemu do DB, do mailu posles odkaz s tym hashom (http://www.esko-man.sk/aktivuj_uzivatel ... Ddn1d41czd[/b]) a v tom scripte aktivuj_uzivatela.php ho cez $_GET['hash'] ziskas, najdes v DB a aktivujes

http://www.php.net/manual/en/function.mail.php
eSKo-man
Light Expert
Light Expert
Príspevky: 39
Registrovaný: 23 feb 2014, 21:42

Re: Registracie uzivatelov potvrdzovane administratorom php

Príspevok od používateľa eSKo-man »

V db mam stlpec "prava" a ciastocne som dosiahol, co som chcel. Po registracii vytvori novy riadok s uzivatelom s pravami 0. Pri pokuse o prihlasenie mu vyhodi alert hlasku, ze nepotrvdil aktivacny email. Po potvrdeni emailu by som chcel aby sa prava zmenili na 1 a pri pokuse o prihlasenie vyhodi alert hlasku "Tvoja registracia caka na potvrdenie administratorom." Alert hlaska nieje problem...zoznam uzivatelov mam vytvoreny na jednej stranke ku ktorej ma pristup len uzivatel s pravami 2, cize administrator. Na tejto stranke, budem chciet mat moznost odstranit uzivatela a taktiez zmenit pravomoci...zatial ma nic svetoborne nenapdlo ako na to :D K tomu aktivacnemu mailu by mi velmi pomohol typicky priklad, ak by sa dakomu chcelo, pripadne ak uz nejaky navod dakde existuje budem vdacny za link...som stale noob a pokial nevidim nazorne nepochopim...kazdopadne to nechavam na zajtra a dik za radu Hero ;)

//autoeditácia príspevku (28 Feb 2014, 18:49)
Poradite mi pls, preco mi kontrola spravnosti mailu nefunguje? Kde robim chybu?

Kód: Vybrať všetko

<?php
ob_start();               // cachujeme vystup
  if(isset($_POST['sent'])){      // pokud byl odeslan formular pokracuj timto
    $jmeno=trim($_POST['jmeno']);
    $heslo1=$_POST['heslo1'];
    $heslo2=$_POST['heslo2'];
    $mail=trim($_POST['mail']);

// kontrola spravneho tvaru mailu
   if (ereg("^.+@.+\\..+$", $mail)){
echo "E-mailová adresa je korektní";}
else {$backlink="registrace.php?page=registrace&Alert=1";
   }
  
    if($jmeno=="" or $heslo1=="" or $mail==""){ // pokud nebylo vyplněno něco z toho, co je povinné, dáme vědět a skript ukončíme
      $backlink="registrace.php?page=registrace&Alert=1";
    }else{              // povinné udaje vyplněny vsechny
      require "db.php";     // pripojime se k databazi
      $PocetStejnych=mysql_result(mysql_query("SELECT COUNT(*) FROM `uzivatele` WHERE `jmeno`='$jmeno' OR `mail`='$mail'"), 0);
	  if($PocetStejnych!=0){    // pokud v db je jiz takove jmeno nebo heslo...
        $backlink="index.php?page=registrace&Alert=2";
      }elseif($heslo1 != $heslo2){    // pokud se hesla nerovnají
        $backlink="index.php?page=registrace&Alert=3";
      }else{            // hesla se shoduji, vlozime tedy data do databaze
        $heslo=md5($heslo1);  // zahashujeme heslo
        $VlozData=mysql_query("INSERT INTO uzivatele (jmeno,heslo,mail,prava) VALUES ('$jmeno', '$heslo', '$mail', '0')") or die (mysql_error());
        // Vlozim do tabulky hodnoty - prvni je ID - nevyplnim, tvori se samo.
        // Jako posledni hodnota je "0", to jsou ty prava uzivatele.
		
        $backlink="index.php?Alert=4"; // presmerovani s hlaskou ze je vse OK
      }

    }
  }else{
    $backlink="index.php?page=registrace&Alert=5";
  }
 header ("Location: $backlink");
ob_end_flush();
?>
yoggy

Re: Registracie uzivatelov potvrdzovane administratorom php

Príspevok od používateľa yoggy »

prečo stále používaš mysql keď už tu je napr. PDO?
eSKo-man
Light Expert
Light Expert
Príspevky: 39
Registrovaný: 23 feb 2014, 21:42

Re: Registracie uzivatelov potvrdzovane administratorom php

Príspevok od používateľa eSKo-man »

Som noob s programovanim zacinam, zvolil som si php s mysql, pretoze sa mi tu uz par rokov povaluje kniha do ktorej som sa konecne pustil a ucim sa...
PDO netusim ani co vobec je a naco sluzi...
Napísať odpoveď