Reklama 400x60
PHP: Prisijungimas su SESSION's
Faitas.
Narys
Generolas
Pranešimai: 1038
Įstojęs: 2010 Geg. 27 17:05:35
Sveiki. Radau prisijungimą su sesijomis. Tik dabar atsirado dar viena problema. Vaikščiojant po profilį ( member-profile.php ), pagrindinį vartotojo vaizdą( member-index.php ). Noriu, kad vaikščiojant po Pagrindinį (index.php), registraciją (registration-form.php) ir išviso visur, ir kad neatsijungtų.
Bandžiau ir su setcookies ir su sesijomis kažką daryti, visur kišau, ir į prisijungimo tikrinimą, ir visur, bet nepavyksta. Kodas:
login-form.php:
<?php
include ( "config.php" ) ;
echo "<title>Prisijungimas</title>" ;
Navigacija( ) ;
echo "
<br />
<form id='loginForm' name='loginForm' method='post' action='login-exec.php'>
<table width='300' border='0' cellpadding='2' cellspacing='0'>
<tr>
<td width='112'><b>Vartotojo vardas</b></td>
<td width='188'><input name='login' type='text' class='textfield' id='login' /></td>
</tr>
<tr>
<td><b>Slaptažodis</b></td>
<td><input name='password' type='password' class='textfield' id='password' /></td>
</tr>
<tr>
<td> </td>
<td><input type='submit' name='Submit' value='Prisijungti' /></td>
</tr>
</table>
</form>
" ;
?>
login-exes.php:
<?php
include ( "config.php" ) ;
echo "<title>Klaida prisijungiant</title>" ;
Navigacija( ) ;
session_start ( ) ;
require_once ( 'config2.php' ) ;
$errmsg_arr = array ( ) ;
$errflag = false ;
function clean( $str ) {
$str = @ trim ( $str ) ;
if ( get_magic_quotes_gpc ( ) ) {
$str = stripslashes ( $str ) ;
}
return mysql_real_escape_string ( $str ) ;
}
$login = clean( $_POST [ 'login' ] ) ;
$password = clean( $_POST [ 'password' ] ) ;
if ( $login == '' ) {
$errmsg_arr [ ] = 'Vartotojas nerastas' ;
$errflag = true ;
}
if ( $password == '' ) {
$errmsg_arr [ ] = 'Slaptazodis nerastas' ;
$errflag = true ;
}
if ( $errflag ) {
$_SESSION [ 'ERRMSG_ARR' ] = $errmsg_arr ;
session_write_close ( ) ;
header ( "location: login-form.php" ) ;
exit ( ) ;
}
$qry = "SELECT * FROM members WHERE login='$login ' AND passwd='" . md5 ( $_POST [ 'password' ] ) . "'" ;
$result = mysql_query ( $qry ) ;
if ( $result ) {
if ( mysql_num_rows ( $result ) == 1 ) {
session_regenerate_id ( ) ;
$member = mysql_fetch_assoc ( $result ) ;
$_SESSION [ 'SESS_MEMBER_ID' ] = $member [ 'member_id' ] ;
$_SESSION [ 'SESS_FIRST_NAME' ] = $member [ 'firstname' ] ;
$_SESSION [ 'SESS_LAST_NAME' ] = $member [ 'lastname' ] ;
session_write_close ( ) ;
header ( "location: member-index.php" ) ;
exit ( ) ;
} else {
header ( "location: login-failed.php" ) ;
exit ( ) ;
}
} else {
die ( "Tokio vartotojo nėra" ) ;
}
?>
login-failed:
<?php
include ( "config.php" ) ;
echo "<title>Nepavyko prisijungti</title>" ;
Navigacija( ) ;
echo "
<h1>Nepavyko prisijungti</h1>
<h4 class='err'>Nepavyko prisijungti!<br />
Prašome patikrinti jūsų vartotojo vardą ir slaptažodį</h4>
" ;
?>
Jei dar įdomu, tai member-profile ir member-index:
member-profile.php:
<?php
require_once ( 'auth.php' ) ;
include ( "config.php" ) ;
echo "<title>Vartotojo profilis</title>" ;
Navigacija( ) ;
$id = $_SESSION [ 'SESS_MEMBER_ID' ] ;
$result = mysql_query ( "SELECT * FROM members WHERE member_id='$id '" ) ;
echo "<h1>Mano profilis</h1>" ;
if ( mysql_num_rows ( $result ) > 0 )
{
while ( $row = mysql_fetch_array ( $result ) )
{
echo "<div id='visas'>" ;
echo "<div id='vidus'>" ;
if ( $row [ 'firstname' ] == '' or $row [ 'firstname' ] == 'Nera' or $row [ 'firstname' ] == 'Nėra' )
{
echo "<div class='vardas'>Vardas: Neapibūdintas</div>" ;
}
else
{
echo "<div class='vardas'>Vardas: $row[firstname] </div>" ;
}
if ( $row [ 'lastname' ] == '' or $row [ 'lastname' ] == 'Nera' or $row [ 'lastname' ] == 'Nėra' )
{
echo "<div class='pavarde'>Pavardė: Neapibūdinta</div>" ;
}
else
{
echo "<div class='pavarde'>Pavardė: $row[lastname] </div>" ;
}
if ( $row [ 'age' ] == '' or $row [ 'age' ] == 'Nera' or $row [ 'age' ] == 'Nėra' )
{
echo "<div class='amzius'>Amžius: Neapibūdintas</div>" ;
}
else
{
echo "<div class='amzius'>Amžius: $row[age] </div>" ;
}
if ( $row [ 'location' ] == '' or $row [ 'location' ] == 'Nera' or $row [ 'location' ] == 'Nėra' )
{
echo "<div class='vieta'>Vieta: Neapibūdinta</div>" ;
}
else
{
echo "<div class='vieta'>Vieta: $row[location] </div>" ;
}
if ( $row [ 'skype' ] == '' or $row [ 'skype' ] == 'Nera' or $row [ 'skype' ] == 'Nėra' )
{
echo "<div class='skype'>SkypeNAME: Neapibūdintas</div>" ;
}
else
{
echo "<div class='skype'>SkypeNAME: <a href='skype:$row[skype] '><span style='color:#99CC00'>$row[skype] </span></a></div>" ;
}
if ( $row [ 'login' ] == '' )
{
echo "<div class='linfo'>Prisijungimo vardas: Neapibūdintas</div>" ;
}
else
{
echo "<div class='linfo'>Prisijungimo vardas: $row[login] </div>" ;
}
echo "</div></div>" ;
}
}
else
{
echo "<span style='color:#414141; font-family: Arial'>Nerasta jūsų informacija</span><br /><br />" ;
}
echo "<a href='member-index.php'><span style='color:#99CC00; font-family: Arial'>Grįšti atgal</span></a><br />
<a href='logout.php'><span style='color:#99CC00; font-family: Arial'>Atsijungti</span></a>" ;
?>
member-index.php:
<?php
require_once ( 'auth.php' ) ;
include ( "config.php" ) ;
echo "<title>Vartotojo panelė</title>" ;
Navigacija( ) ;
echo "<h1>Sveiki atvykę " . $_SESSION [ 'SESS_FIRST_NAME' ] . ".</h1>" ;
echo "<a href='member-profile.php'><span style='color:#99CC00; font-family: Arial'>Mano profilis</span></a><br />
<a href='member-change.php'><span style='color:#99CC00; font-family: Arial'>Redaguoti profilį</span></a><br />
<a href='logout.php'><span style='color:#99CC00; font-family: Arial'>Atsijungti</span></a>
" ;
?>
Jei galit, pasakykit kaip tai padaryti
avice
Narys
Terminatorius
Pranešimai: 1441
Įstojęs: 2010 Bir. 25 20:06:33
nesupratau klausimo ;D
bet galbut kiekviename faile dedi:
require_once('auth.php');
include("config.php");
Faitas.
Narys
Generolas
Pranešimai: 1038
Įstojęs: 2010 Geg. 27 17:05:35
Nu pas mane dabar, kai prisijungi, būna, kad nueini tarkim į Profilis, grįšti atgal viskas ok, dar neatsijungęs, paspaudi Pagrindinis ir iškarto atsijungia. Aš noriu, kad vaikštant po visur nuo vartotojo neatsijungtų.
Mantas_
Narys
Antras po Dievo
Pranešimai: 4009
Įstojęs: 2008 Geg. 30 21:05:48
Į kurį failą nuėjus atjungia?
Į kurį failą nuėjus atjungia?
Faitas.
Narys
Generolas
Pranešimai: 1038
Įstojęs: 2010 Geg. 27 17:05:35
Nuėjus į visus, išskyrus member-index.php ir member-profile.php atsijungia automatiškai
Peršokti į forumą:
Žaliems
Nebeegzistuojančios svetainės
Bendri PHP-F klausimai
WordPress
Kiti PHP, HTML, MySQL klausimai
Expert PHP, MySQL klausimai
Kitos TVS
C#, Python, Java, JS, C++ klausimai
Naujų modų pristatymai
Mods, Panels & Infusions
Themes
Jūsų saitai
Dalinuosi, dovanoju!
Klausimai apie domenus ir hostingus
VPS/DS serverių konfigūravimas ir valdymas
Viskas apie skaitliukus, top'us ir lankomumą
Dizaino konkursai
Parduodu - perku dizainą, banerį
Parduodu - perku - keičiuosi reklama
Parduodu - perku domeną, tinklapį
Siūlau - ieškau hostingo/VPS serverio
Parduodu - perku skriptą, modifikaciją, tvs
Socialiniai tinklai - Facebook ir kiti
Legalus verslas, teisiniai klausimai
Visa kita kas susiję su darbu ir pinigais
LTStartups.com - Lietuvos startuolių bendruomenė
Off-Topic diskusijos
IT naujienos
Portalo informacija
Narių pasiūlymai
Geležis ir programinė įranga
Grafika
Out Of Place
Su e-verslu nesusijęs darbas ir prekyba
Dalinuosi, dovanoju!