Autor Zpráva
tomikpb
Profil
Ahoj všem, mám prosbu. Dá se v PHP udělat, abych zadaným heslem určil, na kterou stránku mě to pošle, ale zároveň ta stránka nebyla přístupná bez zadaného hesla.
http://sablony.hyps.cz/php-skripty/zaheslovani-vice-stranek.php
Jako tady, ale abych tam měl 2 hesla a každý mě směrovalo na jinou stránku. Předem díky za pomoc
Beavis
Profil
tomikpb:
Stačí přidat jednoduchou podmínku.
akali
Profil *
if pass1 = heslo1
location stránka1.php

if pass2 = heslo2
location stránka1.php
slovakCZ
Profil
jeste velmi, ale velmi jednoduchy konkretni priklad:
<?php
if(isset($_POST['heslo'])){
	switch (trim($_POST['heslo'])) {
		case "heslo1":
			include "stranka1.php";
			break;
		case "heslo2":
			include "stranka2.php";
			break;
	}
}

echo '<form action="" method="post">heslo: <input type="password" name="heslo" /><button>Pirhlasit se</button></form> ';

?>
Alphard
Profil
O hashování hesel jste neslyšeli?
Darker
Profil
Teď už jo. K čemu je to dobré?
panther
Profil
Darker:
že by bezpečnost?
Darker
Profil
No koukal jsem na to, ale asi jsem to nepochopil.
Ledaže by to byla nesymetrická šifra, pak by to dávalo smysl.
panther
Profil
Darker:
není to šifra, je to hash. Hash se od šifry liší tím, že je jednosměrný (šifra obousměrná -> jde dešifrovat).
D@w!d
Profil *
slovakCZ:

tohle je dobré :)
dá se nějak udělat, aby když vstoupím heslem na tu danou stránku, tak aby už se tam nezobrazoval ten formulář?
tomikpb
Profil
slovakCZ:
Jasně, tohle funguje, ale když si zadám přímo adresu, tak mě to tam bez problémů pustí. Takže pokud má někdo staré heslo a ví název stránky, tak se mi tam v pohodě dostane přímo.
tomikpb
Profil
akali:
Nejsem v tom zrovna profík, mohl bys to napsat pro blbce? Dík
johnl
Profil
tomikpb:
Při přihlašování vytvoř ještě session např. s tím heslem a na té stránce ověřuj podmínkou jestli v tom sessionu je správné heslo.. Jak to s těmi sessiony udělat můžeš okoukat např. z nějakého návodu.. A nebo ti to někdo napíše sem.. ;-)
tomikpb
Profil
johnl:
To mám, ale funguje mi to na jedno heslo a jednu stránku, ale já to potřebuju udělat na 2 hesla. Aby mě každý směrovalo na jinou stránku.
johnl
Profil
tomikpb:
Nudím se a tak mi to nedá.. Proto ti to napíšu.. Je na to spousta způsobů jak to udělat, tohle je jeden z těch nejjednoduších..

zpracování
<?php
session_start();
if(isset($_POST["tlacitko"]))
{
$_SESSION["heslo"] = $_POST["heslo"];
$heslo1 = '1234';
$heslo2 = '1235';
if($_POST["heslo"]==$heslo1){header("Location: stranka1.php");}
if($_POST["heslo"]==$heslo2){header("Location: stranka2.php");}
//sem třeba můžeš ještě přidat že pokud se nerovná ani jednomu z hesel vypíše se třeba "špatné heslo"
}
echo '<form action="" method="post">heslo: <input type="password" name="heslo" /> <input type="submit" name="tlacitko" value="Login" /></form> ';
?>
stranka1.php
<?php
session_start();
if($_SESSION["heslo"] =='1234')
{
//Obsah pro přihlášeného
}else{
//Obsah pro nepřihlášeného
}
?>
tomikpb
Profil
johnl:
Hele dík za snahu, ale píše mi to nějakou chybu, a to sem tam doplnil jen text. kdyžtak koukni http://kory.tk.sweb.cz
stranka1.php a
stranka2.php
hesla jsou ty tvoje.
tomikpb
Profil
tomikpb:
<?php
session_start();
if($_SESSION["heslo"] =='1234')
{
<p>přihlášen stránka 1</p>
}else{
<p>NEPŘIHLÁŠEN</p>
}
?>
toto je stránka 1
johnl
Profil
Nemůžeš jen tak do php kódu vložit HTML, buť takto
<?php
session_start();
if($_SESSION["heslo"] =='1234')
{
echo "<p>přihlášen stránka 1</p>";
}else{
echo "<p>NEPŘIHLÁŠEN</p>";
}
?>

Nebo druhá možnost, kód přerušit..

<?php
session_start();
if($_SESSION["heslo"] =='1234')
{
?>
<p>přihlášen stránka 1</p>
<?php
}else{
?>
<p>NEPŘIHLÁŠEN</p>
<?php
}
?>
tomikpb
Profil
johnl:
Super, už mi to šlape, dík moc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0