Autor | Zpráva | ||
---|---|---|---|
Martin02 Profil |
zdravim…
chtěl jsem si udělat na můj web, jednoduchý heslovaný přístup. Jen tak, že by se na začátku zobrazil formulář, čtenář zadal heslo a uviděl by obsah stránky. Něco takového jsem zkoušel udělat, ale nefungovalo to. Prosím napište mi proč. <?php echo '<form action="index.php" method="post"> <p>Heslo! <input type="password" name="pass" size="15" maxlength="12" /></p> <br /> <input type="submit" value="odeslat" /> </form>'; $pass=$HTTP_POST_VARS[pass]; if($pass==xxx) { echo '<p>Přihlášení úspěšné</p>'; } ?> děkuji Moderátor panther: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
_Daffy Profil |
#2 · Zasláno: 14. 11. 2010, 15:27:08
<?php echo '<form action="index.php" method="post"> <p>Heslo! <input type="password" name="pass" size="15" maxlength="12" /></p> <br /> <input type="submit" name="dale" value="odeslat" /> </form>'; if(isset($_POST["dale"])){ $pass=$_POST["pass"]; if($pass=="xxx") { echo '<p>Přihlášení úspěšné</p>'; } } ?> |
||
Martin02 Profil |
#3 · Zasláno: 14. 11. 2010, 15:37:09
a když to mam teda takhle
<?php echo '<form action="index.php" method="post"> <p>Heslo! <input type="password" name="pass" size="15" maxlength="12" /></p> <br /> <input type="submit" name="dale" value="odeslat" /> </form>'; if(isset($_POST["dale"])){ $pass=$_POST["pass"]; if($pass=="xxx") { include "funkce.php"; head(); echo '<title>Webcars</title>'; hlavicka(); lcd(); ucod(); paticka(); } } ?> jak mam udělat, aby se po zadání správného hesla ten formulář vymazal? |
||
_Daffy Profil |
#4 · Zasláno: 14. 11. 2010, 15:39:38 · Upravil/a: _Daffy
<?php if(isset($_POST["dale"])){ $pass=$_POST["pass"]; if($pass=="xxx"){ include "funkce.php"; head(); echo '<title>Webcars</title>'; hlavicka(); lcd(); ucod(); paticka(); } }else{ echo '<form action="index.php" method="post"> <p>Heslo! <input type="password" name="pass" size="15" maxlength="12" /></p> <br /> <input type="submit" name="dale" value="odeslat" /> </form>'; } |
||
Martin02 Profil |
#5 · Zasláno: 14. 11. 2010, 15:44:38
promiň, ale jak je teď celý ten kód?
já nevim kam to mám vložit |
||
_Daffy Profil |
#6 · Zasláno: 14. 11. 2010, 15:44:59
vždiť jsem ti napsal celý kód :)
|
||
Martin02 Profil |
#7 · Zasláno: 14. 11. 2010, 15:45:57
jo, asi si to tam vložil, při tom co jsem psal tu zprávu :)
|
||
Martin02 Profil |
#8 · Zasláno: 14. 11. 2010, 15:55:00
už sem na to přišel.
Já tam pořád strkám něco navíc a proto mi to nejde, ale teď už jo. mockrát dík, a ještě mohl bys mi prosím vysvětlit tohle? co na tom co znamená, proč takhle atd.? if(isset($_POST["dale"])){ $pass=$_POST["pass"]; |
||
_Daffy Profil |
#9 · Zasláno: 14. 11. 2010, 15:58:08
if(isset($_POST["dale"])) = pokračování, pokud odešle name="dale" ..pokud ne tak nic ..tedy ve tvém případě má name="dale" <input submit.
$pass=$_POST["pass"] = jednoduchá definice metody POST, odeslaná hodnota name="pass" ( ve tvém případě <input name="pass" ...jak sis definoval ) |
||
Martin02 Profil |
#10 · Zasláno: 14. 11. 2010, 16:04:51
a prosimtě, když čtenář do formuláře něco napíše, jaká proměná z toho vyleze? někde jsem četl, že to co napíše je $HTTP_POST/GET_VARS[jmeno_promenne];
z toho jsem předtím vycházel |
||
_Daffy Profil |
#11 · Zasláno: 14. 11. 2010, 16:09:16 · Upravil/a: _Daffy
jsou to superglobalni proměnné ( $HTTP_GET_VARS, $HTTP_POST_VARS .... ) $_POST , $_GET .. jsou jejich kratší varianty, které lze použit od verze 4.1 tuším..ale jinak je to celkem jedno ...
tedy,, využiti je u obou stejné, ale ja používám $_POST ..proto jsem ti to přepsal .. |
||
Martin02 Profil |
#12 · Zasláno: 14. 11. 2010, 16:12:46
jj dík
tu jsem objevil chybu: čtenář zadá heslo a prohlíží stránku. Když ťukne na odkaz, který odkazuje na v mém případě index.php, znovu se objeví formulář. Jak tomu zabránit? |
||
panther Profil |
#13 · Zasláno: 14. 11. 2010, 16:13:41
Martin02:
nastuduj si něco o sessions. |
||
_Daffy Profil |
#14 · Zasláno: 14. 11. 2010, 16:14:31
to není chyba, to je už zase o něčem jiném, tys chtěl pouze po zadání hesla aby zmizel formulář..nato musíš použít cookie / session ..
|
||
Martin02 Profil |
#15 · Zasláno: 14. 11. 2010, 16:19:15
hm
taky jsem o tom něco četl, ale to zatím necháme být... MOCKRÁT VÁM DĚKUJI! |
||
Majkl578 Profil |
#16 · Zasláno: 14. 11. 2010, 18:55:46
[#12] _Daffy:
„ale jinak je to celkem jedno …“ Jednot o není, je to závislé na konfiguraci register_long_arrays , která musí být on , dále jde o deprecated a od další verze odstraněnou věc. Neuváděj tu prosím nepravdivé informace.
|
||
Časová prodleva: 13 let
|
0