Autor Zpráva
Elleran
Profil
Zdravim mam jen menší prozbu ve formuláři do selectu vypisuju data z db vše mi jde v pohodě jen po odeslání se mi nepřepošle celej vybranej text co byl v option ( za mezerou se ustřihne )

 <select id="druh" name="zamereni">
              <option value=""> --vyberte-- </option>
        <?PHP
        echo '<optgroup label="Advokátní kancelář">';  
        $SQLText="SELECT zamereni FROM antifirmy_kategorie WHERE karegorie='Advokátní kancelář' ORDER BY zamereni";
            $RS=mysql_query($SQLText);
            while($row2 = mysql_fetch_array($RS)) {
                  $zamereni1[]=$row2;
            }
              for ($i=0;$i<count($zamereni1);$i++){
                  echo "<option value=".$zamereni1[$i]["zamereni"];
                   if ($zamereni1[$i]["zamereni"]==$zamereni1)
                     echo " SELECTED";
                 echo ">".$zamereni1[$i]["zamereni"]."</option>\n";
              }
        echo "</optgroup>";
        echo '<optgroup label="Automobilový & strojírenský průmysl">';
        .........
        echo "</optgroup>";
        echo '</select>';
        ?>



tak už opraveno... moje chyba zapoměl sem na "" u value.
Keeehi
Profil
Nebo si do value dávje IDčka. Je to většinou jistější.
Elleran
Profil
Keeehi:
díky moc ID mi v tomhle případě ale moc nepomohou jelikož je to ve formě multiselectu, kde potřebuju více hodnot vměstnat do jedný. Jinak zobrazení už je v pořádku teď jen řešim přeposlání vybraných hodnot jelikož se mi přepošle vždy jen ta poslední vybraná a ne všechny co jsem vybral a nějak furt nemůžu přijít nato kde je zakopanej pes .
celej kód formuláře:


<div class="formular">
          <script type="text/javascript">
            function checkFields(frm) {
            for (i=1; i < arguments.length; i++) {
              if (frm[arguments[i]].value == '') {
              frm[arguments[i]].focus();
              alert('Vyplňte všechny položky označené hvězdičkou.');
            return false;
              }
            }
            return true;
            }                                                        
          </script>
          <?php
$povinne = array("jmeno" => "Jméno", "ico" => "ico", "dico" => "dico", "tel" => "tel", "jmena" => "jmena", "adresa" => "adresa", "popis" => "popis", "option" => "option");

function nevyplnene($povinne) {
    $nevyplnene = array();
    foreach ($povinne as $key => $val) {
        if (!$_POST[$key]) {
            $nevyplnene[] = $val;
        }
    }
    return $nevyplnene;
}
?>


          <FORM ACTION="zpracuj_zverejnit1.php" METHOD="post"  onsubmit="return checkFields(this, '<?php echo implode("', '", array_keys($povinne)); ?>');" ENCTYPE="multipart/form-data">
            <div class="left">
              <label for="web">WEBOVÉ STRÁNKY</label>
              <br><label for="jmeno">NÁZEV FIRMY <span class="red">*</span></label>
              <br><label for="ico">IČ <span class="red">*</span></label>
              <br><label for="dico">DIČ <span class="red">*</span></label>
              <br><label for="tel">TEL.KONTAKTY <span class="red">*</span></label>
              <br><label for="jmena">JMÉNA OSOB <span class="red">*</span></label>
              <br><label for="adresa">ADRESA <span class="red">*</span></label>
              <br><label for="popis">VÁŠ KOMENTÁŘ <span class="red">*</span></label>
            </div>
            <div class="right">
              <input type="hidden" name="sent" value=""/>
              <input type="hidden" name="error" value="<br>chybně zadané údaje nebo formát (velikost) souboru"/>
              <input type="text" id="web" name="web" maxlength="80" size="20"value="<?php echo htmlspecialchars($_POST["web"]); ?>"/>
              <br><input type="text" id="jmeno" name="jmeno" maxlength="80" size="20"value="<?php echo htmlspecialchars($_POST["jmeno"]); ?>"/>
              <br><input type="text" id="ico" class="litle" name="ico" maxlength="20" size="20"value="<?php echo htmlspecialchars($_POST["ico"]); ?>"/>
              <br><input type="text" id="dico" class="litle" name="dico" maxlength="20" size="20"value="<?php echo htmlspecialchars($_POST["dico"]); ?>"/>
              <br><input type="text" id="tel" name="tel" maxlength="80" size="50"value="<?php echo htmlspecialchars($_POST["tel"]); ?>"/>
              <br><input type="text" id="jmena" name="jmena" maxlength="80" size="50"value="<?php echo htmlspecialchars($_POST["jmena"]); ?>"/>
              <br><input type="text" id="adresa" name="adresa" maxlength="80" size="50"value="<?php echo htmlspecialchars($_POST["adresa"]); ?>"/>
            </div>
            <div class="textarea">
              <textarea name="popis" id="popis" wrap="soft"></textarea>
            </div>
            <div class="left2">
              <label for="druh">ZAMĚŘENÍ FIRMY <span class="red">*</span></label>
              <br><span class="one"><label for="foto" title="pouze s příponou .rtf .doc .docx .pdf .png .jpg .jpeg">NAHRÁT FOTOGRAFIE A DOKUMENTY</label>
              </span><br><span>
              <label for="video" title="Vložte pouze kód videa z youtube ( nevkládat celou adresu! )">NAHRÁT VIDEO</label>
              </span>
            </div>
            <div class="right2">
    <!-- Initialize the plugin: -->
    <script type="text/javascript">
        $(index.).ready(function() {
            $('#example-enableClickableOptGroups').multiselect({
                enableClickableOptGroups: true
            });
        });
    </script>
        <div class="vyberte">
                                        <script type="text/javascript">
                                            $(document).ready(function() {
                                                $('#example-multiple-optgroups-classes').multiselect();
                                            });
                                        </script>
                                        <select class="test" id="example-multiple-optgroups-classes" multiple="multiple" name="zamereni">
        <?PHP
        echo '<optgroup label="Advokátní kancelář" >'; 
        $SQLText="SELECT zamereni FROM antifirmy_kategorie WHERE karegorie='Advokátní kancelář' ORDER BY zamereni";
            $RS=mysql_query($SQLText);
            while($row2 = mysql_fetch_array($RS)) {
                  $zamereni1[]=$row2;
            }
              for ($i=0;$i<count($zamereni1);$i++){
                   echo '<option value="'.$zamereni1[$i]["zamereni"].'"';
                   if ($zamereni1[$i]["zamereni"]==$zamereni1)
                     echo ' SELECTED';
                 echo '>'.$zamereni1[$i]["zamereni"].'</option>\n';
              }
        echo "</optgroup>";
        echo '<optgroup label="Automobilový & strojírenský průmysl">';
        $karegorie2="Automobilový & strojírenský průmysl";  
        $SQLText="SELECT zamereni FROM antifirmy_kategorie WHERE karegorie='$karegorie2' ORDER BY zamereni";
            $RS=mysql_query($SQLText);
            while($row2 = mysql_fetch_array($RS)) {
                  $zamereni2[]=$row2;
            }
              for ($i=0;$i<count($zamereni2);$i++){
                  echo '<option value="'.$zamereni2[$i]["zamereni"].'"';
                   if ($zamereni2[$i]["zamereni"]==$zamereni2)
                     echo ' SELECTED';
                 echo '>'.$zamereni2[$i]["zamereni"].'</option>\n';
              }
        echo "</optgroup>";



 echo '<optgroup label="Jiné">';
        $karegorie10="Jiné";  
        $SQLText="SELECT zamereni FROM antifirmy_kategorie WHERE karegorie='$karegorie10' ORDER BY zamereni";
            $RS=mysql_query($SQLText);
            while($row2 = mysql_fetch_array($RS)) {
                  $zamereni20[]=$row2;
            }
              for ($i=0;$i<count($zamereni20);$i++){
                  echo '<option value="'.$zamereni20[$i]["zamereni"].'"';
                   if ($zamereni20[$i]["zamereni"]==$zamereni20)
                     echo ' SELECTED';
                 echo '>'.$zamereni20[$i]["zamereni"].'</option>\n';
              }
        echo "</optgroup>";
        ?>
                                          
                                        </select>
                                    </div>
              <input type="text" id="druh" name="zamereni1" maxlength="20" size="20" placeholder="nebo vyplňte vlastní" />
              <input type="hidden" name="MAX_FILE_SIZE" value="700000">
              <br><INPUT TYPE="file" id="foto" class="soubor" NAME="soubor1" SIZE="40">
              <br><INPUT TYPE="file" id="foto" class="soubor" NAME="soubor2" SIZE="40">
              <br><INPUT TYPE="file" id="foto" class="soubor" NAME="soubor3" SIZE="40">
              <br><input type="text" id="video" name="youtube" maxlength="20" size="20" />
            </div>
            <div class="center">
              <div class="c"><input type="image"  name="send" value="Upload" src="scripts/image/pokracovat.png"></div>
            </div>
          </FORM>
       
        </div>



Zpracování formuláře:


<?php
session_start();
require "db.php";
if(isset($_POST['sent'])){
 
      function odstran_diakritiku($in){
              $in = preg_replace('~[^\\pL0-9_]+~u', '-', $in);
              $in = trim($in, "-");
              $in = iconv("utf-8", "us-ascii//TRANSLIT", $in);
              $in = strtolower($in);
              $out = preg_replace('~[^-a-z0-9_]+~', '', $in);
              return $out;
              }
          $soubor_name01 = odstran_diakritiku ($_FILES["soubor1"]["name"]);
          $soubor_name01 = trim($_FILES["soubor1"]["name"]);
          $soubor_name01 = mysql_real_escape_string($_FILES["soubor1"]["name"]);
          $soubor1 = ($_FILES["soubor1"]["tmp_name"]);
          $soubor_typ1 = ($_FILES["soubor1"]["type"]);
          $soubor_velikost1 = ($_FILES["soubor1"]["size"]);
          $soubor_name02 = odstran_diakritiku ($_FILES["soubor2"]["name"]);
          $soubor_name02 = trim($_FILES["soubor2"]["name"]);
          $soubor_name02 = mysql_real_escape_string($_FILES["soubor2"]["name"]);
          $soubor2 = ($_FILES["soubor2"]["tmp_name"]);
          $soubor_typ2 = ($_FILES["soubor2"]["type"]);
          $soubor_velikost2 = ($_FILES["soubor2"]["size"]);
          $soubor_name03 = odstran_diakritiku ($_FILES["soubor3"]["name"]);
          $soubor_name03 = trim($_FILES["soubor3"]["name"]);
          $soubor_name03 = mysql_real_escape_string($_FILES["soubor3"]["name"]);
          $soubor3 = ($_FILES["soubor3"]["tmp_name"]);
          $soubor_typ3 = ($_FILES["soubor3"]["type"]);
          $soubor_velikost3 = ($_FILES["soubor3"]["size"]);
          $max_velikost=($_POST['MAX_FILE_SIZE']);
          $rename = sha1(Date("j.m.Y H:i:s", Time()));
          $koncovka = end(explode(".", $soubor_name01));
          if ($soubor_name01==""){
          $soubor_name1 = "";
          }else{
          $soubor_name1 = "$rename.$koncovka";
          }
          $koncovka2 = end(explode(".", $soubor_name02));
          if ($soubor_name02==""){
          $soubor_name2 = "";
          }else{
          $soubor_name2 = "$rename.$koncovka2";
          }
          $koncovka3 = end(explode(".", $soubor_name03));
          if ($soubor_name03==""){
          $soubor_name3 = "";
          }else{
          $soubor_name3 = "$rename.$koncovka3";
          }
          $podpora = array('image/png','image/jpeg','image/pjpeg','application/msword','application/vnd.openxmlformats-officedocument.wordprocessingml.document','application/pdf','application/rtf','application/x-rtf','text/richtext');
          $ok = ($_POST["send"]);
          $web=trim($_POST['web']);
          $jmeno=mysql_real_escape_string($_POST['jmeno']);
          $ico=trim($_POST['ico']);
          $dico=trim($_POST['dico']);
          $adresa=trim($_POST['adresa']);
          $popis=$_POST['popis'];
          $tel=trim($_POST['tel']);
          $jmena=($_POST['jmena']);
          $youtube=trim($_POST['youtube']);
          $potvrzeni=($_POST['checkbox']);
          $zamereni2=($_POST['zamereni']);
          $zamereni1=trim($_POST['zamereni1']);
          $error=$_POST['error'];
               if($_FILES["soubor1"]["type"]=="" or $_FILES["soubor1"]["type"]=="image/jpeg" or $_FILES["soubor1"]["type"]=="image/png" or $_FILES["soubor1"]["type"]=="image/pjpeg" or $_FILES["soubor1"]["type"]=="text/richtext" or $_FILES["soubor1"]["type"]=="application/x-rtf" or $_FILES["soubor1"]["type"]=="application/rtf" or $_FILES["soubor1"]["type"]=="application/pdf" or $_FILES["soubor1"]["type"]=="application/vnd.openxmlformats-officedocument.wordprocessingml.document" or $_FILES["soubor1"]["type"]=="application/msword"){
                if($_FILES["soubor2"]["type"]=="" or $_FILES["soubor2"]["type"]=="image/jpeg" or $_FILES["soubor2"]["type"]=="image/png" or $_FILES["soubor2"]["type"]=="image/pjpeg" or $_FILES["soubor2"]["type"]=="text/richtext" or $_FILES["soubor2"]["type"]=="application/x-rtf" or $_FILES["soubor2"]["type"]=="application/rtf" or $_FILES["soubor2"]["type"]=="application/pdf" or $_FILES["soubor2"]["type"]=="application/vnd.openxmlformats-officedocument.wordprocessingml.document" or $_FILES["soubor2"]["type"]=="application/msword"){
                  if($_FILES["soubor3"]["type"]=="" or $_FILES["soubor3"]["type"]=="image/jpeg" or $_FILES["soubor3"]["type"]=="image/png" or $_FILES["soubor3"]["type"]=="image/pjpeg" or $_FILES["soubor3"]["type"]=="text/richtext" or $_FILES["soubor3"]["type"]=="application/x-rtf" or $_FILES["soubor3"]["type"]=="application/rtf" or $_FILES["soubor3"]["type"]=="application/pdf" or $_FILES["soubor3"]["type"]=="application/vnd.openxmlformats-officedocument.wordprocessingml.document" or $_FILES["soubor3"]["type"]=="application/msword"){
                    if ($soubor_velikost1>=$max_velikost){
                      $_SESSION['error'] = $error;
                      $bl="zverejnit.php";
                      header("location: $bl");
                      exit; 
                        }elseif ($soubor_velikost2>=$max_velikost){
                          $_SESSION['error'] = $error;
                          $bl="zverejnit.php";
                          header("location: $bl");
                          exit;
                        }elseif ($soubor_velikost3>=$max_velikost){
                          $_SESSION['error'] = $error;
                          $bl="zverejnit.php";
                          header("location: $bl");
                          exit;
                        }else{
                          $_SESSION['soubor_name1'] = $soubor_name1;
                          $_SESSION['soubor_name2'] = $soubor_name2;
                          $_SESSION['soubor_name3'] = $soubor_name3;
                          $_SESSION['ok'] = $ok;
                          $_SESSION['web'] = $web;
                          $_SESSION['jmeno'] = $jmeno;
                          $_SESSION['ico'] = $ico;
                          $_SESSION['dico'] = $dico;
                          $_SESSION['adresa'] = $adresa;
                          $_SESSION['popis'] = $popis;
                          $_SESSION['tel'] = $tel;
                          $_SESSION['jmena'] = $jmena;
                          $_SESSION['youtube'] = $youtube;
                          $_SESSION['zamereni2'] = $zamereni2;
                          $_SESSION['zamereni1'] = $zamereni1;
                          if (move_uploaded_file($soubor1, "./documents/$soubor_name1")){
                          chmod ("./documents/$soubor_name1", 0777);
                          }
                          if (move_uploaded_file($soubor2, "./documents/$soubor_name2")){
                          chmod ("./documents/$soubor_name2", 0777);
                          }
                          if (move_uploaded_file($soubor3, "./documents/$soubor_name3")){
                          chmod ("./documents/$soubor_name3", 0777);
                          }
                          $bl="zverejnit2.php";
                          header("location: $bl");
                          exit;
                         }
                  }
                }
              }else{
                $_SESSION['error'] = $error;
                $bl="zverejnit.php";
                header("location: $bl");
                exit;
                 
              }
          }else{
                $_SESSION['error'] = $error;
                $bl="zverejnit.php";
                header("location: $bl");
                exit;
          }

?>
juriad
Profil
Select multiple posílá všechny hodnoty se stejným name; PHP z nich dokáže zpracovat pouze tu poslední. Řešením je změna jména selectu:
name="zamereni[]"
Pak všechny vybrané položky najdeš v PHP v poli $_POST["zamereni"].

Mimochodem, to tvé „zpracování“ formuláře je opravdu příšerné. Máš tam moře chyb.
Keeehi
Profil
Elleran:
díky moc ID mi v tomhle případě ale moc nepomohou jelikož je to ve formě multiselectu
To spolu vůbec nesouvisí.
Elleran
Profil
juriad:
díky za radu na tuhle možnost sem nepomyslel.
diskuze se kdyžtak už může uzavřít formulář je plně funkční :-)

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