Въпросче за сесии

LuBaTa

Registered
Искам да направя сесия със името на администратора, ето този код:
Код:
<?php
if(isset($_POST['submit'])){
 $user = $_POST['name']; // въведеното потребителско име 
 $password = $_POST['password']; // въведената парола 
 $sql="SELECT * FROM admins WHERE name='$user' and password='$password' "; 
 $result=mysql_query($sql) or die(mysql_error()); 
 $count=mysql_num_rows($result); 
 if($count==1) 
 {
 session_register('admin');
 header("location:index.php");
 }
 else{

  echo 'Greshka';
 exit; // прекратяваме изпълнението 
 } 

 }
 ?>

Ето така ли да направя:
Код:
session_register('$user');

И ако може да ми кажете как да покава примерно Здравей "$user"
 
session_register не се използва вече, deprecated е още от php 4

Изпозвай това

PHP:
$_SESSION['admin'] = $user;

И един съвет - никога не изпозвай директно инпут от потребител в заявки, винаги ги ескейпвай с бекслаш, щото ще ти хакнат БДто много лесно.
 
М/у другото може ли кода за изкарване на името на сесията??
И как да го направя този код, за проверява дали е админ?:
Код:
session_start();
if(!session_is_registered(admin)){
echo "Не си Администратор";
exit;
}
 
не знам дали е най-правилният начин,но според мен е най-добре да си направиш в дб-то с потребителите едно поле "rank" и при регистрация обикновените потребители да получават ранк 1 като default а ти да си го направиш твоят на 3.


и после в страниците,в които искаш да имаш само ти достъп правиш този код,като преди това си правиш заявката от сорта на

$UserG = mysql_query("SELECT * FROM users WHERE username='$променливата ти на логнат потребирал' ") or die (mysql_error());
$user= mysql_fetch_array($UserG);

if($user['rank'] == 3) {

кода който ще ти се показва на теб

}
else {

Ти НЕ си администратор и нямаш достъп до този файл.

}
 
Код:
<?php
if(isset($_POST['submit'])){
 $user = $_POST['name']; // въведеното потребителско име
 $password = $_POST['password']; // въведената парола
 $sql="SELECT * FROM admins WHERE name='$user' and password='$password' ";
 $result=mysql_query($sql) or die(mysql_error());
 $count=mysql_num_rows($result);
 if($count==1)
 {
$_SESSION['admin'] = $user;
 header("location:index.php");
 }
 else{

  echo 'Greshka';
 exit; // прекратяваме изпълнението
 }

 }
 ?>

и после си проверяваш ако сесията админ съществува изкарваш кода който искаш да ти се показва.
 
$admin = (isset($_SESSION['admin'])) ? $_SESSION['admin'] : '';
<?php
if (isset($admin)){
echo "ти си админ";
}
else {
echo "бягай,ти не си админ.";
}
?>
 
със този код който си дал изкарването на админа така ли става:
Код:
Здравей <b><?php echo "$admin"; ?></b>
 
а кода за създаването на сесията-моят ли използваш който ти дадох или използваш твой?ако използваш твой го постни
 
Код:
	<?php
if(isset($_POST['submit'])){
 $user = $_POST['name']; // въведеното потребителско име
 $password = $_POST['password']; // въведената парола
 $sql="SELECT * FROM admins WHERE name='$user' and password='$password' ";
 $result=mysql_query($sql) or die(mysql_error());
 $count=mysql_num_rows($result);
 if($count==1)
 {
$user = mysql_fetch_assoc($result);
$_SESSION['admin'] = $user['name'];
 header("location:index.php");
 }
 else{

  echo 'Greshka';
 exit; // прекратяваме изпълнението
 }

 }
 ?>

пробвай да го промениш така

и после

Код:
$admin = (isset($_SESSION['admin'])) ? $_SESSION['admin'] : '';
$getUser = mysql_query("SELECT * FROM admins WHERE name='$admin'");
$Quser = mysql_fetch_array($getUser);

if (isset($admin)){
echo "Здравей $Quser['name']";
}
else {
echo "бягай,ти не си админ.";
}
?>
 
Код:
<?php
session_start();
if(isset($_POST['submit'])){
$user = $_POST['name']; 
$password = $_POST['password']; 
$sql=mysql_query("SELECT * FROM admins WHERE name='$user' and password='$password' LIMIT 1");
 if(mysql_num_rows($sql) == 1)
 {
$user = mysql_fetch_assoc($sql);
$_SESSION['admin'] = $user['name'];
 header("location:index.php");
 }
 else{
 echo 'Greshka';
 exit; 
 }
 }
 ?>


Код:
<?php
session_start();
$admin = $_SESSION['admin']; 
if (isset($admin)){
echo "Здравей $admin";
}
else {
echo "бягай,ти не си админ.";
}
?>
 

Back
Горе