Autor Zpráva
monkeys
Profil *
Ahoj

mam jednoduchy kod na porovnavanie spravneho hesla pre dalsi pristup do stranok

<?php
$h="heslo";
$vypis=NULL;
if(isset($_POST['odosli'])){
	if(strlen($heslo)>0 && $heslo==$h){
	header("Location: vznik.php");
}else{
	$vypis="<p style=\"color:red; text-align:center;\";>Zadajte prosím správne heslo</p>";
}}

?>


na localhoste mi to funguje ale ked to dam na server tak to hlasi nespravne heslo aj ked ho zadam spravne neviete mi poradit ?

dakujem
AM_
Profil
kde se bere $heslo? asi by tam mělo být $_POST['heslo'], na localhostu máš zaplé register_globals.
monkeys
Profil *
Heslo je stabilne napisane. Ide mi len o overenie toho
$h
ci sa rovna jeho obsahu.
$heslo==$h
chyba je v tomto urcite len neviem kde.

Moderátor Majkl578: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
monkeys
Profil *
&heslo
je textovy formular
name="heslo"
LosFilipos
Profil
monkeys:
Jak psal AM_, musí tam být
if($_POST["heslo"]==$h)
na localhostu to funguje, když napíšeš jen $heslo, protože jsou zapnuté register_globals, což dělá to, že místo $_POST["heslo"] nebo $_GET["heslo"] stačí napsat $heslo. Na hostingu to nefunguje z bezpečnostních důvodů.

Další věc, ta část podmínky se
strlen($heslo)>0
je naprosto zbytečná, neboť pokud se má $_POST["heslo"] rovnat $h, musí být vždy delší než nula...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0