Autor Zpráva
xfida
Profil
Dobrý den,
napsal jsem si tento php script apotrebuji ho skontrolovat, protoze nefunguje.
 <?php
if($_POST["jmeno"] == sima)
    {if($_POST["heslo"] ==heslo{Header("Location: http://www.exmaple.org"};}?>
Je to pro prihlaseni uzivatele sima s heslem heslo, pozdeji tam bude jese elseif kde bude dalsi uzivatel.
Predem dekuji
Kajman
Profil
Používáte konstanty místo stringů a hlavně máte maglajz v závorkách.
xfida
Profil
Kajman:
 <?php
if($_POST["jmeno"] == "sima")
    {if($_POST["heslo"] =="heslo"{Header("Location: http://www.exmaple.org")};}?>
Je to takhle lepsi?
Kajman
Profil
Kde končí závorka za druhým if?

Použijte editor, který na takové chyby upozorní.
Keeehi
Profil
xfida:
Je to takhle lepsi?
Lepší, ale ne úplně správné. Kromě té chybějící koncové závorky máš tam ještě špatně středník.

No a ještě jedna věc. Tohle úplně přihlášení není. Tohle je jen nějaké podmíněné přesměrování. Což znamená, že když někdo uhodne* tu adresu www.exmaple.org a napíše ji do svého prohlížeče tak se mu zobrazí aniž by musel znát jméno a heslo. Takže za přihlášení se to moc považovat nedá.

*Ve spoustě případů to hádat nemusí. URL adresa se přenáší a zůstává na spoustě míst.
xfida
Profil
Keeehi:
Paraď mi prosím , jak to vyřešit lépe.
Tomášeek
Profil
xfida:
Google nefunguje? Scriptů na přihlášení se povaluje všude hafo.
blaaablaaa
Profil
xfida:
Zjednodusene napriklad takto:
<?php
session_start();
if( $_POST["jmeno"] == 'sima' && $_POST["heslo"] =='heslo' ) {
   $_SESSION["prihlasen"] = true;
   header("Location: tajnysoubor.php");
   exit;
}

tajnysoubor.php
<?php
session_start();
if ( !isset($_SESSION["prihlasen"]) ) {
    die("Tady nesmis!");
}

if ( isset($_GET["odhlas"]) ) {
   unset($_SESSION["prihlasen"]);
   header("Location: ./");
   exit;  
}
//zbytek souboru

A pomoci <a href="tajnysoubor.php?odhlas">odhlasit se</a> se uzivatel odhlasi
xfida
Profil
blaaablaaa:
dekuju
Keeehi
Profil
Při nepřihlášení se spíše používá přesměrování na přihlašovací stránku.
if ( !isset($_SESSION["prihlasen"]) ) {
   header("Location: prihlaseni.php");
   exit;
}

Hezčí by to bylo ještě s nějakou hláškou která člověku vysvětlí proč tam byl přesměrován ale pro jednoduchost se to dá vynechat.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0