Autor Zpráva
arnold
Profil *
Jeste mam jeden dotaz:
Vyplniji formular, ten pak testuji zda je vse zadane a v pripade ze ne, tak se mi to vrati zpet a chtel bych mit vyplnene ty udaje co jsem mel uz zadane.
Formular:
...
 <form name="upload" action="odesli.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<textarea id="text" name="popis" cols="40" rows="5" value="<?php $popis ?>"></textarea>
<input type="submit" name="upload" value="upload">
</form>
...

Kontrola odesli.php:
...
$name = $_FILES['file']['name'];
$popissouboru = $_POST["popissouboru"];
  if ($popissouboru == "" || $name == ""):
    die("CHYBA <a href='zadej_download.php' onclik='javascript:window.history.back();'>zpět</a>");
    
    else:
    echo "ok";
    endif;
...
Chybu
mi to nehlasi ale kdyz stisknu zpet tak mam formular prazdny.
Poradi nekdo?
Joker
Profil
Tak ke každému políčku inputu připsat v PHP: if(hodnota byla už zadána) tak přidej value="zadaná hodnota"
arnold
Profil *
Asi jsem te nepochopil tady mam hodnotu value vyplnenou:
<textarea id="text" name="popis" cols="40" rows="5" value="<?php $popis ?>"></textarea>

Nebo tam musim nekam pridat tu podminku?
blob
Profil *
jo, přidej podmínku do

<?php $popis ?>
a otestuj, jestli existuje $_POST['popis']... Pokud ano, bude hodnota $_POST['popis'], pokud ne, necháš tam $popis...

Pokud to chceš ještě jednodušší tak stačí $popis nahradit $_POST['popis'] a nemusíš psát žádnou podmínku... Aspoň by to tak mělo fungovat :)
Joker
Profil
arnold
No a navíc zrovna v případě textarea se to nedává do value, ale přímo do obsahu značky

Když to rozepíšu podle typů (něco má svoje značky a něco je input type="...", předpokládám, že to nemusím rozlišovat):
- file -> nelze (?)
- text a hidden -> vlastnost value
- checkbox a radio -> testuje se, který byl označený, a tomu se doplní vlastnost checked
- select -> testuje se, která hodnota byla vybrána a té se přidá vlastnost selected
- textarea -> hodnota přímo mezi značky: <textarea>zadaný text</textarea>
arnold
Profil *
Tak jsem si to udelal s tema podminkama a jak Joker psal ze pro file to nelze. Mam tomu rozumet ze nemohu zkontrolovat zda byl nejaky soubor vybran?
Zkusil jsem to takto ale vyskoci chyba:
Notice: Undefined variable: file in C:\dev\www\888\zadej.php coz je radek kde kontroluji ten soubor ale asi se neodesila promena $file po vyplneni <input type="file" name="file">

<?php 
      $Zobraz=true;
      if (isSet($_POST["odeslat"]))         {
          if (strlen($_POST["popissouboru"])==0 || $file<>"none")
            {              echo "Nevyplnili jste Vse!";
            }
          else
            {
$Zobraz=false;
?>

<form method="post" action="odesli.php">
          <input type="hidden" name="file" value="<?php echo $file ?>">
         <input type="hidden" name="popis" value="<?php echo $_POST["popis"]?>">
         <input type="submit" name="ulozit" value="ulozit"></td>
</form>
imploder
Profil
arnold
To vypadá nějak zmateně. Zkus to do políček jednoduše dát takhle:
<input type="hidden" name="popis" value="<?php if(isSet($_POST["popis"])) echo $_POST["popis"]; ?>">
arnold
Profil *
Ale kontrola tech polozek mi funguje ale nevim jak zkontrolovat
<input type="file" name="file">
?
arnold
Profil *
Jde tedy nejak kotrolovat soubor zda je vyplnen?
<input type="file" name="file">
Joker
Profil
arnold
Zda byl soubor nahraný zkontrolovat jde, ale podle mě nejde automaticky přednastavit hodnotu toho políčka se souborem.

Z bezpečnostních důvodů- dal by se totiž odeslat třeba nějaký systémový soubor tak, že by se tam automaticky doplnila cesta a vzápětí automaticky odeslal formulář.
arnold
Profil *
A jak bych tedy mel zkontrolovat zda uzivatel neco vybral?
yFang
Profil
arnold
Jednoduchou podmínkou:
<?php
if($_FILES['file'])
{
  // kód po splnění podmínky
}
?>
arnold
Profil *
Tak podminku jsem vyresil takto:
if (strlen($_POST["popis"])==0 || ($_FILES["file"]["size"] == 0))
            {// kontrolou jsme neprošli
              echo "Nevyplnili jste vse!";
            }

V pripade ze je vse vyplnene tak by mel nasledovat tento formular:
<form method="post" name="ulozit" action="odesli_download.php" enctype="multipart/form-data" >
         <input type="hidden" name="file">
         <input type="hidden" name="popissouboru" value="<?php echo $_POST["popissouboru"]?>">
         <input type="hidden" name="d_kategorie" value="<?php echo $_POST["d_kategorie"]?>">
         <input type="submit" name="ulozit" value="ulozit"></td>

</form>

Akorat ze takto se mi nenahraje ten soubor co jsem vybral, protoze o nem uz formular nevi a zas nevim jak mu ho priradit, value ani nic jineho mi nefunguje.
Nevite?

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: