PHP a input presmerovanie
-
scriptType
Medium Expert
- Príspevky: 110
- Registrovaný: 22 feb 2011, 19:34
PHP a input presmerovanie
Zdravim.
Chcem spraviť textove políčko, kde keď užívateľ zadá správny text, resp. správne heslo, presmeruje ho to na nejakú stránku. Ak zadá zlé heslo, vyskočí chybové hlásenie. Ako by ste to riešili?
Chcem spraviť textove políčko, kde keď užívateľ zadá správny text, resp. správne heslo, presmeruje ho to na nejakú stránku. Ak zadá zlé heslo, vyskočí chybové hlásenie. Ako by ste to riešili?
-
94jakub
Guru wannabe
- Príspevky: 2037
- Registrovaný: 15 dec 2006, 13:18
- Bydlisko: Martin/BA
- Kontaktovať používateľa:
Re: PHP a input presmerovanie
Neviem či je to úplne bezpečné ale:
overíš text, ak je správny presmeruješ ak nie tak hodíš cez JS alert.
A potom v tej presmerovanej stránke môžeš overiť ešte raz
a ak je zlé(alebo nieje zadané, čo sa stane ak na tú stránku niekto priamo pôjde) tak sa vrátiš na tú prvú.
Neskôr dám nejaký krátky kód ak ma nikto nepredbehne.
overíš text, ak je správny presmeruješ ak nie tak hodíš cez JS alert.
A potom v tej presmerovanej stránke môžeš overiť ešte raz
a ak je zlé(alebo nieje zadané, čo sa stane ak na tú stránku niekto priamo pôjde) tak sa vrátiš na tú prvú.
Neskôr dám nejaký krátky kód ak ma nikto nepredbehne.
-
S.T.E.A.L.T.H
Light Professional
- Príspevky: 933
- Registrovaný: 31 jan 2010, 14:44
- Bydlisko: Pegasus Galaxy
Re: PHP a input presmerovanie
Nieco take
alebo
Kód: Vybrať všetko
<!-- index.html -->
<html>
<body>
<form action="./action.php" method="post">
<table>
<tr><td>Text</td><td><input type="text" name="variable"></td></tr>
<tr><td></td><td><input type="submit" value="Send"></td></tr>
</body>
</html>
Kód: Vybrať všetko
<?php
#
# action.php
#
if(!empty($_POST['variable']))
{
$test = 'correct'; //string
$variable = $_POST['variable'];
if($variable == $test)
{
header("location:tvojastranka.php");
}
else if($variable != $test): ?>
<script language="javascript">
if(confirm('Nespravne heslo'))
{
window.location = 'http://google.sk';
}
else
{
window.location = 'http://google.sk';
}
</script>
<?php endif;
}
?>
Kód: Vybrať všetko
<?php
#
# action.php
#
if(!empty($_POST['variable']))
{
$test = 'correct'; //string
$variable = $_POST['variable'];
if($variable == $test)
{
header("location:tvojastranka.php");
}
else if($variable != $test): ?>
<script language="javascript">
alert('Nespravne heslo');
window.location = 'http://google.sk';
</script>
<?php endif;
}
?>
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: PHP a input presmerovanie
ten javascript je celkom funny 
-
scriptType
Medium Expert
- Príspevky: 110
- Registrovaný: 22 feb 2011, 19:34
Re: PHP a input presmerovanie
Ďakujem moc
Skúsim. A dalo by sa tam, už na tú presmerovanú stránku, dorobiť funkcia, že pokiaľ nieje s predošlej stránky napísané heslo, tak ho na tú stránku nepustí? Lebo potom keby beriem iba heslo s nejakým presmerovaním potom by si mohol hocikto znova otvoriť odkaz ktorý mal po napísaní hesla. Je na to niečo? Do php a js sa moc nevyznám, zajtra idem kupovať literatúru
Prepáčte že otravujem.
//autoeditácia príspevku (21 Apr 2011, 9:57)
Super. Funguje to v pohode
Ďakujem moc. Len ešte tú podmienku overenia na tej strane kde ho presmeruje po tom čo zadá správne heslo...
//autoeditácia príspevku (21 Apr 2011, 9:57)
Super. Funguje to v pohode
-
94jakub
Guru wannabe
- Príspevky: 2037
- Registrovaný: 15 dec 2006, 13:18
- Bydlisko: Martin/BA
- Kontaktovať používateľa:
Re: PHP a input presmerovanie
Upravené z toho scriptu čo sem dal S.T.E.A.L.T.H
a ešte raz môžeš dať jednu podmienku na overenie hesla.
Kód: Vybrať všetko
if(empty($_POST['variable'])) {header("location:tvojastranka.php");}
Kód: Vybrať všetko
$text=$_POST['variable'];
if($text!='tvoj text') {header("location:tvojastranka.php");}
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: PHP a input presmerovanie
tým pádom je tam celá tá podmienka if(!empty($_POST['variable'])) zbytočná
-
94jakub
Guru wannabe
- Príspevky: 2037
- Registrovaný: 15 dec 2006, 13:18
- Bydlisko: Martin/BA
- Kontaktovať používateľa:
Re: PHP a input presmerovanie
hej hej potom mi to napadlo.
A len aby bolo jasné tá tvojastranka.php v mojom prípade je pôvodná stránka.
Imho keď už sme pri tom.
Nedal by sa celý ten S.T.E.A.L.T.H-ov script hodiť na tú cieľovú stránku s tým, že ak by nesúhlasilo heslo presmerovalo by na prvú stránku? Potom by nemusel mať ten action.php a ešte ďalšie podmienky na tej stránke. Myslím že by to bolo jednoduchšie.
Otázne je, či nevadí, že ide na tú stránku aj keď je heslo zlé. (Myslím kvôli bezpečnosti)
A len aby bolo jasné tá tvojastranka.php v mojom prípade je pôvodná stránka.
Imho keď už sme pri tom.
Nedal by sa celý ten S.T.E.A.L.T.H-ov script hodiť na tú cieľovú stránku s tým, že ak by nesúhlasilo heslo presmerovalo by na prvú stránku? Potom by nemusel mať ten action.php a ešte ďalšie podmienky na tej stránke. Myslím že by to bolo jednoduchšie.
Otázne je, či nevadí, že ide na tú stránku aj keď je heslo zlé. (Myslím kvôli bezpečnosti)
-
S.T.E.A.L.T.H
Light Professional
- Príspevky: 933
- Registrovaný: 31 jan 2010, 14:44
- Bydlisko: Pegasus Galaxy
Re: PHP a input presmerovanie
Neviem ci si myslel toto, ale skus
Kód: Vybrať všetko
<?php
#
# action.php
#
session_start();
if(!empty($_POST['variable']))
{
$test = 'correct'; //string
$variable = $_POST['variable'];
if($variable == $test)
{
$_SESSION['pristup'] = rand(100,999);
header("location:tvojastranka_spravne_heslo.php");
}
else if($variable != $test): ?>
<script language="javascript">
alert('Nespravne heslo');
window.location = 'index.html';
</script>
<?php endif;
}
else
{
header("location:index.html");
}
?>Kód: Vybrať všetko
<?php
#
# tvojastranka_spravne_heslo.php
#
session_start();
if(!empty($_SESSION['pristup'])): ?>
<html>
<body>
<h1>Tvoj WEB</h1>
</body>
</html>
<?php endif;
if(empty($_SESSION['pristup']))
{
header("location:index.html");
}
?>
-
94jakub
Guru wannabe
- Príspevky: 2037
- Registrovaný: 15 dec 2006, 13:18
- Bydlisko: Martin/BA
- Kontaktovať používateľa:
Re: PHP a input presmerovanie
Myslel som to trochu inak ale asi by to tiež fungovalo.
Možno som to vlastne myslel ale zjednodušene.
Toto by bol form:
A toto tá zaheslovaná stránka:
Miesto toho header by sa dal dať ten javascript.
Poprípade na tú druhú stránku ešte pridať session v prípade, že by tam bolo viac podstránok.
Možno som to vlastne myslel ale zjednodušene.
Toto by bol form:
Kód: Vybrať všetko
<form action="zaheslovana_stranka.php" method="post">
<input type="text" name="heslo"/>
<input type="submit" value="Ďalej"/>
</form>
Kód: Vybrať všetko
<?php
$heslo='tvoje heslo';
$text=$_POST['heslo'];
if ($text==$heslo) {include "obsah_stranky.php";}
else header("location:index.php"); ?>
Poprípade na tú druhú stránku ešte pridať session v prípade, že by tam bolo viac podstránok.
-
S.T.E.A.L.T.H
Light Professional
- Príspevky: 933
- Registrovaný: 31 jan 2010, 14:44
- Bydlisko: Pegasus Galaxy
Re: PHP a input presmerovanie
To bola otazka na autora temy, moja chyba
94jakub
takto nejako?
94jakub
takto nejako?
Kód: Vybrať všetko
<?php
#
# index.php
#
if(empty($_POST['variable'])):
?>
<html>
<body>
<form action="./index.php" method="post">
<table>
<tr><td>Text</td><td><input type="text" name="variable"></td></tr>
<tr><td></td><td><input type="submit" value="Send"></td></tr>
</body>
</html>
<?php endif;
if(!empty($_POST['variable']))
{
$test = 'correct'; //string
$variable = $_POST['variable'];
if($variable == $test)
{
include_once('content.php');
}
else if($variable != $test): ?>
<script language="javascript">
alert('Nespravne heslo');
window.location = 'index.php';
</script>
<?php endif;
}
?>Kód: Vybrať všetko
<!-- content.php -->
<html>
<body>
<h1>Tvoj WEB</h1>
</body>
</html>-
94jakub
Guru wannabe
- Príspevky: 2037
- Registrovaný: 15 dec 2006, 13:18
- Bydlisko: Martin/BA
- Kontaktovať používateľa:
Re: PHP a input presmerovanie
Hej aj takto by sa to dalo. Ty si to dal všetko do jednej stránky.
Ja som mal na mysli:
z prvej stránky by si s heslo išiel na druhú. Na tej by sa overilo či je správne. Ak hej tak zobrazí druhú stránku a ke nesprávne tak ťa vráti na prvú.
Myslím, že to je už jedno. nemusíme si tu vymienať scripty. Asi by fungoval každý.
Autor témy si môže aspoň vybrať.
Ja som mal na mysli:
z prvej stránky by si s heslo išiel na druhú. Na tej by sa overilo či je správne. Ak hej tak zobrazí druhú stránku a ke nesprávne tak ťa vráti na prvú.
Myslím, že to je už jedno. nemusíme si tu vymienať scripty. Asi by fungoval každý.
Autor témy si môže aspoň vybrať.
-
scriptType
Medium Expert
- Príspevky: 110
- Registrovaný: 22 feb 2011, 19:34
Re: PHP a input presmerovanie
Presne tak ako si napísal 94jakub
. Veľká vďaka za pomoc.