Autor Zpráva
Marty19
Profil
tohle mam vlozeno v souboru index.html

<div id="content">
<div class="loginPanel"><form method="post"><table class="loginPanelTable"><tr><td class="loginPanelData"></td><td class="loginPanelData"></td></tr><tr><td class="loginPanelData">Login:</td><td class="loginPanelData">

<select name="login">
<option> admin

</select></td></tr><tr><td class="loginPanelData">Heslo:</td><td class="loginPanelData"><input type="password" name="heslo" size="5"></td></tr><tr><td class="loginPanelData"></td><td class="loginPanelData"><input type="submit" value="Přihlásit" size="9"></td></tr></table></form></div>



-kluci jak by se to dalo upravit, abych po zadani pouze jedineho pevne daneho hesla me to prihlasilo a zaroven presmerovalo na jinou html stranku, treba na index2.html? Mohl by mi to nekdo upravit? Nebo aspon poradit? Omlouvam se za spamovani, ale uz me to trapi dost dlouho. Dekuji
Taps
Profil
Marty19
v souboru, kde ověřuješ vstupní udaje nastav header("location:index2.php");
Smajda
Profil
já vždycky nastavím session a pak uživatele přesměruji na stránku uživatelského panelu pomocí headeru.... akorát nezapomeň pokud ti to bude házet chybu headers already sen..... tak musíš doplnit ob_start(); a ob_end_flush();
Marty19
Profil
Já koukám i na ostatní zdroje, ale tam všechno dělají s databází, připojování do ní apod. Já bych potřeboval, aby pri zadání pevně daného hesla ve zdrojovém souboru, třeba "ahoj" me to hodilo na stranku index2.php (jinak login mam defaultně daný). Mám zatím jen 2 soubory index.php (kde je pouze výše napsaný kod + nějaký ten vzhled stránky) a index2.php (v tomhle souboru mám akorát něco napsáno). Zatím mi jde o to přesměrování z index.php na index2.php při zadání hesla "ahoj". Mám vytvořit nějaký další soubor, nebo šlo by to udělat i jen s pomocí těchto dvou? Díky
joe
Profil
Doplníš action u formuláře.
<form method="post" action="index2.php">


A nahoru do index2.php můžeš dát nějaký takovýhle kód:
<?php
session_start();
if(isset($_POST['login'], $_POST['heslo']) && $_POST['login'] == 'admin' && $_POST['heslo'] == 'tvojeheslo' ) {
$_SESSION['logged'] = 1;
}

if($_SESSION['logged'] !== 1) {
die('Smůla.');
}

?>
tady nějaký zbytek co má vidět jen admin
Marty19
Profil
Přesně tohle jsem potřeboval, funguje to. Díky. Tedkom to funguje tak, že se přihlásím pevně napsaným heslem. Když je to heslo nesprávné, vypíše se: Smůla. Když je heslo správné a přihlásím se. Ale když jsem znova na stránce index.php a chci se přihlásit znova, tak at píšu cokoliv, přesměruje mě to vždycky na index2.php. Jak by se tohle dalo ošetřit, tedy pouze jednou zadat heslo (které je pevně dané ve zdrojáku), jinak nějaká hláška? Děkuji


EDIT: už jsem na to přišel, stačilo pouze napsat nahoru

<php?
session_destroy();
?>
joe
Profil
Ještě jsem zapomněl na jednu podmínku
if( (isset($_SESSION['logged']) && $_SESSION['logged'] === 1) || isset($_POST['login'], $_POST['heslo']) && $_POST['login'] == 'admin' && $_POST['heslo'] == 'tvojeheslo' ) {
$_SESSION['logged'] = 1;
}

V souboru index.php abys neviděl formulář si dej kód
<?php
if(isset($_SESSION['logged']) && $_SESSION['logged'] === 1) {
echo 'Přihlášen - <a href="index2.php">admin</a>';
} else { ?>
...formulář...
<?php } 
}?>
Marty19
Profil
Nějak takhle to mám doplněno v souboru index.php:


....
<div class="loginPanel">
<?php
if(isset($_SESSION['logged']) && $_SESSION['logged'] === 1) {
echo 'Přihlášen - <a href="index2.php">admin</a>';
} else { ?> 
<form method="post" action="index2.php"> <?php } 
?>
.....


Jedna složené závorka přebývá. A nějak nechápu co to má dělat, když to doplním, všechno je při starém. Tu podmínku jsem doplnil do index2.php a taky všechno jede jako by tam nebyla. K čemu slouží?
joe
Profil
No myslel jsem to tak, že v index.php budeš mít jen odkaz na administraci, pokud už budeš přihlášený, pokud ne, tak tam budeš mít formulář.

Ta podmínka co jsem doplnil do index2.php je proto, aby když se na stránku vrátíš - byl už přihlášený - tak aby jsi se po každé žádosti nemusel přihlašovat :)

Chyba je pravděodobně v tom, že v index.php chybí ještě na začátku řádek <?php session_start(); ?>
Marty19
Profil
Nádhera, už vím jak si to myslel, víš v čem byla chybka, že to nic nedělalo? Já tam měl v index2.phpnahoře dáno <php? session_destroy(); ?> Takhle amatérsky jsem řešil, abych nebyl natrvalo přihlášený a nikdo kromě mě pod libovolným heslem nešel na stránku index2.php :D. Díky.
Jinak mám další otázečku, když se přihlásím, hodí mě to na index2.php a když vrátím se zpátky (na stránce index2.php jsem si udělal hypertextový odkaz na index.php) na stránku index.php, tak nad "neviditelným" formulářem vidím hypertextově, že uživatel "admin" je přihlášený. Co kdybych se chtěl odhlásit, čili docílit znova toho, abych musel psát heslo a přesměrovat se na index2.php. Jak toho docílit?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0