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:
1<?php
2if(isset($_POST['heslo'])){
3    switch (trim($_POST['heslo'])) {
4        case "heslo1":
5            include "stranka1.php";
6            break;
7        case "heslo2":
8            include "stranka2.php";
9            break;
10    }
11}
12 
13echo '<form action="" method="post">heslo: <input type="password" name="heslo" /><button>Pirhlasit se</button></form> ';
14 
15?>
<?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í
1<?php
2session_start();
3if(isset($_POST["tlacitko"]))
4{
5$_SESSION["heslo"] = $_POST["heslo"];
6$heslo1 = '1234';
7$heslo2 = '1235';
8if($_POST["heslo"]==$heslo1){header("Location: stranka1.php");}
9if($_POST["heslo"]==$heslo2){header("Location: stranka2.php");}
10//sem třeba můžeš ještě přidat že pokud se nerovná ani jednomu z hesel vypíše se třeba "špatné heslo"
11}
12echo '<form action="" method="post">heslo: <input type="password" name="heslo" /> <input type="submit" name="tlacitko" value="Login" /></form> ';
13?>
<?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
1<?php
2session_start();
3if($_SESSION["heslo"] =='1234')
4{
5//Obsah pro přihlášeného
6}else{
7//Obsah pro nepřihlášeného
8}
9?>
<?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
1<?php
2session_start();
3if($_SESSION["heslo"] =='1234')
4{
5echo "<p>přihlášen stránka 1</p>";
6}else{
7echo "<p>NEPŘIHLÁŠEN</p>";
8}
9?>
<?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..

1<?php
2session_start();
3if($_SESSION["heslo"] =='1234')
4{
5?>
6<p>přihlášen stránka 1</p>
7<?php
8}else{
9?>
10<p>NEPŘIHLÁŠEN</p>
11<?php
12}
13?>
<?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.
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.

Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:


Běda vám, jestli to bude blábol.

0