| 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: 15 let
|
|||
0
).