Pomoc so skriptom

Programovacie jazyky, rady, poradňa...
zvukarmiso
Medium Expert
Medium Expert
Príspevky: 98
Registrovaný: 17 feb 2006, 19:17
Kontaktovať používateľa:

Pomoc so skriptom

Príspevok od používateľa zvukarmiso »

Zacinam sa ucit PHP a takto nejak som zvrzal tento script neviete mi poradit kde robim chybu:
tu su chyby:
Notice: Undefined variable: logout in c:\program files\easyphp1-8\www\heslo\include.php on line 18

Notice: Undefined variable: login in c:\program files\easyphp1-8\www\heslo\include.php on line 25

Notice: Use of undefined constant pwd - assumed 'pwd' in c:\program files\easyphp1-8\www\heslo\include.php on line 45

Notice: Undefined variable: logincookie in c:\program files\easyphp1-8\www\heslo\include.php on line 45
Notice: Undefined variable: PHP_SELF in c:\program files\easyphp1-8\www\heslo\login.php on line 11
tu je subor include.php

Kód: Vybrať všetko

<?

$user_passwords = array (

	"Admin" => "jojo", 
	"user3" => "password3",
	"user4" => "password4"
	);

$logout_page = "logout.php";

$login_page = "login.php";

$invalidlogin_page = "invalidlogin.php";



if ($logout)
{
	Setcookie("logincookie[pwd]","",time() -86400);
	Setcookie("logincookie[user]","",time() - 86400);
	include($logout_page);
	exit;
} 
if ($login)
{
	if (($loginname == "") || ($password == ""))
	{
		include($invalidlogin_page);
		exit;
	}
	else if (strcmp($user_passwords[$loginname],$password) == 0)
	{
		Setcookie("logincookie[pwd]",$password,time() + 86400);
		Setcookie("logincookie[user]",$loginname,time() + 86400);
	}
	else
	{
		include($invalidlogin_page);
		exit;
	}
}
else
{
	if (($logincookie[pwd] == "") || ($logincookie[user] == ""))
	{
		include($login_page);
		exit;
	}
	else if (strcmp($user_passwords[$logincookie[user]],$logincookie[pwd]) == 0)
	{
		Setcookie("logincookie[pwd]",$logincookie[pwd],time() + 86400);
		Setcookie("logincookie[user]",$logincookie[user],time() + 86400);
	}
	else
	{
		include($invalidlogin_page);
		exit;
	}
}
?>
index.php

Kód: Vybrať všetko

<?php include("include.php") ?>

<HTML>
<TITLE>Chránená stránka</TITLE>
<BODY>

<FONT FACE="arial, helvetica" SIZE=2>Toto je chránená stránka !<BR>
<A HREF="http://stranky" target="_blank">Administracny system</A><P>




<A HREF="<? echo $PHP_SELF ?>?logout">Odhlásit</A>

</FONT>
</BODY>
</HTML>
login.php

Kód: Vybrať všetko

<HTML>
<TITLE>Login </TITLE>
<BODY>
<FONT FACE="arial, helvetica" SIZE=2>
<FORM METHOD=post ACTION="<? echo $PHP_SELF ?>?login">
<B>Uživatelské meno:</B><BR>
<INPUT TYPE=text SIZE=30 NAME=loginname><BR>

<B>Heslo:</B><BR>
<INPUT TYPE=password SIZE=30 NAME=password><BR>
<? if (substr($PHP_SELF,-9) == "login.php") { echo "<P>Nejde zobrazit, soubor je chránený heslom!</P>"; } else { echo "<INPUT TYPE=submit VALUE=\"Login!\">"; } ?>
</FORM>
<em></em>
</BODY>
</HTML>
logout.php

Kód: Vybrať všetko

<HTML>
<TITLE></TITLE>
<BODY>
<FONT FACE="arial, helvetica" SIZE=2>Díky za tvou návštěvu!<P>
Klikněte <A HREF="<? echo $PHP_SELF ?>">zde</A> pro nové přihlášení.<P>

</BODY>
</HTML>
invalidlogin.php

Kód: Vybrať všetko

<HTML>
<TITLE>Login Page</TITLE>
<BODY>
<FONT FACE="arial, helvetica" SIZE=2>
<P><FONT COLOR="red"><B>Zle meno alebo heslo!</B><BR>Prosím skuste znovu.</FONT></P>

<FORM METHOD=post ACTION="<? echo $PHP_SELF ?>?action=login">
<B>Uživatelské jméno:</B><BR>
<INPUT TYPE=text SIZE=30 NAME=loginname><BR>

<B>heslo:</B><BR>
<INPUT TYPE=password SIZE=30 NAME=password><BR>

<INPUT TYPE=submit VALUE="Login!">
</FORM>

</BODY>
</HTML>
page2.php

Kód: Vybrať všetko

<? include("include.php"); ?>

<HTML>
<TITLE>Chráněná stránka</TITLE>
<BODY>
<FONT FACE="arial, helvetica" SIZE=2>Stránka 2<BR>
<A HREF="index.php">Kliknite na prechod k indexu</A><P>




<A HREF="<? echo $PHP_SELF ?>?logout">Odhlásenie</A>

</FONT>
</BODY>
</HTML>
Prílohy
heslo.zip
(2.7 KiB) 49 stiahnutí
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

To je asi starý skript. Fungoval by iba pri zapnutom register_globals.
Aby to fungovalo, budeš musieť napr. zmeniť $logout na $_GET['logout'] a $loginname na $_POST['loginname'] (takých zmien tam bude treba urobiť viac).
zvukarmiso
Medium Expert
Medium Expert
Príspevky: 98
Registrovaný: 17 feb 2006, 19:17
Kontaktovať používateľa:

Príspevok od používateľa zvukarmiso »

chrono napísal:To je asi starý skript. Fungoval by iba pri zapnutom register_globals.
Aby to fungovalo, budeš musieť napr. zmeniť $logout na $_GET['logout'] a $loginname na $_POST['loginname'] (takých zmien tam bude treba urobiť viac).
Register golabas zapnut nemozem vies mi poradit ak to mam spravit ??
Aby mi to fungovalo ?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Už so ti to písal:
Všetky premenné, ktoré sa odovzdávajú pomocou GET musíš zmeniť na:
$_GET['logout']
a tie, čo so posielajú pomocou POST na:
$_POST['loginname']
a nakoniec tie čo sa posielajú pomocou COOKIE na:
$_COOKIE['nieco']
zvukarmiso
Medium Expert
Medium Expert
Príspevky: 98
Registrovaný: 17 feb 2006, 19:17
Kontaktovať používateľa:

Príspevok od používateľa zvukarmiso »

MOze mi to niekto upravit ja som to upravil uz vseliako a nijak mi to nejde
Dakujem
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

len som to upravil, aby to fungovalo, tak ako to bolo vymyslené
Prílohy
heslo2.zip
(2.42 KiB) 66 stiahnutí
zvukarmiso
Medium Expert
Medium Expert
Príspevky: 98
Registrovaný: 17 feb 2006, 19:17
Kontaktovať používateľa:

Príspevok od používateľa zvukarmiso »

chrono napísal:len som to upravil, aby to fungovalo, tak ako to bolo vymyslené
Velmi pekne dakujem
Napísať odpoveď