Witaj Go¶ciu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wysyłanie wybranych pól formularza, jak wyslac tylko pola spelniajace zadany warunek ?
smerf
post 15.11.2008, 17:23:52
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Doł±czył: 22.01.2007
Sk±d: Czechowice-Dziedzice

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


Witam mam spory problem z sporym formularzem.
Wersja robocza znajduje sie na www.pasternak.nets.pl/test
Jest to formularz do skladania zamowienia przez klienta.
Zasada dzialania:
1) Klient moze zamowic min. 100szt z wybranej pozycji
2) po wypelnieniu interesujacych go pol wysyla zamowienie poczym zostaje ono mu wyswietlone
I tu maja sie znajdowac tylko pola spelniajace warunek wartosc>99
3) pozycje spelniajace powyzszy warunek zostaja wyslane na maila
4) jezeli nie zostana wypelnione pola zwiazane z danymi do kantaktu mail nie zostaje wyslany i wyswietla blad.

Teraz przejdzmy do konkretow:
pkt 1 dziala ok
pkt 2 dziala ok
problem rodzi sie przy wyslaniu tylko poprawnych pol, nie wiem jak to skonstrulowac jaki do tego zrobic warunek zeby dzialalo

Ponizej przedstawiam kod zrodlowy, troszku tego jest ale chcialem to zrobic jak najbardziej zrozumiale dla mnie jako poczatkujacego w php.
W zeczywistosci id siegaja do 161 pozycji, na potrzeby forum obcialem kod do 10
Prosze o pomoc bo stoje z robota w miejscu sad.gif
Dzieki

Kod
<html>
<?
//przejmujemy pozycje zamowienia z formularza
$id1=$_POST['id1'];
$id2=$_POST['id2'];
$id3=$_POST['id3'];
$id4=$_POST['id4'];
$id5=$_POST['id5'];
$id6=$_POST['id6'];
$id7=$_POST['id7'];
$id8=$_POST['id8'];
$id9=$_POST['id9'];
$id10=$_POST['id10'];

$imie=$_POST['imie'];
$nazwisko=$_POST['nazwisko'];
$firma=$_POST['firma'];
$telefon=$_POST['telefon'];
$mail=$_POST['mail'];

// sprawdzenie ilosci uzytych znakow

$dl_id1 = strlen($id1);$dl_id2 = strlen($id2);
$dl_id3 = strlen($id3);$dl_id4 = strlen($id4);
$dl_id5 = strlen($id5);$dl_id6 = strlen($id6);
$dl_id7 = strlen($id7);$dl_id8 = strlen($id8);
$dl_id9 = strlen($id9);$dl_id10 = strlen($id10);

$dl_imie = strlen($imie);
$dl_nazwisko = strlen($nazwisko);
$dl_firma = strlen($firma);
$dl_telefon = strlen($telefon);
$dl_mail = strlen($mail);

// WYSWIETLENIE POBRANYCH DANYCH
$wysw_id1 = "ABIES BALSAMEA 'NANA' - szt: ".$id1;    
$wysw_id2 = "CHAMAECYPARIS LAWSONIANA 'ARGENTEOVARIEGATA' - szt: ".$id2;    
$wysw_id3 = "CHAMAECYPARIS LAWSONIANA 'ALUMII' - szt: ".$id3;    
$wysw_id4 = "CHAMAECYPARIS LAWSONIANA 'BLOM' - szt: ".$id4;
$wysw_id5 = "CHAMAECYPARIS LAWSONIANA 'BAUTCHENSIS' - szt: ".$id5;    
$wysw_id6 = "CHAMAECYPARIS LAWSONIANA 'FLETCHERI' - szt: ".$id6;
$wysw_id7 = "CHAMAECYPARIS LAWSONIANA 'ELLWODII' - szt: ".$id7;
$wysw_id8 = "CHAMAECYPARIS LAWSONIANA 'ELLWOOD'S GOLD' - szt: ".$id8;
$wysw_id9 = "CHAMAECYPARIS LAWSONIANA 'GLOBOSA' - szt: ".$id9;    
$wysw_id10= "CHAMAECYPARIS LAWSONIANA 'GOLDEN WONDER' - szt: ".$id10;

$wysw_imie_nazwisko = "\n"."Osoba zamawiaj±ca: ".$imie." ".$nazwisko;
$wysw_firma = "Firma: ".$firma;
$wysw_telefon = "Telefon kontaktowy: ".$telefon;    
$wysw_mail = "Adres E-Mail: ".$mail;

// ============== SPRAWDZANIE POPRAWNOSCI ZAMOWIENIA I WYSWIETLENIE GO

if ($id1>99 && (ereg('^[0-9]+$', $id1)))
echo $wysw_id1."<br>";
if ($id2>99 && (ereg('^[0-9]+$', $id2)))
echo $wysw_id2."<br>";
if ($id3>99 && (ereg('^[0-9]+$', $id3)))
echo $wysw_id3."<br>";
if ($id4>99 && (ereg('^[0-9]+$', $id4)))
echo $wysw_id4."<br>";
if ($id5>99 && (ereg('^[0-9]+$', $id5)))
echo $wysw_id5."<br>";
if ($id6>99 && (ereg('^[0-9]+$', $id6)))
echo $wysw_id6."<br>";
if ($id7>99 && (ereg('^[0-9]+$', $id7)))
echo $wysw_id7."<br>";
if ($id8>99 && (ereg('^[0-9]+$', $id8)))
echo $wysw_id8."<br>";
if ($id9>99 && (ereg('^[0-9]+$', $id9)))
echo $wysw_id9."<br>";
if ($id10>99 && (ereg('^[0-9]+$', $id10)))
echo $wysw_id10."<br>";

if ($dl_imie > 0 && $dl_nazwisko > 0 && (ereg('^[a-zA-Z±ćęłń󶿼ˇĆĘŁŃӦݬ]+$', $imie)) && (ereg('^[a-zA-Z±ćęłń󶿼ˇĆĘŁŃӦݬ]+$', $nazwisko)))
echo "<br><b>".$wysw_imie_nazwisko."<br>";
    else
            {
            if ($dl_imie==0 || $dl_nazwisko==0)
            echo"<br><b>Osoba zamawiaj±ca: <b><font color=\"red\">Nie wprowadzono danych osobowych.</b></font><br>";
            
            }

if ($dl_firma > 0 && (ereg('^[0-9a-zA-Z±ćęłń󶿼ˇĆĘŁŃӦݬ -]+$', $firma)))
echo "<b>".$wysw_firma."<br>";
    else
            {
            if ($dl_firma==0)
            echo"<b>Firma: <b><font color=\"red\">Nie podano nazwy firmy.</b></font><br>";
            
            }

if ($dl_telefon > 0 && (ereg('^[0-9]+$', $telefon)))
echo "<b>".$wysw_telefon."<br>";
    else
            {
            if ($dl_telefon==0)
            echo"<b>Telefon kontaktowy: <b><font color=\"red\">Nie wprowadzono numeru telefonu.</b></font><br>";
            
    else
            {
            echo"<b>Telefon kontaktowy: <font color=\"red\">Podany numer telefonu zawiera niedozwolone znaki.</b></font><br>";
            
            }}

if ($dl_mail <> 0 && (ereg('^[_a-z0-9.-]*[a-z0-9]@[_a-z0-9.-]*[a-z0-9].[a-z]{2,3}$', $mail)))
echo "<b>".$wysw_mail."<br>";
    else
            {
            if ($dl_mail==0)
            echo"<b>Adres E-Mail: <b><font color=\"red\">Nie wprowadzono adresu.</b></font><br>";
            
    else
            {
            echo"<b>Adres E-Mail: <font color=\"red\">Podany adres e-mail zawiera niedozwolone znaki.</b></font><br>";
            
            }}

// WYSYŁANIE POBRANYCH DANYCH

$wysli_id1 = "\n"."ABIES BALSAMEA 'NANA' - szt: ".$id1;    
$wysli_id2 = "\n"."CHAMAECYPARIS LAWSONIANA 'ARGENTEOVARIEGATA' - szt: ".$id2;    
$wysli_id3 = "\n"."CHAMAECYPARIS LAWSONIANA 'ALUMII' - szt: ".$id3;    
$wysli_id4 = "\n"."CHAMAECYPARIS LAWSONIANA 'BLOM' - szt: ".$id4;
$wysli_id5 = "\n"."CHAMAECYPARIS LAWSONIANA 'BAUTCHENSIS' - szt: ".$id5;    
$wysli_id6 = "\n"."CHAMAECYPARIS LAWSONIANA 'FLETCHERI' - szt: ".$id6;
$wysli_id7 = "\n"."CHAMAECYPARIS LAWSONIANA 'ELLWODII' - szt: ".$id7;
$wysli_id8 = "\n"."CHAMAECYPARIS LAWSONIANA 'ELLWOOD'S GOLD' - szt: ".$id8;
$wysli_id9 = "\n"."CHAMAECYPARIS LAWSONIANA 'GLOBOSA' - szt: ".$id9;    
$wysli_id10= "\n"."CHAMAECYPARIS LAWSONIANA 'GOLDEN WONDER' - szt: ".$id10;

$wysli_imie_nazwisko = "\n"."\n"."OSOBA ZAMAWIAJˇCA: ".$imie." ".$nazwisko;    
$wysli_firma = "\n"."FIRMA: ".$firma;    
$wysli_telefon = "\n"."TELEFON KONTAKTOWY: ".$telefon;    
$wysli_mail = "\n"."ADRES E-MAIL: ".$mail;    

// ============== SPRAWDZANIE POPRAWNOSCI KODU

if (ereg('^[0-9]+$', $id1))
$wysli_id1."<br>";
if (ereg('^[0-9]+$', $id2))
$wysli_id2."<br>";
if ($dl_id3 > 0 && $id3>99 && (ereg('^[0-9]+$', $id3)))
$wysli_id3."<br>";
if ($dl_id4 > 0 && $id4>99 && (ereg('^[0-9]+$', $id4)))
$wysli_id4."<br>";
if ($dl_id5 > 0 && $id5>99 && (ereg('^[0-9]+$', $id5)))
$wysli_id5."<br>";
if ($dl_id6 > 0 && $id6>99 && (ereg('^[0-9]+$', $id6)))
$wysli_id6."<br>";
if ($dl_id7 > 0 && $id7>99 && (ereg('^[0-9]+$', $id7)))
$wysli_id7."<br>";
if ($dl_id8 > 0 && $id8>99 && (ereg('^[0-9]+$', $id8)))
$wysli_id8."<br>";
if ($dl_id9 > 0 && $id9>99 && (ereg('^[0-9]+$', $id9)))
$wysli_id9."<br>";
if ($dl_id10 > 0 && $id10>99 && (ereg('^[0-9]+$', $id10)))
$wysli_id10."<br>";

if ($dl_imie > 0 && $dl_nazwisko > 0 && (ereg('^[a-zA-Z±ćęłń󶿼ˇĆĘŁŃӦݬ -]+$', $imie)) && (ereg('^[a-zA-Z±ćęłń󶿼ˇĆĘŁŃӦݬ -]+$', $nazwisko)))
$wysli_imie_nazwisko."<br>";

$zamowienie=($wysli_id1.$wysli_id2.$wysli_id3.$wysli_id4.$wysli_id5.$wysli_id6.$wysli_id7.$wysli_id8.$wysli_id9.$wysli_id10.$wysli_imie_nazwisko.$wysli_firma.$wysli_telefon.$wysli_mail);
$do='smerf-deal@o2.pl';
$temat='Formularz zamówienia krzewów';
$headers = "From: $mail ". "\r\n" .
    "Reply-To: $mail ". "\r\n" .
     "Cc: $mail". "\r\n".
    'X-Mailer: PHP/' . phpversion();
$wyslij=mail($do, $temat, $zamowienie, $headers);
?>
</html>
Go to the top of the page
+Quote Post
lukaszgolder
post 15.11.2008, 17:30:58
Post #2





Grupa: Zarejestrowani
Postów: 141
Pomógł: 17
Doł±czył: 2.04.2008
Sk±d: z Zabrza

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


Tak na początek to nie łatwiej zamiast wywoływać 160 razy $id1 = ... zrobić to za pomocą tablicy?
  1. <input type="text" name="tab_id[]" />

  1. <?php$tab_id = $_POST['tab_id'];
  2. foreach($tab_id as $key => $value){ ...}
  3. ?>


A co do punktu 3 to potem cos w rodzaju np.

  1. <?php$tab_id = $_POST['tab_id'];
  2. foreach($tab_id as $key => $value)
  3. {
  4.  if($value > 99) $zamowienie .= $value;
  5. }
  6. ?>


Czy jakoś tak w zależności co chcesz ościągnąć

Ten post edytował lukaszgolder 15.11.2008, 17:32:44
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 20:16