Jump to content
php.lv forumi

Recommended Posts

Posted (edited)

šodien pārisntalēju OS no Win7 uz Ubuntu 9.10 un mēģināju ielogoties savā saitā, bet neizdodas :/

 

logina kods:

if(isset($_GET["action"]) && $_GET["action"] == "login")
{
if(isset($_POST["name"]) && isset($_POST["pass"]) && $_POST["name"] != "" && $_POST["pass"] != "")
{
	$user1 = html(strtolower($_POST["name"]));
	$user = str_replace(" ","_",$user1);
	$parole = md5($_POST["pass"].'xxx');
	$k = mysql_query("SELECT * FROM useri WHERE username='$user' AND password='$parole'");
	$f = mysql_fetch_array($k);
	$stat = $f["status"];
	$idl = $f["username"];
		if(mysql_num_rows($k) == 1)
		{
			if($stat != "0")
			{
			$_SESSION['admins'] = $stat;
			}
		mysql_query("UPDATE useri SET online='Y' WHERE username='$idl'");
		$_SESSION["user"] = $idl;
		header('Location: '.$_SERVER['HTTP_REFERER'].'');
		}
		else
		{
		header('Location: http://filmam.lv/jaunumi');
		}
}
else
{
header('Location: http://filmam.lv/jaunumi');
}
}

 

un vieta kur ir logns:

<?
if($_SESSION["user"] != '')
{
?>
menu
<?
}
else
{
?>
logina forma
<?
}
?>

Edited by eT`
Posted

Nu tad sāc ar mazumiņu...pārbaudi vai sessijas tiek izveidotas...

Nu tip izveido 2-vus falus.

 

test1.php

 

session_start();
$_SESSION['test'] = "Ir OK";
echo '<a href="test2.php">Next Page</a>';

 

test2.php

session_start();
echo $_SESSION['test'];

 

Un tādā garā visus datus pārbaudi, vai tie tiek saņemti un vai tiek padoti...

Posted (edited)

nju tad jādebugo step by step, kas strādā un kas nestrādā...

iekš $_SESSION kkas vsp saglabājas starp requestiem? (pēc f5)

 

 

 

hmm tīri no loģikas šīs 3 rindas

$f = mysql_fetch_array($k);
$stat = $f["status"];
$idl = $f["username"];

vajadzēja likt iekš

if(mysql_num_rows($k) == 1) {

bet tas tā ;)

Edited by 2easy
Posted (edited)

jā pārliku un sapratu kapēc ;]]

kapēc izpildīt, ja nezin vai rezultāts vispār būs pozitīvs :)

 

tamm pārbaudīju un viņš neizpilda šo daļu:

 

<?
$user1 = html(strtolower($_POST["name"]));
	$user = str_replace(" ","_",$user1);
	$parole = md5($_POST["pass"].'ahujennasaltrinda');
	$k = mysql_query("SELECT * FROM filmu_useri WHERE username='$user' AND password='$parole'");
		if(mysql_result($k,0) == 1)
		{

}
?>

 

it kā netiek izselektēts users.

pamēģināju uzlikt aizmirsu paroli, un ielogoties ar to ko man atsūta uz e-pastu.

ielogoties izdevās, bet netiek saglabāts kukijs id un tapēc nekur tālāk netieku :D

zinu, zinu labāk tīri uz sesijām, bet viss ar laiku.

kapēc Ubuntu saglabā GARMSESSID kukiju bet id nesaglabā? :/

 

EDIT: viņs pēc katra refresha lapai, kur pieprasa kukiju saglabā cepumu ch_cookie WTF?

 

uztaisiju print_r sesijai un ieguvu:

Array ( [admins] => [user] => 78.84.248.11 )

bet jābūt

Array ( [admins] => 5 [user] => doublet )

Edited by eT`
Posted (edited)

tāmmm izņēmu vispār no weba kukiju saglabāšanu un lietošanu, un tagad it kā ielogošanās ir kārtībā.

bet nav skaidrs kapēc saglabā pie katra refresha kaut kādu ch_cookie. kas tas tāds ir?

+ man sesijā saglabā useri bet statusu nesaglabā :/

 

pārveidotais logins:

<?
if(isset($_GET["action"]) && $_GET["action"] == "login")
{
if(isset($_POST["name"]) && isset($_POST["pass"]) && $_POST["name"] != "" && $_POST["pass"] != "")
{
	$user1 = html(strtolower($_POST["name"]));
	$user = str_replace(" ","_",$user1);
	$parole = md5($_POST["pass"].'xxx');
	$k = mysql_query("SELECT * FROM filmu_useri WHERE username='$user' AND password='$parole'");
		if(mysql_result($k,0) == 1)
		{
		$f = mysql_fetch_array($k);
		$stat = $f["status"];
		$idl = $f["username"];
			if($stat != "0") { $_SESSION['admins'] = $stat; }
		mysql_query("UPDATE filmu_useri SET online='Y' WHERE username='$idl'");
		$_SESSION["user"] = $idl;
		header('Location: '.$_SERVER['HTTP_REFERER'].'');
		}
		else
		{
		header('Location: http://filmam.lv/jaunumi');
		}
}
else
{
header('Location: http://filmam.lv/jaunumi');
}
}
?>

statuss DB glabājas kā enum('0','1','2','3','4','5')

 

EDIT: izņēmu to fetch_array pirms mysql_result un viss notiek :D kapēc tā? un tas ch_cookie ar vairs nesaglabājas vairākas reizes, bet tikai vienu reizi :)

Edited by eT`
Posted

lol, gan fetch, gan mysql_result() abi pabīda uz priekšu iekšējo mysql pointeri uz nākošo rindu :D:D:D

tāpēc izmanto tikai vienu funkciju! tad jau laikam 1x fetcho ārā masīvu un ņem vajadzīgos laukus ;)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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

Loading...
×
×
  • Create New...