Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> walidacja danych na podstawie warunku z tablicy
ktuvok
post
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


Załóżmy, że jest taka tablica:

  1. <?php
  2.  
  3. $Tablica = array(
  4. '$Zmienna1' => ('$Zmienna1 > 45','Nieprawidłowa wartość!'),
  5. '$Zmienna3' => ('$Zmienna3 != 2005','Nieprawidłowy rok!')
  6. );
  7.  
  8. ?>


Chciałbym napisać pętlę, która dla każdej zmiennej przesłanej POST-em dokona sprawdzenia warunku, zawartego w tablicy i zwróci błąd w przypadku jego nie spełnienia. Zacząłem tak:
  1. <?php
  2.  
  3. foreach($_POST as $k=>$v)
  4. {
  5. if(array_key_exists($k, $_POST))
  6. {
  7. $Warunek = $Tablica[$k][0];
  8. if(eval($Warunek))
  9. {
  10. echo "Dla $k warunek $Warunek spełniony<BR>";
  11. }
  12. else
  13. {
  14. echo "Dla $k warunek $Warunek nie spełniony!<BR>";
  15. }
  16. }
  17. }
  18.  
  19. ?>


ale nie bardzo chce to działać... Proszę o wskazówki, jak to poprawnie napisać.

Pozdrawiam,
K
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ActivePlayer
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


  1. <?php
  2. if(eval("$Warunek"))
  3. ?>

po co chwytasz $Warunek w podwojne ciapki ? wez je wywal... watpie ze to problem rozwiąże ale spróbuj... btw... Twoje warunki powinny wygladać tak:
  1. <?php
  2. $warunek = 'echo ($Zmienna1 > 45);';
  3. ?>

wtedy eval($warunek) cos zwróci.. albo sie myle ?
Go to the top of the page
+Quote Post

Posty w temacie


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: 9.10.2025 - 02:43