Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 8 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Filtrovanie $_POST, viacrozmerne pole

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3114
Témy: 233
Bydlisko: Nové Zámky
Príspevok NapísalOffline : 22.11.2008 18:06

Do poli niesom moc macher a mam taky problem, ze pouzivam <select multiple>

maju nejaky nazov, napr "orderCISLO" a potrebujem zo vsetkych ostatnych POSTov odfiltrovat prave tieto, ktore maju v mene ORDER a ich hodnoty nejako fajne ulozit do pola, ktore bude mat napr tvar:
$pole[order25][0] = 12
$pole[order25][1] = 14
$pole[order26][0] = 3
$pole[order26][1] = 5

aby som ich vedel nasledne dat do tvaru:

order25=12;order25=14;order26=3;order26=5;

nejake moje trapne pokusy:
Kód:
<?php

 foreach($_POST as $key => $value) {     
      if(strPos($key,"rder")==1) {
        $poleOrder[$key][] = $value;
      }
  }
  foreach($poleOrder as $hodnota => $k) {
    echo $hodnota.'<br>';
    foreach($k as $cislo => $c) {
      print_r($cislo);
    }
    echo '<br><br>';
   
  }

?>
<br><br>
<form method="post">

<select multiple name="order25[]" size="5" class="blede">
<option value="116" selected>Hard Drives</option>
<option value="117" >USB Flash Drives</option>

</select>
</td></tr><tr><td>Size&nbsp;&nbsp;</td><td>
<select multiple name="order28[]" size="5" class="blede">
<option value="142" >2.5&quot;(Pocket)</option>
<option value="143" selected>3.5&quot;3(Desktop)</option>
</select>
</td></tr><tr><td>Interface&nbsp;&nbsp;</td><td>
<select multiple name="order26[]" size="5" class="blede">
<option value="119" >FireWire</option>
<option value="120" >eSATA</option>

<option value="118" selected>USB</option>
</select>
</td></tr><tr><td>Capacity&nbsp;&nbsp;</td><td>
<select multiple name="order27[]" size="5" class="blede">
<option value="195" >Volaco</option>
<option value="194" >2TB</option>
<option value="149" >160GB</option>
<option value="139" >4GB</option>
<option value="138" >8GB</option>
<option value="137" >16GB</option>

<option value="141" >32GB</option>
<option value="133" >64GB</option>
<option value="135" >80GB</option>
<option value="131" >120GB</option>
<option value="130" >250GB</option>
<option value="129" >320GB</option>
<option value="128" >400GB</option>
<option value="127" selected>500GB</option>
<option value="126" >750GB</option>

<option value="125" >1TB</option>
<option value="124" >1.5TB</option>
<option value="123" >2GB</option>
</select>


<br>
<input type="submit" value="ok">
</form>



//zmeneny nazov temy (stenley)







_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Offline

Správca fóra
Správca fóra
Filtrovanie $_POST, viacrozmerne pole

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 23.11.2008 12:10

Na co to davat znova do pola, ked v takom istom poli to uz mas? :) tento kod by mal fungovat, pripadne si ho uprav podla potreby:
Kód:
<?php
$ret = "";
if(!empty($_POST)) {
   foreach($_POST as $key => $value) {
      if(ereg("^order[0-9]{1,2}$",$key)) {
         if(is_array($value)) {
            foreach($value as $val) {
               $ret .= $key."=".$val.";";
            }
         }
      }
   }
   
   echo $ret;
}
?>







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Filtrovanie $_POST, viacrozmerne pole

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3114
Témy: 233
Bydlisko: Nové Zámky
Príspevok Napísal autor témyOffline : 23.11.2008 14:35

joooooooooooooooo.. lubim taaaaaaa :D







_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Offline

Skúsený užívateľ
Skúsený užívateľ
Filtrovanie $_POST, viacrozmerne pole

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok NapísalOffline : 23.11.2008 14:40

array_walk si pozri http://sk.php.net/array_walk







_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Filtrovanie $_POST, viacrozmerne pole

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3114
Témy: 233
Bydlisko: Nové Zámky
Príspevok Napísal autor témyOffline : 23.11.2008 15:18

no, na tomto priklade co som sem, mi stenleyho priklad isiel, ale ked som to dal na stranku, kde mam okrem tychto orderov aj kopec inych post premennych, tak to tam nejde...

ked si dam print_r($_POST) tak mi to vypise:
Kód:
Array ( [order34] => Array + ostatne veci

a potom mi ten stenleyho priklad neprejde tu:
Kód:
if(is_array($value)) {

on si mysli, ze to neni array...

ked to zakomentujem ale, cize cele to vyzera takto:
Kód:
if(!empty($_POST)) {
     foreach($_POST as $key => $value) {
     
          if(ereg("^order[0-9]{1,2}$",$key)) {
              print_r($value); echo '<br>';   
               //if(is_array($value)) {
                 //   foreach($value as $val) {
                     
                         $ret .= $key."=".$value.";";
                    //}
               //}
          }
     }
     
     echo $ret;
}

tak to hodi:
Kód:
Array
order34=Array;

ako to?? skusim este array_walk..







_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3984
Témy: 96
Príspevok NapísalOffline : 23.11.2008 15:20

Ahoj,
no ja poprosim všetky tie hlúposti teda celý výsledok var_dump a potom script ktorým to vyhodnocuješ. Diki


Offline

Užívateľ
Užívateľ
Filtrovanie $_POST, viacrozmerne pole

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3114
Témy: 233
Bydlisko: Nové Zámky
Príspevok Napísal autor témyOffline : 23.11.2008 15:48

ach, uz viem kde je problem....

pouzivam stenleyho funkciu (safety) trochu mnou upravenu na osetrenie post premennych:
Kód:
function safety($value)
{
   if(is_array($value)) {
      return array_map("safetyValue",$value);
   } else {
      return safetyValue($value);
   }
}

function safetyValue($value)
{
   if(get_magic_quotes_gpc()) {
      $value = stripslashes($value);
   }
   
    $value = addslashes($value);
   $value = htmlspecialchars($value);
   $value = str_replace("%","%",$value);
   $value = str_replace("'","'",$value);
   $value = str_replace("\"","&quot;",$value);
   
   return $value;
}


a ta asi nezobere viac rozmerne pole. takze treba ju prerobit, ze ?? ako ?

EDIT:
takze, som si to spravil na kolene:
Kód:
function safetyValue($value)
{
  if(is_array($value)) {
      return array_map("safetyValue",$value);
   } else {
   if(get_magic_quotes_gpc()) {
      $value = stripslashes($value);
   }
   
    $value = addslashes($value);
   $value = htmlspecialchars($value);
   $value = str_replace("%","%",$value);
   $value = str_replace("'","'",$value);
   $value = str_replace("\"","&quot;",$value);
   
   return $value;
    }
}


moze to takto byt?







_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Offline

Správca fóra
Správca fóra
Filtrovanie $_POST, viacrozmerne pole

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 24.11.2008 8:14

ako vidim, v povodnej verzii funkcie safety som nieco nedomyslel :), takze tu je jej univerzalna podoba:
Kód:
function safety(&$value)
{
   if(is_array($value)) {
      array_walk_recursive($value,"safetyValue");
   } else {
      safetyValue($value);
   }
}

function safetyValue(&$value)
{
   if(get_magic_quotes_gpc()) {
      $value = stripslashes($value);
   }

   $value = htmlspecialchars($value);
}


Dalsie podrobnosti na http://www.pcforum.sk/uzitocne-a-casto- ... tml#421499







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Odpovedať na tému [ Príspevkov: 8 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Viacrozmerne pole

v PHP, ASP

3

573

07.12.2010 16:41

venom2 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. viacrozmerne pole - zistenie najväčšieho indexu

v PHP, ASP

3

446

22.10.2008 7:53

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. $_POST['pole']['item'] kombinácia viacerých typov inputov

v PHP, ASP

20

819

30.08.2011 19:46

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. viacrozmerne polia

v PHP, ASP

4

697

04.08.2009 18:39

pilná lama glama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. $_POST

v PHP, ASP

11

1255

13.02.2008 12:57

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ochrana $_POST

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

42

2143

07.01.2010 18:50

mylan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc s $_POST

v PHP, ASP

17

795

10.03.2008 11:16

mondzo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. guestbook - vyprazdnenie $_POST a ...

v PHP, ASP

2

1050

19.01.2009 20:58

Ded'leg Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. filtrovanie

v PHP, ASP

26

1105

30.07.2009 12:55

php30 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. filtrovanie dat

v PHP, ASP

5

634

12.12.2011 23:32

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Filtrovanie WWW

v Bezpečnosť a firewally

4

1077

12.01.2007 10:22

t0ki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. filtrovanie selectov

v JavaScript, VBScript, Ajax

8

638

17.09.2008 14:55

Broko71 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. filtrovanie noviniek

v PHP, ASP

14

668

01.05.2008 16:13

emer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. filtrovanie internetu

v Sieťové a internetové programy

3

479

21.09.2008 16:42

edulinko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. filtrovanie vo worde

v Ostatné programy

5

620

06.09.2012 21:05

tairikuokami Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. chyba vo formluari - nenačíta premennu z $_POST

v PHP, ASP

6

396

25.11.2012 16:00

dafo Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra