Autor Zpráva
RastyAmateur
Profil
Dobrý večer,

prosím o radu, mám:
    <?php
      $pass = $_POST['heslo'];
      $password = "heslo"; //tajné heslo
        if ($pass == $password): 
......
    ?>

jak mám udělat, aby ty hesla mohla být dvě?

Díky
DarkMeni
Profil
A na oba hesla se má povolit přístup ke stejný stránce (nebo se má pro jiný heslo zobrazit jiný obsah)?
Třeba přes pole:
<?php
  $heslo = $_GET["heslo"];
  $mozna_hesla = array(
    "heslo1",
    "heslo2",
    "heslo3"
   );
   if( !in_array($heslo, $mozna_hesla) )
   {
       exit("Nespravne heslo");
   }
?>
RastyAmateur
Profil
Má to být na stejnou stránku, ano. Jde o přidávání novinek na web, a v případě vyplnění "heslo1" se pak podepíše jako (např.) "Agent 007" avšak v případě hesla2 by se podepsal jako "pepek námořník".

<?php  
      if ($_POST['heslo'] = heslo1) $autor = "Agent 007"
?>
    <?php  
      if ($_POST['heslo'] = heslo2) $autor = "Pepek námořník"
?>
jenikkozak
Profil
Pro porovnávání se používá operátor ==. Jeden znak „rovná se“ přiřazuje hodnotu.
Řetězce se píší do uvozovek nebo apostrofů.
Na konci příkazu se píše středník.
RastyAmateur
Profil
Jsem sem napsal jen tak narychlo ;)


Již jsem si poradil, děkuji všem za pokusy :-)
DarkMeni
Profil
RastyAmateur:
Má to být na stejnou stránku, ano. Jde o přidávání novinek na web, a v případě vyplnění "heslo1" se pak podepíše jako (např.) "Agent 007" avšak v případě hesla2 by se podepsal jako "pepek námořník".

Takže něco jako identifikace uživatele před odesláním příspěvku

To jde udělat docela jednoduše zase přes asociativní pole:

<?php
  $heslo = md5($_POST["heslo"]);
  $jmeno = $_POST["jmeno"];
  
  $uzivatele = array(
    md5("heslo1") => "Agent 007",
    md5("heslo2") => "pepek námořník"
  );
  
  if( !isset($uzivatele[ $heslo ]) or $uzivatele[$heslo] != $jmeno)
  {
    exit("Nespavne heslo nebo jmeno");
  }
  
  $author = $uzivatele[$heslo];
?>
To hashování přes md5 je v tomto případě možná zbytečný, zajistí jen to, že klíče v poli budou mít pokaždý stejnou délku (mysim že 32 znaků)

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