ugrás a tartalomhoz

Egyedi login rendszer

konda · 2008. Jún. 17. (K), 19.09
Nagyon nagy gondba vagyok a login rendszerekkel....

Egy login rendszert szeretnék létrehozni, ahol én adom meg a felhasználó
neveket és jelszavakat, és egy belinkelt honlapra dobjon be, ha helyes az
user és a pass, de úgy hogy, minden felhasználónak saját oldala legyen, amit
szintén én adok meg a kódban. Ha ez lehetetlen kérés lenne, akkor egy
egyszerűt szeretnék, ahol ugyancsak én adom meg a logint és az usert, és
mindenkit egy honlapra dobjon be. Tudnátok segíteni? Ha igen vegyetek föl msn-re (konda-12##kukac##hotmail.com)
 
1

nem értem...

PredMan · 2008. Jún. 18. (Sze), 06.58
mi okozott ebben nehézséget? a beléptető oldalak mind úgy épülnek fel, hogy helyes jelszó esetén átirányítanak egy adott oldalra. Neked annyi módosítást kell csak csinálnod, hogy több IF ágat kell létrehoznod, amiben meghatározod, hogy a "Józsi" nevű, "Lou" jelszavú emberkét a "jozsi.php"-ra irányítsa át stb...
3

Na akkor mégegyszer :d

konda · 2008. Jún. 18. (Sze), 13.03
Nagyon hülye vagyok a PHP-hez...
na szóval van nekem a config.php fájlom ami így néz ki:

$username = "felhasználónév";
$password = "jelszó";
$username = "megint felhasználónév";
$password = "megint jelszó";
$location = "védett oldal címe";
$badinfo = "Üzenet ide";
$noinfo = "Nincs info ide";
És itt hogy tudom beállítani, hogy melyik felhasználóhoz menjen az az url....valaki írja le nekem a kódot PLS!

kössz...
4

2 db username, password?

sanyoo · 2008. Jún. 18. (Sze), 13.45
Milyen szerepe van annak hogy először megadod a felhasználónevet, majd 2 sorral lejjebb felülírod? (ugyanezt eljátszód a password-el is)
PHP kódban szeretnéd tárolni a felhasználóid? (felhasználónevestől, jelszavastul?) (Nem túl szép megoldás..)
Szóval ha igen akkor tömbben tárold őket (egy többdimenziós tömbben).:

$users=array (
	array (
		"username"=>"Zita",
		"pass"=>"Zita jelszava",
		"site"=>"Zita oldala"
	),
	array (
		"username"=>"Béla",
		"pass"=>"Béla jelszava",
		"site"=>"Béla oldala"
	)
);
//$_GET['username']="Zita";
//$_GET['userpass']="Zita jelszava";
$uname=htmlentities(strip_tags($_GET['username']));
$upass=htmlentities(strip_tags($_GET['userpass']));
foreach ($users as $userarray ) {
	if ($userarray['username']===$uname && $userarray['pass']===$upass) {
		//sikeres bejelentezés
		//$userarray['site'] re kell írányítani őket.
	} else {
		//sikertelen bejelentezés
	}
}
5

Megint...

konda · 2008. Jún. 18. (Sze), 17.37
Na ez mind szép és jo...de újabb hibába ütköztem, amit eddig nem láttam....

a login rendszerem három fájlból áll... a config.php,form.php és login.php a configban beállítottam, hogy más-más honlpra dobja be az embereket, de hiába, mert a form.php-ba van megadva az elérési út. Bemásolom ide mindhárom fájl tartalmát, és PLS próbáljatok meg segíteni.

CONFIG.PHP

$users=array (  
array (  
"username"=>"user1",  
"pass"=>"pass1",  
"site"=>"http://www.realuh.info"  
),  
array (  
"username"=>"user2",  
"pass"=>"pass2",  
"site"=>"http://www.startlap.hu"  
)  
);  
//$_GET['username']="user1";  
//$_GET['userpass']="pass1";
//$_GET['username']="user2";  
//$_GET['userpass']="pass2";    
$uname=htmlentities(strip_tags($_GET['username']));  
$upass=htmlentities(strip_tags($_GET['userpass']));  
foreach ($users as $userarray ) {  
if ($userarray['username']===$uname && $userarray['pass']===$upass) {  
//sikeres bejelentezés  
//$userarray['site'] re kell írányítani őket.  
} else {  
//sikertelen bejelentezés  
}  
}  
[fcolorer]

FORM.PHP
[colorer=html]
<form name="form1" method="post">
  <p>Felhasználónév:  
    <input name="userinput" type="text" id="userinput">
    <br>
    <br>
  Jelszó: 
  <input name="passinput" type="password" id="passinput">
  <br>
  <br>
  <input type="submit" name="Submit" value="Bejelentkezés">
  <input type="reset" name="Reset" value="Törlés">
  <input name="action" type="hidden" id="action" value="submit">
  </p>
  </form>
LOGIN.PHP

include('config.php');

if($action == "submit"){
	if(($userinput == "")||($passinput == "")){
	echo "$noinfo";
	} else {
		if(($userinput == $username)&&($passinput == $password)){
		header( "Location: $location" );
		} else {
		echo "$badinfo";
		}
	}
}
include('form.php')	;
6

Pedig nem nehéz:

sanyoo · 2008. Jún. 18. (Sze), 18.04
login.php:

<?php
include("config.php");
$uname=htmlentities(strip_tags($_GET['username']));
$upass=htmlentities(strip_tags($_GET['userpass']));
foreach ($users as $userarray ) {
	if ($userarray['username']===$uname && $userarray['pass']===$upass) {
		//sikeres bejelentezés
		$site=$userarray['site'];
		header("Location: $site");
		exit;
	} else {
		//sikertelen bejelentezés
	}
} 
?>
login.html:

<form name="form1" method="get" action="login.php">
<p>Felhasználónév:
<input name="username" type="text" id="userinput">
<br>
<br>
Jelszó:
<input name="userpass" type="password" id="passinput">
<br>
<br>
<input type="submit" name="Submit" value="Bejelentkezés">
<input type="reset" name="Reset" value="Törlés">
</p>
</form>
config.php:

<?php
$users=array (
	array (
		"username"=>"user1",
		"pass"=>"pass1",
		"site"=>"http://www.realuh.info"
	),
	array (
		"username"=>"user2",
		"pass"=>"pass2",
		"site"=>"http://www.startlap.hu"
	)
);
?>
Azért még javítgassál rajta mert van még rajta mit.
2

nem kell minden esetet lekódolni szerver oldalon.

Zaphod Beeblebrox · 2008. Jún. 18. (Sze), 08.33
szia,
csináltam egyszer egy olyan megoldást, ami egyszerűen javascriptet használt. amikor beírtam, felhasználónévnek, hogy "zp", jelszónak, hogy "jelszavam", akkor gombnyomásra javascript összerakta ezeket, és átirányított a "./titok/oldal-zp_jelszavam.html" állományra. ha ilyen állomány nem volt a "./titok" könyvtárban, akkor egy egyedi 404 hibaüzenetet dobtam.

EDIT: ha zavar, hogy a címsorban is ott van a jelszó, például használhatsz ajaxot.