Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Powtarzajace Sie Dane W Formularzu
mass
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.02.2003

Ostrzeżenie: (0%)
-----


Mam formularz.

Cytat
for($i=1;$i<=10;$i++) {
<input type=\"text\" name=\"konto[$i]\" size=30>
}


Sklada sie z 10 pol.
W kazdym z tych pol powinny byc wpisane rozne informacje.

W jaki sposob wychwycic powtarzajace sie pola, jesli ktos wpisze np w 3 polach to samo czy w 2.
Nie dopuscic do wyslania formularza pokazac bledy ze te pola zawieraja takie same dane.
W jaki posob to sprawdzic.

pozdr.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
kicaj
post
Post #2





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


wartosci inputow przepuszczac przez petle i sprawdzac czy jeden do drugiego nie jest podobny
Uzyj if()" title="Zobacz w manualu PHP" target="_manuali for()" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
mike
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Poczytaj o array_count_values()
U ciebie wszystkie watrości inputów przychodzą w tablicy $konto a właściwie w tablicy $_POST[ 'konto' ]. Więc proponuję taką funkcję:
  1. <?php
  2. function AllDiffrent( $arrTablica )
  3. {
  4. $arrTablica = array_count_values( $arrTablica );
  5. foreach( $arrTablica as $mixValues )
  6. {
  7. if( $mixValues > 1 )
  8. {
  9. return false; //jakaś watrość występuje więcej niż raz
  10. }
  11. }
  12. return true;
  13. }
  14. ?>

Sposób użycia:
  1. <?php
  2. if( AllDiffrent( $_POST[ 'konto' ] ) )
  3. {
  4. echo 'ok';
  5. }
  6. else
  7. {
  8. echo 'Wszystkie wartości muszą być inne !!!';
  9. }
  10. ?>
Go to the top of the page
+Quote Post
mass
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.02.2003

Ostrzeżenie: (0%)
-----


Ok
ale jak wskazac ze wlasnie ta wartosc sie powtarza.

Inaczej.
Ktos wypelnia formularz.

1 pole = jaja
2 pole = kluska
3 pole = ogorek
4 pole = kluska
5 pole = kartofel
6 pole = jaja
7 pole = jaja
...
itd

I teraz jak mu pokazac nie wiem np. na inny kolor ze te pola maja takie same wartosci aby mogl je poprawic

taka sama wrtosc moze wystepowac tylko raz.

pozdr.
Go to the top of the page
+Quote Post
mike
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Trzeba było tak od razu (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) . Proponuję coś takiego"
  1. <?php
  2. function AllDiffrent( $arrTablica )
  3. {
  4. $arrResult = array();
  5. $arrTemp = array_count_values( $arrTablica );
  6. foreach( $arrTemp as $mixKey => $mixValue )
  7. {
  8. if( $mixValue > 1 )
  9. {
  10. foreach( $arrTablica as $mixKey2 => $mixValue2 )
  11. {
  12. if( $mixKey == $mixValue2 )
  13. {
  14. $arrResult[ $mixKey ][] = $mixKey2;
  15. }
  16. }
  17. }
  18. }
  19. return $arrResult;
  20. }
  21. ?>

A działa to w ten sposób:
  1. <?php
  2. $tab[] = &#092;"ok\";
  3. $tab[] = &#092;"ok2\";
  4. $tab[] = &#092;"ok\";
  5. $tab[] = &#092;"ok\";
  6. $tab[] = &#092;"ok2\";
  7. $tab[] = &#092;"ok2\";
  8. $tab[] = &#092;"ok\";
  9. $tab[] = &#092;"ok3\";
  10.  
  11. echo '<pre>';
  12. print_r( $tab );
  13. echo '</pre>';
  14.  
  15. $tab = AllDiffrent( $tab );
  16.  
  17. echo '<pre>';
  18. print_r( $tab );
  19. echo '</pre>';
  20. ?>

Wynik przykładu:
Cytat
Array
(
    [0] => ok
    [1] => ok2
    [2] => ok
    [3] => ok
    [4] => ok2
    [5] => ok2
    [6] => ok
    [7] => ok3
)

Array
(
    [ok] => Array
        (
            [0] => 0
            [1] => 2
            [2] => 3
            [3] => 6
        )

    [ok2] => Array
        (
            [0] => 1
            [1] => 4
            [2] => 5
        )

)

Czyli watrość "ok" powtarz się na pozycji 0,2,3,6 a wartość "ok2" na pozycjach 1,4,5. Wartości "ok3" nie ma nigdzie jako klucza więc występuje tylko raz. Mam nadzieję że o to chodziło.
Pozdrawiam. Mike.
Go to the top of the page
+Quote Post
mass
post
Post #6





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.02.2003

Ostrzeżenie: (0%)
-----


Wielkie dzieki Mike (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !!! (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Szuakm knefla "Pomogl mi" lecz nie widze (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował mass 16.06.2004, 09:30:20
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 19:17