Autor Zpráva
perwin
Profil
Ahoj,
vyrobil jsem si PHP script do souboru, který má za úkol pustit na registraci jen návštěvníky, kteří znají heslo.
Stránka reg_pred.php:
<div id="pwm">

<br>
   <form action="index.php?page=reg_pred" method="post">
        Vlož heslo pro vstup na registraci:
        <input type="password" name="prvt">
        <input type="submit" name="send" value="Vstoupit na registraci">
   </form>

</div>
<?php
               
  $prvt = 'prvt' ; //  $prvt je obsah inputu prvt

    if($prvt!="heslo"){ // jestliže $prvt není 'heslo'...
      header ("Location: index.php?page=reg_pred"); // přesměruj na 'index.php?page=reg_pred' - na stejnou stránku
    }
else {  // jinak..           
      
 header ("Location: index.php?page=registrace"); // přesměruj na 'index.php?page=registrace' -  - chyba je ze se nic nestane

 }
?>


Problém je, že i když tam zadám správné heslo, což je heslo, tak to nic neudělá... návštěvník zůstane na stránce reg_pred.php. Děkuji
panther
Profil
perwin:
na 13. řádku přiřazuješ proměnné $prvt hodnotu „prvt“, která se samozřejmě nikdy nebude rovnat „heslo“.
perwin
Profil
panther:
A jak mám udělat, aby se
$prvt
rovnalo obsahu inputu prvt?
Keeehi
Profil
$prvt = $_POST['prvt']; //  $prvt je obsah inputu prvt

PS. a co když rovnou do adresy napíšu tvojestranka.cz/index.php?page=registrace ?
panther
Profil
perwin:
po odeslání formuláře metodou post jsou data v poli $_POST.
Enyeus
Profil
$prvt = $_POST['prvt'];

//Edit - pozdě
perwin
Profil
Keeehi,panther,Enyeus:
Děkuji, ale stále mám problém, že ten script mě stejně nikam po vyplnění správného hesla nepřesměruje. Poraďte prosím. Děkuji
perwin
Profil
Keeehi:
PS. a co když rovnou do adresy napíšu tvojestranka.cz/index.php?page=registrace ?
Ano, i to mě napadlo... jak to vyřešit?

Napadlo mě toto přímo na stránky registrace.php:
<?  $heslovstup = $_POST['heslovstup'];
      if ($heslovstup=='heslo') { 
?>        

<table><td>
... formulář registrace ...
</td>
</table>

<? } else { ?>

   <form action="index.php?page=registrace" method="post">
        <br> Heslo:
        <input type="password" name="heslovstup">
        <input type="submit" value="Vstoupit">
   </form>

<?
        }
?>

Ale nefunguje to....
Beavis
Profil
perwin:
Kontrolovat REFERER, použít cookies / session a ověřovat to dál, možností je více :-).
Keeehi
Profil
K [#7]: Přesměrování (header) nefunguje (vznikne chyba), pokud je před tou funkcí už nějaký výstup. V tvém případě řádek 1-10 ([#1]).

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: