Логин форма или ?

zlatincho0

Registered
Здравейте значи имам си админ панел не искам да слагам .htapasswd или .htaccess просто ако някои напише сайта.ком/admin да излиза една форма за вход и в нея да се въведат потребител и парола и ако са верни да го пусне по напред ако не е да изписва паролата или потребителя не са верни много ми трябва благодаря на всички отзова ли се ! :) +1 за този който ми помогне :)
 
Ето ти един прост код:
PHP:
<?php 
// Името и паролата, с които се влиза в страницата
$username = "user"; 
$password = "password"; 

if ($_POST['username'] != $username || $_POST['password'] != $password) { 

?> 

<p>За да видите страницата въведете име и парола:<p> 

<form name="form" method="post" action=""> 
    <p><label for="username">Име:</label> 
    <br /><input type="text" name="username" /></p> 

    <p><label for="password">Парола:</label> 
    <br /><input type="password"  name="password" /></p> 

    <p><input type="submit" name="Submit" value="Вход" /></p> 

</form> 

<?php 

} 
else { 

//Съдържание на скритата страница

} 

?>

Ако искаш нещо по-сложно със сесии пиши!
 
Ето ти и един малко по-сложен, ама за него искам +2 най-малко :)

това е index.php
PHP:
<?php

	session_start();

	header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
	header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past	$Abonament = (int) $_SESSION['ID'];
    
    $username = (isset($_POST['User'])) ? mysql_real_escape_string($_POST['User']) : '';
    $password = (isset($_POST['Pass'])) ? mysql_real_escape_string($_POST['Pass']) : '';
    $msg = '';

	if ($username!='' && $password!='') {
			$qry = "select u.ID, u.usrFullName from users u where usrLogin='".$username."' and usrPassword='".$password."'";
			$p = mysql_query($qry);
			if ($p) {
				$r = mysql_fetch_array($p);
		    	$_SESSION['UserID'] = $pass[0];
		    	header('Location: <tvoiata glavna stranica>');
   			} else {
   				$msg = 'Невярна парола';
   			}
	}
	
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Login</title>
<link rel="stylesheet" href="css/idocs.css" type="text/css" />
</head>
<body>
			<form method="post">
		
				<? 		if ($msg!='') echo("<div style='color: red; font-weight: bold;'>$msg</div>"); ?>
		
				<table style="border: none;" cellpadding="3" cellspacing="3" border="0">
					<tr>
						<td style="width: 100px;" align="right">потребител:</td>
						<td style="width: 200px;"><input name="User" id="User" type="text"/></td>
					</tr>
					<tr><td class="normaltext" align="right">парола:</td><td><input name="Pass" id="Pass" type="password"/></td></tr>
					<tr>
					<td colspan="2">
						<table width="100%"><tr>
						<td></td>
						<td align="right"><input type="submit" value="вход" style="width: 80px;"/></td>
						</tr></table>
					</td>
				</table>
			</form>
</body>
</html>

Трябва да смениш <tvoiata glavna stranica> с твоята главна страница на админ-а,
а това го слагаш в самото начало на всички други страници, които защитаваш:
PHP:
<?php

	if (!isset($_SESSION['UserID']) or (int)$_SESSION['UserID']==0) {
			header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
        	exit(0);
	}

?>
 
Ако имаш таблица users с поле access_level_id и таблица access_level с полета id и name със стойности "2" и "Administrator" и users.access_level = access_level.id , можеш да направиш логин форма която извлича информацията за потребителя и проверява с какъв access_level_id е и ако е 2 го пуска, ако е друг го препраща и т.н.
 

Back
Горе