[ 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 | 233
Bydlisko: Nové Zámky

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 | 51
Bydlisko: Bratislava
NapísalOffline : 23.11.2008 12:10 | Filtrovanie $_POST, viacrozmerne pole

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 | 233
Bydlisko: Nové Zámky
Napísal autor témyOffline : 23.11.2008 14:35 | Filtrovanie $_POST, viacrozmerne pole

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 | 96

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 | 233
Bydlisko: Nové Zámky
Napísal autor témyOffline : 23.11.2008 15:18 | Filtrovanie $_POST, viacrozmerne pole

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 | 96

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 | 233
Bydlisko: Nové Zámky
Napísal autor témyOffline : 23.11.2008 15:48 | Filtrovanie $_POST, viacrozmerne pole

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 | 51
Bydlisko: Bratislava

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
 [ Príspevkov: 8 ] 


Filtrovanie $_POST, viacrozmerne pole



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

603

07.12.2010 16:41

venom2

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

viacrozmerne pole - zistenie najväčšieho indexu

v PHP, ASP

3

466

22.10.2008 7:53

rooobertek

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

852

30.08.2011 19:46

camo

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

viacrozmerne polia

v PHP, ASP

4

722

04.08.2009 18:39

pilná lama glama

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

$_POST

v PHP, ASP

11

1311

13.02.2008 12:57

stenley

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

2258

07.01.2010 18:50

mylan

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

pomoc s $_POST

v PHP, ASP

17

844

10.03.2008 11:16

mondzo

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

guestbook - vyprazdnenie $_POST a ...

v PHP, ASP

2

1080

19.01.2009 20:58

Ded'leg

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

filtrovanie

v PHP, ASP

26

1171

30.07.2009 12:55

php30

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

filtrovanie internetu

v Sieťové a internetové programy

3

519

21.09.2008 16:42

edulinko

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

filtrovanie dat

v PHP, ASP

5

679

12.12.2011 23:32

walther

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

Filtrovanie WWW

v Bezpečnosť a firewally

4

1118

12.01.2007 10:22

t0ki

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

filtrovanie selectov

v JavaScript, VBScript, Ajax

8

676

17.09.2008 14:55

Broko71

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

filtrovanie noviniek

v PHP, ASP

14

719

01.05.2008 16:13

emer

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

filtrovanie vo worde

v Ostatné programy

5

673

06.09.2012 21:05

tairikuokami

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

chyba vo formluari - nenačíta premennu z $_POST

v PHP, ASP

6

454

25.11.2012 16:00

dafo



© 2005 - 2025 PCforum, edited by JanoF