Autor Zpráva
johnl
Profil
Dobrý den,
potřeboval bych radu.. Jak mám udělat formulář ve kterém bude tento kód:
<?php if($_GET["heslo"] != "00000"): ?>
    <!--přihlaąovací formulář -->
    <form>
        Zadej heslo: <input type="password" name="heslo">
        <input type="submit">
    </form>
<? else: ?>
    Tajný kód...
<? endif ?>
? Tak abych měl dva inputy
<input type="radio"  name="puntik" value="horni">

A když si vyberu ten první tak formulář odeslat nepůjde (popřípaě mě to přesměruje na jinou stránku).. Ale když ten druhý tak půjde formulář odeslat? Doufám že to jde ;-) Děkuji za radu..
Pesulap
Profil
Mno určitě to jde ale moc jsemnepochopil co jsi nám chtěl popsat ..
prosím upřesni
Díky
johnl
Profil
No, takže.. Budu mít formulář.. Bude začínat těmi zaškrtávacími políčky
<input type="radio"  name="puntik" value="horni">
celkem tam budou dvě ty políčka.. Pod něma bude tento php skript
<?php if($_GET["heslo"] != "00000"): ?>
    <!--přihlaąovací formulář -->
    <form>
        Zadej heslo: <input type="password" name="heslo">
        <input type="submit">
    </form>
<? else: ?>
    Tajný kód...
<? endif ?>
(ten jistě znáte.. Je na zobrazení určitého obsahu po zdání správného hesla.).. A celé by to mělo fungovat tak že já když bych zaškrtl to první políčko (kde by bylo nesouhlasím s podmínkami) a správně vyplním heslo, tak se formulář prostě neodešle (popřípadě mi nerozbalí to co se má zobrazit a přesměruje mě na jinou stránku). No a pokud zaškrtnu to dolní políčko (kde bude souhlasím s podmínkami), zadám správné heslo, tak se formulář odešle a tím se mi zobrazí ten tajný obsah.. Doufám že jsem to dost srozumitelně popsal :-)
fajzen
Profil
<?php
    if(isset($_POST["suhlas"]) && $_POST["suhlas"] != "ano"):
        Header("Location: http://uplne_ina_stranka.cz");
        exit;
    elseif(!isset($_POST["heslo"]) || $_POST["heslo"] != "00000"): ?>
    <!--přihlaąovací formulář -->
    <script>
        function kontrola()
        {
             if(document.formular.suhlas.value != "ano") {
                 location.href= "http://uplne_ina_stranka.cz";
                 return false;
             }
             return true;
         }
      </script>

    <form method="post" onsubmit="return kontrola();" name="formular">
        Súhlas: <input type="radio" name="suhlas" value="nie" checked="checked"> nie
                     <input type="radio" name="suhlas" value="ano"> ano<br />
        Zadej heslo: <input type="password" name="heslo">
        <input type="submit">
    </form>
<? else: ?>
    Tajný kód...
<? endif ?>
johnl
Profil
Děkuji za snahu.. Ale kód nějak nefunguje, nebo spíš asi nevím jak ho nastavit?? No, ukázka je zde: Tady.. Heslo je: 00000

<?php
    if(isset($_POST["suhlas"]) && $_POST["suhlas"] != "ano"):
        Header("Location: 00.php");
        exit;
    elseif(!isset($_POST["heslo"]) || $_POST["heslo"] != "00000"): ?>
    <!--přihlaąovací formulář -->
    <script>
        function kontrola()
        {
             if(document.formular.suhlas.value != "ano") {
                 location.href= "00.php";
                 return false;
             }
             return true;
         }
      </script>

    <form method="post" onsubmit="return kontrola();" name="formular">
        Souhlasíte: <input type="radio" name="suhlas" value="nie" checked="checked"> ne
                     <input type="radio" name="suhlas" value="ano"> ano <br>
        Zadejte heslo: <input type="password" name="heslo">
        <input type="submit">
    </form>
<? else: ?>
    Tajný kód...
<? endif ?>


Takhle jsem si nastavil ten kód druhej problém ale je že i když heslo zadám správně nevypíše se mi ten "Tajný kód"
Alphard
Profil
<?php if(isset($_POST['souhlas'] ) && isset($_POST["heslo"]) && $_POST['souhlas'] == "ano" && $_POST["heslo"] == "00000"): ?>
    Tajný obsah
<?php else: ?>
    <!--přihlašovací formulář -->
    <form method="post">
        Souhlasíte s podmínkami? 
        <input type="radio"  name="souhlas" value="ano"> Ano
        <input type="radio"  name="souhlas" value="ne"> Ne<br>
        Zadej heslo: <input type="password" name="heslo">
        <input type="submit">
    </form>
<?php endif; ?>
fajzen
Profil
johnl
Problém bol v tom javascripte. Ak ho tam nemusíš mať, sprav to ako ti radí Alphard
Ak na ňom trváš, skús toto:
<?php
    if(isset($_POST["suhlas"]) && $_POST["suhlas"] != "ano"):
        Header("Location: 00.php");
        exit;
    elseif(!isset($_POST["heslo"]) || $_POST["heslo"] != "00000"): ?>
    <!--přihlaąovací formulář -->
    <script>
        function kontrola()
        {
             if(!document.getElementById("suhlasi").checked) {
                 location.href= "00.php";
                 return false;
             }
             return true;
         }
      </script>

    <form method="post" onsubmit="return kontrola();">
        Souhlasíte: <input type="radio" name="suhlas" value="nie" checked="checked"> ne
                     <input type="radio" name="suhlas" value="ano" id="suhlasi"> ano <br>
        Zadejte heslo: <input type="password" name="heslo">
        <input type="submit">
    </form>
<? else: ?>
    Tajný kód...
<? endif ?>
johnl
Profil
Alphard
Děkuji, ten kód je přesně to co potřebuji.. ;-)

fajzen
Já jsem použilkód od fajzen a tam javascript byl ale použiji rači verzi bez js, takže děkuji za rady.
Toto téma je uzamčeno. Odpověď nelze zaslat.