Autor Zpráva
matesek
Profil *
našel jsem si na internetu login :

login.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//cs" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">                                                        
  <HEAD>                                                                                         
    <META http-equiv="Content-Type" content="text/html; charset=windows-1250">	                                                                                                                
  </HEAD>                                                    
  <BODY> 
<form action="auth.php" method="post">
  <p>Jméno : 
    <input name="user" type="text" id="user">
    Heslo : 
    <input name="pass" type="text" id="pass">
    <input type="submit" name="Submit" value="Login">
  </p>
</DIV>

</form>
</body>
</html>


auth.php :


<?
if 
( $user == matesek && $pass == internet ) ||
( $user == martisek && $pass == litli ) {
echo "<center>success<br><a href=\"login.html\">Reload</a></center>";
}
else
echo "<center>Zkuste znovu<br><form action=\"auth.php\" method=\"post\">
  <p>Jméno : 
    <input name=\"user\" type=\"text\" id=\"user\">
    Heslo : 
    <input name=\"pass\" type=\"text\" id=\"pass\">
    <input type=\"submit\" name=\"Submit\" value=\"Login\">
  </p></form></center>";
?>


Ale mám problém , že mi to píše , že mám chybu v auth.php on line 3 a myslím si , že by to mohlo být tím if ( && ) || ( && ) . Je to tak správně , nebo to má být jinak ?
Mastodont
Profil
$user == "matesek" && $pass == "internet"

atd.
matesek
Profil *
pořád to hlásí to samé .
jso
Profil *
matesek a samozřejmě $user == "martisek" && $pass == "litli"
Radek9
Profil
if 
( $user == "matesek" && $pass == "internet"  || $user == "martisek" && $pass == "litli" ) {

Teď přesně nevím jestli to není to samé, ale zkus to takto. Já vždycky dávám or do závorek.
Matty
Profil
Radek9
Tohle je taky blbost.
Správně, tedy aspoň v tomhle případě, je to takto:
if (( $user == 'matesek' && $pass == 'internet' ) || ( $user == 'martisek' && $pass == 'litli' )) {

Tedy že celá podmínka ifu musí být v závorkách + zachovat logiku.
matesek
Profil *
dla jsem to celé do závorky a funguje to . Díky moc .
Radek9
Profil
Matty:
Ale je to blbost, která funguje.
matesek:
Jinak. Pokud chceš dělat více lidí, tak je lepší použít in_array.
Matty
Profil
Radek9
Ale je to blbost, která funguje.
Je to blbost, protože nefunguje tak, jak má. Podle toho kódu by se totiž mohl uživatel "matesek" přihlásit s heslem "litli" a uživatel "martisek" pod heslem "internet".
Možná by v tom kódu stačilo vyměnit || za OR, ale tím si nejsem stoprocentně jist.

edit: Dobře, teď jsem zase já napsal blbost
Radek9
Profil
Matty:
Nemohl. Já jsem to jednou testoval a opravdu to nešlo. Je to prostě po pořadě.
matesek
Profil *
a rád bych dodal otázku , jak se to dá přesměrovat na jinou stránku ( jestli že se zadá správně jméno a heslo , objevila by se nějaké stránka , např. index.html ) ?Jeden pokus byl , ale nefunguje :

<?
if 
(( $user == "matesek" && $pass == "internet" ) ||
( $user == "martisek" && $pass == "litli" ) )
{
echo window.location.href="index.html" ;
else
echo { setTimeout("window.location.href="login.html()", 12000"); } >
  <p>Jméno : 
    <input name=\"user\" type=\"text\" id=\"user\">
    Heslo : 
    <input name=\"pass\" type=\"password\" id=\"pass\">
    <input type=\"submit\" name=\"Submit\" value=\"Login\">
  </p></form></center>";
?>
Matty
Profil
matesek
Nemíchej dohromady JavaScript a PHP. Pro přesměrování použij
header('Location: index.html');

Nicméně při přihlašování by bylo lepší řešit to nějak jinak (např. includováním), aby se tam člověk nedostal i bez přihlašování.
Radek9
Profil
Co to je za kód? Jak chceš takhle kombinovat JS a PHP? To nejde. Jak psal Matty. Dej si tam header.
Chamurappi
Profil
Reaguji na mateska:
Nebylo by lepší přečíst si nějaký návod a naučit se alespoň základy syntaxe jazyka, než začneš něco tvořit? Nebo snad předpokládáš, že ti tu někdo bude opravovat každou syntaktickou chybu?
matesek
Profil *
a mohly by jste mě nějak navést k tomu , jak to udělat přes header ? Já umím základy HTML a zbytek se pomalu učím , ale zatím to vůbec neumím .
Chamurappi
Profil
Reaguji na mateska:
jak to udělat přes header ?
Viz [#12].

zbytek se pomalu učím , ale zatím to vůbec neumím
Je zbytečné se ptát, pokud víš, že neporozumíš odpovědi.
matesek
Profil *
„jak to udělat přes header ?“
Viz [#12].


omlouvám se , nemyslel jsem Header , ale includování .

Je zbytečné se ptát, pokud víš, že neporozumíš odpovědi.

Něco chápu , ale když mi někdo dá nějaký vzor , tak si to někdy i dodělám ke svému , potřebuju trochu nakopnout a doufám , že to tímto způsobem pochopím celé . Neznám kódy , ale když je vidím , tak vím co dělají .

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: