Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: [PHP] Wysy³anie wybranych pól formularza
Forum PHP.pl > Forum > Przedszkole
smerf
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>
lukaszgolder
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ąć
To jest wersja lo-fi g³ównej zawarto¶ci. Aby zobaczyæ pe³n± wersjê z wiêksz± zawarto¶ci±, obrazkami i formatowaniem proszê kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.