Autor Zpráva
luma64
Profil
Zdravím, na základe výberu z radiobuttonu vytváram php kódom v tej istej stránke zápis údajov do nového rtf súboru. Do vytvoreného súboru sa však zapíše hneď v úvode aj časť - formulár s radiobuttonmi a tiež s tlačítkom submit. Ako pls zabrániť vypísaniu prvkov formu do vytváraného rtf ? Okrem tohto nedostatku mám všetko vypísané ako potrebujem.
Takáto je postupnosť v kóde:

1.
<form....>
    <b>Hot</b><label><input name="vrat_typ" type="radio" value="hot"</label>
    <b>Prv</b><label><input name="vrat_typ" type="radio" value="prv"</label>
</form>
<input type="submit"  value="Výber" name="submit"/>
[pre]
.
.

2.

[pre]
 nejaky select

//parametre vytvarania suboru
$filename = "dohoda_".$priezvisko.".rtf";
header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=$filename");
.
.
zapis do rtf
Kajman
Profil
Testujte $_POST['sumbit'] a podle toho vypište formulář nebo vraťte rtf soubor.
luma64
Profil
Kajman:
V mojom kóde najprv zobrazím form (ako som písal vyššie). Po submite kontrolujem, či bol kliknutý radiobutton a až potom generujem rtf. Až keď je splnená podmienka robím generovanie vrátane typu výstupu.

<?php
if(isset($_POST['submit']))  
{
    $vrat_typ = $_POST['vrat_typ'];

    if ( empty($vrat_typ)  || $vrat_typ =='' )
    {
        echo "Nezadali ste typ vrátenia !";
        exit;
    }

    else
    {    
Kajman
Profil
Ano, v tom je problém. Formulář vypisujete vždy. Také ho obalte podmínkou, kdy se má vypsat.
luma64
Profil
SUPER ! Vďaka. Takto to vyzerá teraz:
if(isset($_POST['submit']))  
{
    //po submite spracovanie poli z formu a vystup do rtf
}
else
{
    //vyvolanie formu a jeho submit
}
Keeehi
Profil
Dá se to zapsat ještě takto
if(isset($_POST['submit']))  
{
    //po submite spracovanie poli z formu a vystup do rtf
    exit;
}

//vyvolanie formu a jeho submit

Je to jen kosmetická úprava, aby vše nemuselo být v podmínce.
luma64
Profil
ok, ďakujem !

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