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

vladislav

Registered
Код:
<? 
session_start(); 
$_SESSION['username'] = $username; 
if (isset($HTTP_SESSION_VARS['username'])) 
{ 
echo "Здравейте, $username! <br>Това е вашия личен профил.<br><br>Потребителско име: $username<br>Парола: $password<br>Емейл: $email" ;
} else { echo "Нямате достъп до тази страница!"; 

exit; 
} 
?>

Как да направя така че да се показват и паролата и имейла , а не само името. Мисля че трябва да се въведе горе не само ussername а и password i t.n.
 
Код:
<? 
session_start(); 
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;

if (isset($HTTP_SESSION_VARS['username'])) 
{ 
echo "Здравейте, $username! <br>Това е вашия личен профил.<br><br>Потребителско име: $username<br>Парола: $password<br>;
} else { echo "Нямате достъп до тази страница!"; 

exit; 
} 
?>

Ето така става слага се това:$_SESSION['password'] =
$password;

Обаче става само с тези неща които са попълнени в формата за вход .
Засега незнам как става да показва и имайл
 
Имай предвид, че скрипта няма как да знае eMail-a на потребителя ако
той не го попълнил някъде.

Сесията се използва за разпознаване на потребителя, който вече се е логнал по някакъв начин.

Процедурата е следната:
Влиза потребителя и попълва логин формуляра.
Натсюиска "Send" и праща данните на скрипт който проверява дали
наистина има такъв потребител с такава парола.
Ако всичко е наред тогава се пуска сесиина променива.
Чрез сесията ще могат другите скриптове да го разпознават без да
се налага да се логва повече.

Данните за потребителя се съхраняват в някаква база данни.
Може да ги извлечеш и да му ги покажеш.

Въпроса ти не е правилно зададен и ми е трудно да ти отговоря
конкретно.
Обясни точно какво правиш и какво целиш да постигнеш и ще
ми е по лесно да ти дам отговор.
 
Значи направих всичко до тука потребителя се регистрира с име, парола и имейл и тези данни се запазват в базата данни. Искам като се логне с името и паролата да има линк към страница която е профила на потребителя и там има името му паролата и имейла. За името и паролата го направих обаче за имейла как? Няма май да стане с просто извличане от базата данни...
 
vladislav каза:
Значи направих всичко до тука потребителя се регистрира с име, парола и имейл и тези данни се запазват в базата данни. Искам като се логне с името и паролата да има линк към страница която е профила на потребителя и там има името му паролата и имейла. За името и паролата го направих обаче за имейла как? Няма май да стане с просто извличане от базата данни...


Напротив...
Става с просто извличане от база данни.

Нали говориш за MySQL база данни а не за текстов файл?

Дай кода на файловете да го разгледам.
 
Формата за регистрация
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title></title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"></head>
<body>
<table width="150"><tr><td align="center"><form method="post" action="register.php"><p align="center">Регистрация</p>
Потребителско име:<br><input type="text" name="username"><br>
Парола:<br><input type="password" name="password"><br>
E-mail Адрес:<br><input type="text" name="email"><br>
<input type="submit" value="Изпрати"><br><br><font size="2" color="red"><i>Всияки полета са задължителни! Моля попълнете ги!</i></font>
</form></td></tr></table>
</body>
</html>

Скрипта за регистрацията
Код:
<?php
$usrename=$_POST['username'];
$password=$_POST['password'];
$email=$_POST['email'];
?>
<?php
if($username and $password and $email)
{$connect=@mysql_connect("localhost", "root", "") or die("Грешка");
$var=@mysql_select_db('registracia', $connect) or die ("Грешка");
$zaiavka="insert into potrebiteli (username, password, email) values (\"$username\", \"$password\", \"$email\")";
$var=mysql_query($zaiavka, $connect);
if($var)
{echo("Регистрацията ви завърши успешно! Вашетп потребителско име е $username, паролата ви е $password, a Емаил adresa e $email!
За да влезете с потребителското си име и парола натиснете <a href=login.html>Тук</a>");}
}
?>

Логин скрипта (взет отчасти от тук)
Код:
<? 
session_start(); 
?> 
<?PHP 
if($_POST['login'] == 1) 
{ 
$username = $_POST['username']; 
// кодиране на паролата s md5() ако при регистрацията е махнато и тук задължително трябва да с емахне 
$password = $_POST['password']; 

// Свързване с MySQL 
$connect =$connect=@mysql_connect("localhost", "root", "") or die("Грешка"); 

// Връзка с базата за данни 
@mysql_select_db("registracia") or die ( 'Грешка' ); 

// Запитване към MySQL 
$query = mysql_query("SELECT * FROM potrebiteli WHERE username = '$username' AND password = '$password' LIMIT 1"); 


// Ако са грешни паролата или потребителското име, няма намерен резултат 
if(mysql_num_rows($query) == 0) 
{ 
echo "Грешна парола или потребителско име!"; 
} 
else 
{ 
$row = mysql_fetch_array($query); 
echo "Здравейте ".$row['username']."! Приятно сърфиране! 


"; 
echo "<br><a href=profile.php>NEXT</a>"; 
} 
} 
else 
{ 
session_register('username'); 
$_SESSION['username'] = $username; 
?> 
<html> 
<head> 
<title>Login</title> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
</head> 
<body> 
<form name="form1" method="post" action=""> 
<input name="login" type="hidden" value="1"> 
<table width="200" border="0"> 
<tr> 
<td>Потребител</td> 
<td><input type="text" name="username"></td> 
</tr> 
<tr> 
<td>Парола</td> 
<td><input type="password" name="password"></td> 
</tr> 
<tr align="center"> 
<td colspan="2"><input type="submit"  value="Влез"></td> 
</tr> 
</table> 
</form> 
</body> 
</html> 
<? 
} 
?>

Профила
Код:
<? 
session_start(); 
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
if (isset($HTTP_SESSION_VARS['username'])) 
{ 
echo "Здравейте, $username! <br>Това е вашия личен профил.<br><br>Потребителско име: $username<br>Парола: $password<br>";
} else { echo "Нямате достъп до тази страница!"; 

exit; 
} 
?>
 
Код:
<?
session_start();
if (isset($HTTP_SESSION_VARS['username']))
{
$username=$HTTP_SESSION_VARS['username'];
$connect =$connect=@mysql_connect("localhost", "root", "vladi") or die("Грешка"); 
@mysql_select_db("registracia") or die ( 'Грешка' ); 

$query="SELECT * from potrebiteli where username like '$username";
$result=mysql_query($query);
mysql_close();

$user=mysql_result($result,0,"username");
$pass=mysql_result($result,0,"password");
$email=mysql_result($result,0,"email");




echo "Здравейте, $user! <br>Това е вашия личен профил.<br><br>Потребителско име: $user<br>Парола: $pass<br>
email: $email
";




} else { echo "Нямате достъп до тази страница!";

exit;
}

?>


Така трябва да е.
 
Как така?
С който потребител си се логнал трябва неговия профил да показва.
 
В логин скрипта имаш редове:

else
{
$row = mysql_fetch_array($query);
echo "Здравейте ".$row['username']."! Приятно сърфиране!



Под тях напиши следното:

$HTTP_SESSION_VARS['username']= $row['username'];



После по надолу имаш:

session_register('username');
$_SESSION['username'] = $username;

тези редове не разбирам за какво са.
Трябва да се махнат .

Има много объркани неща в тези скриптове и трябва да ги прегледам и да
ги оправя.
 
Логин скрипта:

<?
session_start();
?>
<?PHP
if($_POST['login'] == 1)
{
$username = $_POST['username'];
// кодиране на паролата s md5() ако при регистрацията е махнато и тук задължително трябва да с емахне
$password = $_POST['password'];

// Свързване с MySQL
$connect =$connect=@mysql_connect("localhost", "root", "") or die("Грешка");

// Връзка с базата за данни
@mysql_select_db("registracia") or die ( 'Грешка' );

// Запитване към MySQL
$query = mysql_query("SELECT * FROM potrebiteli WHERE username = '$username' AND password = '$password' LIMIT 1");


// Ако са грешни паролата или потребителското име, няма намерен резултат
if(mysql_num_rows($query) == 0)
{
echo "Грешна парола или потребителско име!";
}
else
{
$row = mysql_fetch_array($query);
echo "Здравейте ".$row['username']."! Приятно сърфиране!";
$HTTP_SESSION_VARS['username']= $row['username'];

echo "<br><a href=profile.php>NEXT</a>";
}
}
else
{
?>
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form name="form1" method="post" action="">
<input name="login" type="hidden" value="1">
<table width="200" border="0">
<tr>
<td>Потребител</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Парола</td>
<td><input type="password" name="password"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="Влез"></td>
</tr>
</table>
</form>
</body>
</html>
<?
}
?>
 

Back
Горе