Close
Duke shfaqur rezultatin -9 deri 0 prej 8
  1. #1
    i/e regjistruar Maska e alditirona
    Anëtarësuar
    30-11-2003
    Vendndodhja
    Tirane
    Postime
    209

    Cool password function in mysql and print command in PHP !!!

    Se pari pershendetje ...

    U be nje kohe qe po punoj me databasat ne microsoft access dhe ato te dhene qe kam ne access desha ti hudh ne internet duke perdorur gjuhen php dhe mysql database. kalimin e te dhenave nga access e kam te qarte duke perdorur menyren save as text pastaj behet kalimi i tyre ne mysql por nje gje se kam te qarte si mund te kaloj nje te dhene nga text ne access ne password function ne mysql ?
    Nersa pyetja tjeter ka te beje me printimin e nje tabele me te dhenat e kaluara nga accessi ne mysql, domethene shkurt si te krijoj nje printing command ne php?
    bashkimi sjell fitore.

  2. #2
    Programues Softueresh Maska e edspace
    Anëtarësuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565
    Ti mund ti transferosh fjalëkalimet siç i ke në access por nuk rekomandohet që të hidhen në databazë si tekst sepse mund të lexohen shumë kollaj nga njerëz të tjerë që mund të kenë akses në DB. Prandaj fjalëkalimet shifrohen/kriptohen me një funksion si MD5() ose SHA1(). Nuk ka funksione për zbërthimin e këtyre shifrimeve ose mund të ketë por duhet me vite të tëra për të gjetur fjalëkalimin.

    MySql rekomandon të përdorësh funksionin sha1() - US Secure Hash Algorithm 1. Ky funksion merr një fjalekalim si tekst dhe e fsheh atë në 40 shifra hex.

    P.sh. sha1("edi2004") kriptohet në kodin 25fc95e4a4e345d89315cef4a075d00852473525

    Në faqen PHP kur një person të shkruajë fjalëkalimin edi2004, ti do përdorësh funksionin sha1() të PHP për të gjetur hash dhe pastaj të shikosh nqs ai hash ekziston në databazë.

    Ja një shëmbull:

    Në MySql krijojmë këtë tabelë:
    Kodi:
    CREATE TABLE `llogaria` (
      `id` int(11) NOT NULL auto_increment,
      `emri` varchar(40) NOT NULL default '',
      `fjalekalimi` varchar(40) NOT NULL default '',
      PRIMARY KEY  (`id`)
    ) TYPE=MyISAM AUTO_INCREMENT=2 ;
    Kjo do ketë 3 kolona: id, emri, fjalekalimi
    id e fut vetë DB ndërsa emrin dhe fjalëkalimin do ta hedhim ne.

    Për të shtuar një llogari të re, do përdorësh këtë sintaksë:

    Kodi:
    INSERT INTO `fjalekalim` (emri, fjalekalimi) VALUES ('Edi', sha1('edi2004'))
    Pra, tekstin që nxjerr nga MS Access duhet ta kthesh në atë formë dhe pastaj dërgoja MySql me PhpMyAdmin.

    Tani DB do ketë këtë informacion:
    Kodi:
    id	emri	fjalekalimi
    1	edi	25fc95e4a4e345d89315cef4a075d00852473525

    Pastaj nga faqja e identifikimit në PHP do vendosësh kod të tillë:

    Kodi PHP:
    // ... 

    $emri $_POST['emri'];
    $fjalekalimi sha1$_POST['fjalekalimi'] );

    $rezultati mysql_query("SELECT * FROM llogaria WHERE username='$emri' AND password='$fjalekalimi' ");

    if( 
    mysql_num_rows($rezultati) == 
    {  
         echo 
    "Mire se erdhe $emri!";
    }
    else
    {
         echo 
    "Emri dhe fjalekalimi janë të gabuara!";
    }

    // .... 



    Për të printuar diçka nga MySql mund të përdorësh diçka të ngjashme me kodin më poshtë. Kjo do printojë të gjithë rreshtat e tabelës llogaria që u përmend më lart në një tabelë në HTML.

    Kodi PHP:
    <?php
    mysql_connect
    ("localhost""emri_mysql""fjalekalimi_mysql") or
       die(
    "Nuk mund te lidheshim: " mysql_error());
    mysql_select_db("db_ime");

    $rezultati mysql_query("SELECT id, emri FROM llogaria");

    echo 
    '<table><tr><td>id</td><td>emri</td>';

    while (
    $rreshti mysql_fetch_array($rezultati)) {
       echo 
    '<tr><td>' $rreshti['id'] . '</td><td>' $rreshti['emri'] . '</td></tr>';
    }

    echo 
    '</table>';

    mysql_free_result($rezultati);
    ?>
    Ndryshuar për herë të fundit nga edspace : 02-01-2005 më 20:36
    Edi

  3. #3
    i/e regjistruar Maska e alditirona
    Anëtarësuar
    30-11-2003
    Vendndodhja
    Tirane
    Postime
    209

    Question

    FLM per pergjigjen edspace !!!

    Ne fakt une desha te perdor funksionin PASSWORD() por edhe MD5() dhe SHA1() te njejtin funksion kryejne.
    Ti me tregove menyren se si te kaloj nje record te vetem po kur behet fjale per me teper se 1000 recorde, mos duhet perdorur
    INSERT INTO LLOGARIA (emri, fjalekalimi) VALUES ('Edi', sha1('edi2004'))
    INSERT INTO LLOGARIA (emri, fjalekalimi) VALUES ('Genci', sha1('genci_04'))
    INSERT INTO LLOGARIA (emri, fjalekalimi) VALUES ('Vera', sha1('vera_1980'))
    per cdo record qe duhet te regjistrojme ne mysql, kuptohet me PHPMYADMIN ... ???

    Sa per pergatitjen e tabeles e kam te qarte por ne fakt une desha ta shtoj si komande pasi te kete mundesi te hyje ne te dhenat e tij perdoruesi te kete disa opsione ose me qarte MENU si ndryshimi i passwordit, dergoje kete informacion tek nje shok, etj dhe nje nga keto te jete << PRINTO KETE DOKUMENT >> ose si ne figuren ne vijim ->
    --------------------------------------------------------------------------------------------
    | NDRYSHO FJALEKALIMIN | DERGOJA NJE SHOKU | PRINTO DOKUMENTIN |
    --------------------------------------------------------------------------------------------
    EDHE NJE HERE FLM ...
    bashkimi sjell fitore.

  4. #4
    Programues Softueresh Maska e edspace
    Anëtarësuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565
    Aldi,

    MySQL në faqen e tyre thonë që funksionin password() duhet përdorur vetëm për sigurimin e brëndshëm të databazës dhe jo për sigurimin e llogarive të tjera të zakonshme. Për programet personale rekomandon përdorimin e MD5 ose SHA1, duke favorizuar SHA1 si funksionin më të mirë.

    Transferimin e të dhënave mund ta bësh me nga një INSERT për çdo rresht, duke i ndarë me pikëpresje si më poshtë.

    Kodi:
    INSERT INTO LLOGARIA (emri, fjalekalimi) VALUES ('Edi', sha1('edi2004'));
    INSERT INTO LLOGARIA (emri, fjalekalimi) VALUES ('Genci', sha1('genci_04'));
    ... te tjera ketu
    Formatimin e rreshtave mund ta bësh me ndonjë editor teksti (edit > replace) ose në Excel. Në phpMyAdmin mund ti bësh paste tek kutia e SQL ose ruaje në një skedar dhe importoje.


    Në lidhje me opsionet e përdoruesit, për ndryshimin e fjalëkalimit, krijo një formular të thjeshtë me 1 kuti për fjalëkalimin e vjetër dhe 2 kuti për fjalëkalimin e ri. Pastaj përdor kod të ngjashëm me atë më lart për të kontrolluar nëse fjalëkalimi i vjetër ështe njësoj me atë në DB dhe nëse fjalëkalimet e rinj janë të njëjtë dhe zbatojnë rregullat e fjalëkalimeve që ke zgjedhur ti. (psh. jo më pak se 6 gërma).
    Nëse gjithçka është në rregull, mund të ndryshosh fjalëkalimin me kod të tillë:

    Kodi PHP:
    $fjalekalimi sha1$_POST['fjalekalimi_i_ri'] );
    $result mysql_query("UPDATE llogaria SET fjalekalimi='$fjalekalimi' WHERE id='$id' LIMIT 1"); 
    Për "dërgoja një shoku", do përdorësh funksionin mail() të PHP për të dërguar një email.
    mail( "shokuim@forumishqiptar.com", "je i ftuar", "Ketu shkruan mesazhin ose fut të dhëna të tjera.");

    Për "printo dokumentin", do përdorësh JavaScript.
    Printo Dokumentin

    Kjo është njësoj sikur përdoruesi të zgjidhte menunë [file > print] të shfletuesit.
    Ndryshuar për herë të fundit nga edspace : 03-01-2005 më 11:16
    Edi

  5. #5
    i/e regjistruar Maska e Gepardi
    Anëtarësuar
    30-10-2002
    Vendndodhja
    Tiranë
    Postime
    169
    Une do te shtoja qe fusha emri duhet te jete UNIQUE

    dmth nuk mund te kete dy njelloj
    kete do ta perdoresh kur te regjistrohet perdoruesi ne menyre qe ti nxjerre nje mesazh qe username i tij eshte i perdorur.

    Nqs do te kesh dhe statistika mund ti shtosh dhe fushen 'identifikuar'(p.sh) qe te marre nje vlere kur identifikohesh (p.sh 1)

    DHe pastaj me nje query te tille:

    SELECT count(id) FROM tabela WHERE identifikuar = 1

    Do te marresh numrin e anetarve qe ndodhen aktulaisht ne website.

    Mbase duhet te konsiderosh dhe opsionin ke harruar fjalekalimin.
    Me encriptimin md5 apo SHA1 nuk mund ti kthesh perdoruesit fjalekalimin qe kishte. Megjithate mund te krijosh nje te ri dhe tja dergosh me email. Kjo nuk eshte e veshtire.

    Thjesht gjeneron nje fjalekalim te rastit psh me uniqueid() dhe e fut ne database te enkriptuar. Pastaj me mail() ja dergon perdoruesit.

  6. #6
    i/e regjistruar
    Anëtarësuar
    11-10-2004
    Postime
    39

    Printimi

    Mund te jete e mundur qe te vazhdosh te perdoresh MS Access per printim edhe nese e ke databasen MySQL. P.sh. nese i ke te dyja databazat ne te njejtin kompjuter mund ta besh setup databazen ne MySQL si ODBC data source, dhe ti besh 'Link' tabelat ne MS Access.
    Keshtu mund te vazhdosh te perdoresh Access reports per te dhenat e tua.
    Natyrisht nuk eshte e domosdoshme qe te dyja databazat te jene ne te njejtin kompjuter. Rendesi ka qe te kesh acccess te databaza ne MySQL. P.sh. nuk e di nese mund te jesh ne gjendje tu besh link tabelave nga kompjuteri i shtepise kur databaza eshte ne nje ISP. Ne fakt nuk besoj se kjo gje eshte e mundur e as e keshillueshme per arsye sigurie.

  7. #7
    i/e regjistruar Maska e alditirona
    Anëtarësuar
    30-11-2003
    Vendndodhja
    Tirane
    Postime
    209
    flm te gjitheve ...

    Ne fakt une kam lexuar dicka rreth php dhe mysql, me sakte kam librin dhe me ka ndihmuar shume dhe keto tema i ka cekur deri diku libri ne kapitujt e fundit, por problemi im ishte qe une informacionin e kam ne access dhe desha ti kaloj ne mysql dhe me pas ne internet nepermjet php dhe besoj se e gjeta zgjidhjen, por nuk e di nese ka ndonje program qe ta mundesoje kalimin me shpejt dhe te jete me praktik, kam degjuar qe ka nje program te tille por nuk po hasi mte...

    megjithate flm ...
    TUNG
    bashkimi sjell fitore.

  8. #8
    i/e regjistruar Maska e alditirona
    Anëtarësuar
    30-11-2003
    Vendndodhja
    Tirane
    Postime
    209

    Wink Ja programi qe te mundeson kalimin nga access ne mysql !

    prsh ...

    kliko mbi linkun ...

    Programi per Kalimin e recordeve nga ACCESS ne MYSQL ...

    dhe me e rendesishmja e te gjithave eshte
    por duhet te zbrisni gjithashtu edhe MyODBC nga http://www.mysql.com
    bashkimi sjell fitore.

Tema të Ngjashme

  1. Access - Aritmetikë në MS Access
    Nga Okki në forumin Arti i programimit
    Përgjigje: 2
    Postimi i Fundit: 10-03-2006, 10:39
  2. Projekti amerikan për Lindjen e Mesme të Madhe
    Nga ORIONI në forumin Problemet ndërkombëtare
    Përgjigje: 54
    Postimi i Fundit: 26-01-2005, 11:20
  3. VB dhe Access 2000: "Unrecognized database format"
    Nga good devil në forumin Arti i programimit
    Përgjigje: 3
    Postimi i Fundit: 11-02-2004, 13:27
  4. Access - Dua te fus foto nga nje dosje ne Access
    Nga Delil në forumin Arti i programimit
    Përgjigje: 5
    Postimi i Fundit: 14-08-2003, 07:44
  5. Access - Si ta kthej programin per Linux
    Nga Pogradecari në forumin Arti i programimit
    Përgjigje: 5
    Postimi i Fundit: 19-06-2003, 03:26

Regullat e Postimit

  • Ju nuk mund të hapni tema të reja.
  • Ju nuk mund të postoni në tema.
  • Ju nuk mund të bashkëngjitni skedarë.
  • Ju nuk mund të ndryshoni postimet tuaja.
  •