Login Pomoc!

1

Login Pomoc!

offline
  • Pridružio: 17 Feb 2010
  • Poruke: 79

Potreban mi je na sajtu login msm ja radim sajt nekom liku ali ne znam da uradim da se mogu registrovat i ulogovat :S ! Kako to da napravim?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 20 Jan 2010
  • Poruke: 142
  • Gde živiš: Beograd

Ova tema treba da ide u php ali nema veze kada moderatori ne rade svoj posao. Very Happy Wink



mysql_connect("localhost", "root", "password") or die(mysql_error()); ovo su postavke u localhostu
mysql_select_db("new") or die(mysql_error());

localhost - ime vaseg hosta
root - vas username
password - vas password
new - ime vase baze



add.php
<?php // Connects to your Database mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("new") or die(mysql_error()); //This code runs if the form has been submitted if (isset($_POST['submit'])) { //This makes sure they did not leave any fields blank if (!$_POST['username'] | !$_POST['pass'] | !$_POST['pass2'] ) { die('You did not complete all of the required fields'); } // checks if the username is in use if (!get_magic_quotes_gpc()) { $_POST['username'] = addslashes($_POST['username']); } $usercheck = $_POST['username']; $check = mysql_query("SELECT username FROM users WHERE username = '$usercheck'") or die(mysql_error()); $check2 = mysql_num_rows($check); //if the name exists it gives an error if ($check2 != 0) { die('Sorry, the username '.$_POST['username'].' is already in use.'); } // this makes sure both passwords entered match if ($_POST['pass'] != $_POST['pass2']) { die('Your passwords did not match. '); } // here we encrypt the password and add slashes if needed $_POST['pass'] = md5($_POST['pass']); if (!get_magic_quotes_gpc()) { $_POST['pass'] = addslashes($_POST['pass']); $_POST['username'] = addslashes($_POST['username']); } // now we insert it into the database $insert = "INSERT INTO users (username, password) VALUES ('".$_POST['username']."', '".$_POST['pass']."')"; $add_member = mysql_query($insert); ?> <h1>Registered</h1> <p>Thank you, you have registered - you may now login</a>.</p> <?php } else { ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <table border="0"> <tr><td>Username:</td><td> <input type="text" name="username" maxlength="60"> </td></tr> <tr><td>Password:</td><td> <input type="password" name="pass" maxlength="10"> </td></tr> <tr><td>Confirm Password:</td><td> <input type="password" name="pass2" maxlength="10"> </td></tr> <tr><th colspan=2><input type="submit" name="submit" value="Register"></th></tr> </table> </form> <?php } ?>


login.php
<?php // Connects to your Database mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("new") or die(mysql_error()); //Checks if there is a login cookie if(isset($_COOKIE['ID_my_site'])) //if there is, it logs you in and directes you to the members page { $username = $_COOKIE['ID_my_site']; $pass = $_COOKIE['Key_my_site']; $check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error()); while($info = mysql_fetch_array( $check )) { if ($pass != $info['password']) { } else { header("Location: members.php"); } } } //if the login form is submitted if (isset($_POST['submit'])) { // if form has been submitted // makes sure they filled it in if(!$_POST['username'] | !$_POST['pass']) { die('You did not fill in a required field.'); } // checks it against the database if (!get_magic_quotes_gpc()) { $_POST['email'] = addslashes($_POST['email']); } $check = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error()); //Gives error if user dosen't exist $check2 = mysql_num_rows($check); if ($check2 == 0) { die('That user does not exist in our database. <a href=add.php>Click Here to Register</a>'); } while($info = mysql_fetch_array( $check )) { $_POST['pass'] = stripslashes($_POST['pass']); $info['password'] = stripslashes($info['password']); $_POST['pass'] = md5($_POST['pass']); //gives error if the password is wrong if ($_POST['pass'] != $info['password']) { die('Incorrect password, please try again.'); } else { // if login is ok then we add a cookie $_POST['username'] = stripslashes($_POST['username']); $hour = time() + 3600; setcookie(ID_my_site, $_POST['username'], $hour); setcookie(Key_my_site, $_POST['pass'], $hour); //then redirect them to the members area header("Location: members.php"); } } } else { // if they are not logged in ?> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> <table border="0"> <tr><td colspan=2><h1>Login</h1></td></tr> <tr><td>Username:</td><td> <input type="text" name="username" maxlength="40"> </td></tr> <tr><td>Password:</td><td> <input type="password" name="pass" maxlength="50"> </td></tr> <tr><td colspan="2" align="right"> <input type="submit" name="submit" value="Login"> </td></tr> </table> </form> <?php } ?>

members.php
<?php // Connects to your Database mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("new") or die(mysql_error()); //checks cookies to make sure they are logged in if(isset($_COOKIE['ID_my_site'])) { $username = $_COOKIE['ID_my_site']; $pass = $_COOKIE['Key_my_site']; $check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error()); while($info = mysql_fetch_array( $check )) { //if the cookie has the wrong password, they are taken to the login page if ($pass != $info['password']) { header("Location: login.php"); } //otherwise they are shown the admin area else { echo "Admin Area<p>"; echo "Your Content<p>"; echo "<a href=logout.php>Logout</a>"; } } } else //if the cookie does not exist, they are taken to the login screen { header("Location: login.php"); } ?>

logout.php
<?php $past = time() - 100; //this makes the time in the past to destroy the cookie setcookie(ID_my_site, gone, $past); setcookie(Key_my_site, gone, $past); header("Location: login.php"); ?>

Za ovo ti treba baza podataka.
Inace ove stvari mozes naci svuda na netu.
PozzZzzZZZzzZzzz



offline
  • Pridružio: 17 Feb 2010
  • Poruke: 79

[quote="Kole888"]Ova tema treba da ide u php ali nema veze kada moderatori ne rade svoj posao. Very Happy Wink


E brate sve je ovo OK samo gdje da ja ovo ubacim u INDEX??? Very Happy

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Napisano: 02 Mar 2010 22:49

lol, ovo je dobro Smile

Dopuna: 02 Mar 2010 23:06

Dobra je ovo forma, samo ne znam sta ti znaci ovaj deo sa mailom kad njega ne unosis u bazu preko forme u bazu koju si napravio.

offline
  • Pridružio: 08 Jan 2010
  • Poruke: 101

ovaj kod ima na 2 mesta:
//Checks if there is a login cookie if(isset($_COOKIE['ID_my_site'])) //if there is, it logs you in and directes you to the members page { $username = $_COOKIE['ID_my_site']; $pass = $_COOKIE['Key_my_site']; $check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
ne zaboravite da korisnici mogu da edituju svoje cookie-je i time moze doci do sql injection napada.
preporucio bih koriscenje sesija a ne cookie-ja, ili bar filtriranje sadrzaja cookie-ja:
$username = mysql_real_escape_string($_COOKIE['ID_my_site']);

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

A men jos uvek zanima ovo za mail Smile

Jos me zanima prilikom koriscenja ove funkcije "mysql_real_escape_string" prilikom upisa u bazu, evo recimo ovde, kako bi to izgledalo sintaksno?Jel moze da se napise ovako?Kladim se da sam nesto uprskao sa ovim " ' Smile)

$insert = "INSERT INTO users (username, password) VALUES (mysql_real_escape_string('".$_POST['username']."'), mysql_real_escape_string('".$_POST['pass']."'))"; $add_member = mysql_query($insert);

offline
  • Pridružio: 24 Mar 2006
  • Poruke: 273
  • Gde živiš: Beograd

Ti mozes dodati i polje za mail u bazu ako ga nema Wink

A ovo drugo... mozes napisati recimo ovako
$insert = "INSERT INTO users (username, password) VALUES (".mysql_real_escape_string($_POST['username']).", ".mysql_real_escape_string($_POST['pass']).")"; $add_member = mysql_query($insert);

offline
  • zend  Male
  • Počasni građanin
  • Pridružio: 22 Okt 2009
  • Poruke: 900
  • Gde živiš: Pancevo

Ne bi da se mesam ali bih samo da napomenem da pogledate milosev odgovor...

Citat:ne zaboravite da korisnici mogu da edituju svoje cookie-je i time moze doci do sql injection napada.
preporucio bih koriscenje sesija a ne cookie-ja, ili bar filtriranje sadrzaja cookie-ja:

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Aha hvala na odgovoru.Ja sam recimo uradio ovo i uspeo sam da upisem u bazu sifru koja je kriptovana.

$username=$_POST['username']; $password=$_POST['password']; $username=mysql_real_escape_string($username); $password=mysql_real_escape_string($password); $insert = "INSERT INTO users (username, password) VALUES ('".$username."', '".$password."')"; $add_member = mysql_query($insert);

Medjutim mislim da ovo nije dobro resenje posto posle md5 enkripcije ja opet uzimam username i pass iz forme!? !Ako moze neko da prokomentarise ovo.

offline
  • zend  Male
  • Počasni građanin
  • Pridružio: 22 Okt 2009
  • Poruke: 900
  • Gde živiš: Pancevo

Citat:Medjutim mislim da ovo nije dobro resenje posto posle md5 enkripcije ja opet uzimam username i pass iz forme!

Cekaj pojasni malo ovo???

Ko je trenutno na forumu
 

Ukupno su 1190 korisnika na forumu :: 137 registrovanih, 15 sakrivenih i 1038 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, AleksandarV, alternator, amaterSRB, antonije64, Apok, armor, Arsenije, Avalon015, Ba4e, Beardonitch, blackjack, bobomicek, bojan313, bpvl, BZ, cavatina, chitach, Cian, cvrle312, d.arsenal321, Dannyboy, dearg, DeerHunter, Dimitrije Paunovic, Dimitrise93, djile1, djuradj, dmrdc, Dolinc, Dorcolac, dovlafkcz, Draganeli, DrMrPr, eagle.rs, ElvisP, FOX, Frunze, Gall, geo.dule, gomago, gorankuba, icemilos, Igor Antonic, Igritelj, istina, ivan_8282, ivanb, IvicaiMarica, Jaz, Jeremiah, jnikola23, Joint Chief, Jozo74, Kajzer_Soze, Karaula, kendzo-andzo-boni-fju, Klass, kokodakalo, koliko, lcc, littlebunny, ljuba, ljubo70, LostInSpaceandTime, Macalone, Manjane, MB120mm, mean_machine, Metanoja, micke83, Miki281, mikidragi, Milan Miscevic, milenko crazy north, MILJEVINAC, milos97, mix1, MK10, mkukoleca, mnn2, moldway, nebojsag, nextyamb, nuke92, nuki1234, ostoja, Pilence, Povratak1912, PrincipL, Razdroid, Rebel Frank, repac, royst33, sabros, Sagotolio, samo opusteno, samojednoimeznam, SamostalniReferent, sarma, Sava89, Semprini, sickmouse, Sir Budimir, Sirius, Sićko, skvara, Stanlio, starlights, synergia, t84dar, tanakadzo, Tanasko, Tihi86, Timočka Divizija, Tragač, TRAVUNIJA, TRZH92, tuja, Tumansky, tvlada, ujke, vaci, VJ, vlad4, vladaa012, voja64, vukan0799, Wehicle, wizzardone, x011, XBMC, zdrebac, zmajbre, zokizemun, Zvrk, 223223