Pereiti prie turinio

Prisijungimas su SESSION's


Rekomenduojami pranešimai

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 :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose
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ų.

Taip ir nesupratau tavo problemos, bet pora bendrų patarimų:

1. Nenaudok bbž iš kur ištrauktų skriptų.

2. Gal jau metas pradėti naudoti kokį frameworką? Bus ir MVC (nebegaliu žiūrėt į PHP maišymą su HTML po to, kai su frameworkais susipažinau :D), ir kokia nors paruošta Auth sistema :)

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ačiū už patarimus. Bėje, noriu, kad prisijungus vaikštant po visą puslapį nuo vartotojo paskyros neatsijungtų.

 

P.S - Esu pradedantysis, su PHP dirbantis mažai dar laiko, todėl ir ištraukiau iš kažkur skriptą, nes pačiam nepavyko to padaryti :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Daug nesigininant mano nuomone ten slamsto priformuota. Framework nenaudočiau, manyčiau geriau paimti tau primtina TVS, ar foruma ir išnaudoti jo autorizacija.

Frameworkai visi mano nuomone blogis, su jais galutinai bus susikta windows sistema.

Kaip seniau sakydavo svietas sviestuotas.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Daug nesigininant mano nuomone ten slamsto priformuota. Framework nenaudočiau, manyčiau geriau paimti tau primtina TVS, ar foruma ir išnaudoti jo autorizacija.

Frameworkai visi mano nuomone blogis, su jais galutinai bus susikta windows sistema.

Kaip seniau sakydavo svietas sviestuotas.

O prie ko Windows? :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

prie topacio windows framework .net puciasi

panaudos autorius koki fw - pusis

o jo programa gal ne

tai kam to reikia???

 

Kokio dar windows framework .net... :D Čia kalbama apie php framework'us tokius kaip Codeigniter ar Kohana.

Redagavo Lapinskis
Nuoroda į pranešimą
Dalintis kituose puslapiuose

man nesuvokiama kaip issipucia operacines sistemos, windows vista - slamstas ir viskas toliau slamstas

reikia atrinkti kuo skubiau nelabai reikalingas funkcijas

Framework vystisis savo linkme, tavo programa savo, geriau butu be framework, o jei naudoti framework tai imesti nereikalingas dalis ir nenaujinti framework o tik uzpachinti trukumus.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...