Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Fomularz
Forum PHP.pl > Forum > Gotowe rozwiązania
karolhel
Witam
mam problem ze zrobieniem formularza na strnie www, mianowicie
udało mi si znalesc gdzies w necie gotowy skryp prostego formularza email. i niestety nie jest on dla mnie wystarczajacy zmodyfikowalem go troche metoda prob i bledow Oto rezultat, jednak nie wyszlo tak jak bym tego chcial, stworzylem w paincie graficzny przyklad jak ma to mniej wiecej wygladac >>Kliknij tu<< udalo mi sie nawet stworzyć
Cos Takiego ,ale nie wiem jak mam dopisac do pierszego pliku zeby wszystko wyswietlao sie na jednej stronie :/ próbowałem cos kombinowac ale za kazdym razem po otwarciu strony byla tylko biala kartka :/

Mam prosbe o podanie jakiegos przykladu lub gotowego kodu zeby strona wygladala tak jak na przedstawionej fotce
z gory dzieki za pomoc ! ! !


  1. <?php
  2. // sprawdzamy, czy zmienna $submit jest pusta
  3. if (empty($_POST['submit'])) {
  4.    // wyświetlamy formularz
  5.    echo "<table border=\"0\"><form method=\"post\">
  6.    
  7. <tr>
  8. <td>Imię, Nazwisko:*</td>
  9. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  10. </tr>
  11. <tr>
  12. <td>Adres (do korespomdencji):*</td>
  13. <td><textarea name=\"tresc\" style=\"width: 250px; height: 50px\"></textarea></td>
  14. </tr>  
  15. <tr>
  16. <td>Adres e-mail:*</td>
  17. <td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
  18. </tr>
  19. <tr>
  20. <td>Tel. kontaktowy: </td>
  21. <td><input type=\"text\" name=\"tel\" style=\"width: 250px\"></td>
  22. </tr>
  23. <tr>
  24. <td>Nr produktu/Ilosc:*</td>
  25. <td><textarea name=\"nr\" style=\"width: 250px; height: 75px\"></textarea></td>
  26. </tr>
  27. <tr>
  28. <td>Inne:</td>
  29. <td><textarea name=\"inne\" style=\"width: 250px; height: 35px\"></textarea></td>
  30. </tr>  
  31. <tr>
  32. <td> </td>
  33. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\"
  34. <input type=\"reset\" value=\"Od nowa\"></td></form>
  35. </tr>
  36. </table>";
  37. }
  38.  
  39.  
  40.  
  41.  
  42. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  43. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  44.    // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  45.    // zmienna $message zawiera treść wiadomości
  46.    $message = "Wysłał: $_POST[imie]\nAdres:\n$_POST[tresc]\ne-mail: $_POST[email]\nTelefon: $_POST[tel]\nSymbol: $_POST[nr]\nForma Pła/Wys: $_POST[forma]\nInne: $_POST[inne]
  47.    
  48.    
  49.    
  50.    
  51.    ";
  52.    // zmienna $header zawiera przede wszystkim adres zwrotny
  53.    $header = "From: $_POST[imie] <$_POST[email]>";
  54.    // funkcja mail() za pomocą której wiadomość zostanie wysłana
  55.    @mail("info@jugopol.pol.pl","Zamówienie ! ! !","$message","$header")
  56.    or die('Nie udało się wysłać wiadomości');
  57.    // wyświetlenie komunikatu w przypadku powodzenia
  58.    echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  59. }
  60. // lub w przypadku nie wypełnienia formularza do końca
  61. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  62.  
  63. ?>


  1. <?php
  2. <tabele>
  3. <tr>
  4. <td>
  5.  Wpłata na konto:<br>
  6. </td>
  7. <td>
  8.  <input type="radio" name="forma" value="Lp5zl" checked="checked"/>List polecony - 5.00<br>
  9.  <input type="radio" name="forma" value="LPP7zl" />List polecony priorytetowy - 7.00<br>
  10.  
  11. </td>
  12. </tr>
  13. <tabele>
  14. <br>
  15. <tabele>
  16. <tr>
  17. <td>
  18.  Przy Odbiorze:<br>
  19. </td>
  20. <td>
  21.  <input type="radio" name="forma" value="Lp7zl" checked="checked"/>List polecony - 7.00<br>
  22.  <input type="radio" name="forma" value="Lpp9zl" />List polecony priorytetowy - 9.00<br>
  23.  
  24. </td>
  25. </tr>
  26. <tabele>
  27. ?>
kantek
Proszę rozwiązanie:

zrobiłem Ci to na listach (beztabelkowo) zgodnie z twoim projektem z obrazka:

jeżeli nie umiesz tworzyć plików css to w head dajesz:
  1. <style type="text/css">
  2. body
  3. {
  4. font-size:12px;
  5. font-family:Arial;
  6. }
  7. ul
  8. {
  9. padding:0px;
  10. margin:10px 0px 0px 0px;
  11. list-style-type:none;
  12. width:600;
  13. }
  14. li
  15. {
  16. margin:5px 0px 5px 0px;
  17. padding:0px;
  18. }
  19. li.lewy
  20. {
  21. float:left;
  22. width:200px;
  23. }
  24. li.prawy
  25. {
  26. float:left;
  27. width:400px;
  28. }
  29. li.dalej
  30. {
  31. padding-left:200px;
  32. }
  33. li.nowy
  34. {
  35. padding:20px 0px 0px 200px;
  36. }


masz już styl teraz funkcja która wpisze Ci formularz
statyczny text - nie generowany przez php staraj się pisać w html
1. uwaga do twojego rozwiązania to zobacz ja nazwałem pola typu radio i porównaj ze swoimi
(u ciebie różne pola miały te same wartości)
  1. <?php
  2. //jezeli nie podasz param. domyslnie beda pola puste
  3. function show_form($imie='', $adres='', $mail='', $telefon='', $prod_ile='')
  4. {
  5. ?>
  6. <form action="form.php" method="post">
  7. <ul>
  8.    <li class="lewy">Dane kontaktowe:</li>
  9.    <li class="prawy">(* wymagane pola)</li
  10.    <li class="lewy">* Imie i nazwsko:</li>
  11.    <li class="prawy"><input type="text" name="imie" value="<?php echo $imie; ?>" /></li>
  12.    <li class="lewy">* Adres:</li>
  13.    <li class="prawy"><textarea rows="3" cols="25" name="adres"><?php echo $adres; ?></textarea></li>
  14.    <li class="lewy">* Mail:</li>
  15.    <li class="prawy"><input type="text" name="mail" value="<?php echo $mail; ?>"/></li>
  16.    <li class="lewy">Telefon</li>
  17.    <li class="prawy"><input type="text" name="telefon" value="<?php echo $telefon; ?>" /></li>
  18.    <li class="lewy">* Nr produktu/Ilosc:</li>
  19.    <li class="prawy"><textarea rows="3" cols="25" name="prod_ile"><?php echo $prod_ile; ?></textarea></li>
  20. </ul>
  21.  
  22. <ul>
  23.    <li>* Forma wysylki:</li>
  24.    <li class="nowy">Wplata na konto</li>
  25.    <li class="dalej"><input name="forma" type="radio" value="Lp5zl" checked="checked" />List polecony 5 zl</li>
  26.    <li class="dalej"><input name="forma" type="radio" value="Lp7zl" >List polecony + priorytet 7 zl</li>
  27.    <li class="nowy">Przy odbiorze</li>
  28.    <li class="dalej"><input name="forma" type="radio" value="o5zl" />List polecony 5 zl</li>
  29.    <li class="dalej"><input name="forma" type="radio" value="o7zl" />List polecony + priorytet 7 zl</li>
  30.    <li class="nowy"><input name="forma" type="radio" value="gratis" />Gratis</li>
  31.    <li class="dalej">(moje zamowienie przekracza 99 pln)</li>
  32.    <li class="dalej">
  33.        <input type="submit" name="zapisz" value="Zapisz" />
  34.        <input type="submit" name="anuluj" value="Wyczysc" />    
  35.    </li>
  36. </ul>
  37. </form>
  38. <?php
  39. }//koniec funkcji show_form

teraz kiedy wysyłać a kiedy pokazywać formularz (wklejam cd z komentarzem żebyś wiedział jak łączyć)
2. uwagi do twojego kodu w komentarzach
  1. <?php
  2. }//koniec funkcji show_form
  3.  
  4.    if(isset($_POST['zapisz'])){
  5.        //trim odsyłam do manuala
  6.        $imie = trim($_POST['imie']);
  7.        $adres = trim($_POST['adres']);
  8.        $mail = trim($_POST['mail']);
  9.        $telefon = trim($_POST['telefon']);
  10.        $prod_ile= trim($_POST['prod_ile']);
  11.        
  12.        // wyrazenie || oznacza or czli lub a ty dawales && anda
  13.        if(empty($imie) || empty($adres) || empty($mail) || empty($prod_ile)){
  14.            echo 'Wypelnij wszystkie wymagane pola i wybierz forme platnosci';
  15.            show_form($imie, $adres, $mail, $telefon, $prod_ile);
  16.        }
  17.        else{
  18.            //twoja funkcja wysyłająca dane z formularza ja wipisze tylko:
  19.            echo 'Wyslano <br />';
  20.            echo '<br/> Imie: '.$imie;
  21.            echo '<br />Adres: '.$adres;
  22.            echo '<br />Mail: '.$mail;
  23.            echo '<br />Adres: '.$prod_ile;
  24.            echo '<br />Platnosc: '.$_POST['forma'];
  25.        }    
  26.    }
  27.    else{
  28.        show_form(); //bez param. zostana urzyte domyslne
  29.    }
  30. ?>


w razie pytań pisz odp po świętach bo nie będę miał dostępu do netu

edit:
daje all jak to wygląda gdyby były problemy z tym oddzielaniem php od htmla
  1. <html>
  2. <body>
  3. <head>
  4. <style type="text/css">
  5. body
  6. {
  7. font-size:12px;
  8. font-family:Arial;
  9. }
  10. ul
  11. {
  12. padding:0px;
  13. margin:10px 0px 0px 0px;
  14. list-style-type:none;
  15. width:600;
  16. }
  17. li
  18. {
  19. margin:5px 0px 5px 0px;
  20. padding:0px;
  21. }
  22. li.lewy
  23. {
  24. float:left;
  25. width:200px;
  26. }
  27. li.prawy
  28. {
  29. float:left;
  30. width:400px;
  31. }
  32. li.dalej
  33. {
  34. padding-left:200px;
  35. }
  36. li.nowy
  37. {
  38. padding:20px 0px 0px 200px;
  39. }
  40. </style>
  41. </head>
  42. <body>
  43.  
  44. <?php
  45. //jezeli nie podasz param. domyslnie beda pola puste
  46. function show_form($imie='', $adres='', $mail='', $telefon='', $prod_ile='')
  47. {
  48. ?>
  49. <form action="form.php" method="post">
  50. <ul>
  51.    <li class="lewy">Dane kontaktowe:</li>
  52.    <li class="prawy">(* wymagane pola)</li
  53.    <li class="lewy">* Imie i nazwsko:</li>
  54.    <li class="prawy"><input type="text" name="imie" value="<?php echo $imie; ?>" /></li>
  55.    <li class="lewy">* Adres:</li>
  56.    <li class="prawy"><textarea rows="3" cols="25" name="adres"><?php echo $adres; ?></textarea></li>
  57.    <li class="lewy">* Mail:</li>
  58.    <li class="prawy"><input type="text" name="mail" value="<?php echo $mail; ?>"/></li>
  59.    <li class="lewy">Telefon</li>
  60.    <li class="prawy"><input type="text" name="telefon" value="<?php echo $telefon; ?>" /></li>
  61.    <li class="lewy">* Nr produktu/Ilosc:</li>
  62.    <li class="prawy"><textarea rows="3" cols="25" name="prod_ile"><?php echo $prod_ile; ?></textarea></li>
  63. </ul>
  64.  
  65. <ul>
  66.    <li>* Forma wysylki:</li>
  67.    <li class="nowy">Wplata na konto</li>
  68.    <li class="dalej"><input name="forma" type="radio" value="Lp5zl" checked="checked" />List polecony 5 zl</li>
  69.    <li class="dalej"><input name="forma" type="radio" value="Lp7zl" >List polecony + priorytet 7 zl</li>
  70.    <li class="nowy">Przy odbiorze</li>
  71.    <li class="dalej"><input name="forma" type="radio" value="o5zl" />List polecony 5 zl</li>
  72.    <li class="dalej"><input name="forma" type="radio" value="o7zl" />List polecony + priorytet 7 zl</li>
  73.    <li class="nowy"><input name="forma" type="radio" value="gratis" />Gratis</li>
  74.    <li class="dalej">(moje zamowienie przekracza 99 pln)</li>
  75.    <li class="dalej">
  76.        <input type="submit" name="zapisz" value="Zapisz" />
  77.        <input type="submit" name="anuluj" value="Wyczysc" />    
  78.    </li>
  79. </ul>
  80. </form>
  81. <?php
  82. }//koniec funkcji show_form
  83.  
  84.    if(isset($_POST['zapisz'])){
  85.        //trim odsyłam do manuala
  86.        $imie = trim($_POST['imie']);
  87.        $adres = trim($_POST['adres']);
  88.        $mail = trim($_POST['mail']);
  89.        $telefon = trim($_POST['telefon']);
  90.        $prod_ile= trim($_POST['prod_ile']);
  91.        
  92.        // wyrazenie || oznacza or czli lub a ty dawales && anda
  93.        if(empty($imie) || empty($adres) || empty($mail) || empty($prod_ile)){
  94.            echo 'Wypelnij wszystkie wymagane pola i wybierz forme platnosci';
  95.            show_form($imie, $adres, $mail, $telefon, $prod_ile);
  96.        }
  97.        else{
  98.            //twoja funkcja wysyłająca dane z formularza ja wipisze tylko:
  99.            echo 'Wyslano <br />';
  100.            echo '<br/> Imie: '.$imie;
  101.            echo '<br />Adres: '.$adres;
  102.            echo '<br />Mail: '.$mail;
  103.            echo '<br />Adres: '.$prod_ile;
  104.            echo '<br />Platnosc: '.$_POST['forma'];
  105.        }    
  106.    }
  107.    else{
  108.        show_form(); //bez param. zostana urzyte domyslne
  109.    }
  110. ?>
  111.  
  112.  
  113. </body>
  114. </html>

Pozdrawiam
karolhel
malo mam czasu na te zabawy w webmastera smile.gif i nadal mam problem z tym formularzem..
na razie poskladalem COŚ takiego
jednak nie wiem co zrobic zeby to co gosc wpisze w formularzu, trafialo na e-mail info@jugopol.pol.pl
no i oczywiscie jak dodac standardowa regułkę , ktora gosc otrzyma na podany przez siebie e-mail po wyslaniu formularza..

oto kod:
  1. <html>
  2. <body>
  3. <head>
  4. <style type="text/css">
  5. body
  6. {
  7. font-size:12px;
  8. font-family:Arial;
  9. }
  10. ul
  11. {
  12. padding:0px;
  13. margin:10px 0px 0px 0px;
  14. list-style-type:none;
  15. width:600;
  16. }
  17. li
  18. {
  19. margin:5px 0px 5px 0px;
  20. padding:0px;
  21. }
  22. li.lewy
  23. {
  24. float:left;
  25. width:200px;
  26. }
  27. li.prawy
  28. {
  29. float:left;
  30. width:400px;
  31. }
  32. li.dalej
  33. {
  34. padding-left:200px;
  35. }
  36. li.nowy
  37. {
  38. padding:20px 0px 0px 200px;
  39. }
  40. </style>
  41. </head>
  42. <body>
  43.  
  44. <?php
  45. //jezeli nie podasz param. domyslnie beda pola puste
  46. function show_form($imie='', $adres='', $mail='', $telefon='', $prod_ile='')
  47. {
  48. ?>
  49. <form action="form.php" method="post">
  50. <ul>
  51.   <li class="lewy">Dane kontaktowe:</li>
  52.   <li class="prawy">(* wymagane pola)</li
  53.   <li class="lewy">* Imie i nazwsko:</li>
  54.   <li class="prawy"><input type="text" name="imie" value="<?php echo $imie; ?>" /></li>
  55.   <li class="lewy">* Adres:</li>
  56.   <li class="prawy"><textarea rows="3" cols="25" name="adres"><?php echo $adres; ?></textarea></li>
  57.   <li class="lewy">* E-mail:</li>
  58.   <li class="prawy"><input type="text" name="mail" value="<?php echo $mail; ?>"/></li>
  59.   <li class="lewy">Telefon</li>
  60.   <li class="prawy"><input type="text" name="telefon" value="<?php echo $telefon; ?>" /></li>
  61.   <li class="lewy">* Nr produktu/Ilosc:</li>
  62.   <li class="prawy"><textarea rows="3" cols="25" name="prod_ile"><?php echo $prod_ile; ?></textarea></li>
  63. </ul>
  64.  
  65. <ul>
  66.   <li>* Forma wysylki:</li>
  67.   <li class="nowy">Wplata na konto</li>
  68.   <li class="dalej"><input name="forma" type="radio" value="List polecony 5 zl" checked="checked" />List polecony 5 zl</li>
  69.   <li class="dalej"><input name="forma" type="radio" value="List polecony + priorytet 7 zl" />List polecony + priorytet 7 zl</li>
  70.   <li class="nowy">Przy odbiorze</li>
  71.   <li class="dalej"><input name="forma" type="radio" value="List polecony 7 zl" />List polecony 7 zl</li>
  72.   <li class="dalej"><input name="forma" type="radio" value="List polecony + priorytet 9 zl" />List polecony + priorytet 9 zl</li>
  73.   <li class="nowy"><input name="forma" type="radio" value="Gratis" />Gratis</li>
  74.   <li class="dalej">(moje zamowienie przekracza 99 pln)</li>
  75.   <li class="dalej">
  76.       <input type="submit" name="zapisz" value="Zapisz" />
  77.       <input type="submit" name="anuluj" value="Wyczysc" />    
  78.   </li>
  79. </ul>
  80. </form>
  81. <?php
  82. }//koniec funkcji show_form
  83.  
  84.   if(isset($_POST['zapisz'])){
  85.       //trim odsyłam do manuala
  86.       $imie = trim($_POST['imie']);
  87.       $adres = trim($_POST['adres']);
  88.       $mail = trim($_POST['mail']);
  89.       $telefon = trim($_POST['telefon']);
  90.       $prod_ile= trim($_POST['prod_ile']);
  91.      
  92.       // wyrazenie || oznacza or czli lub a ty dawales && anda
  93.       if(empty($imie) || empty($adres) || empty($mail) || empty($prod_ile)){
  94.           echo 'Wypelnij wszystkie wymagane pola i wybierz forme platnosci';
  95.           show_form($imie, $adres, $mail, $telefon, $prod_ile);
  96.       }
  97.       else{
  98.           //twoja funkcja wysyłająca dane z formularza ja wipisze tylko:
  99.           echo 'Wyslano <br />';
  100.           echo '<br/> Imie: '.$imie;
  101.           echo '<br />Adres: '.$adres;
  102.           echo '<br />E-mail: '.$mail;
  103.           echo '<br />Adres: '.$prod_ile;
  104.           echo '<br />Platnosc: '.$_POST['forma'];
  105.       }    
  106.   }
  107.   else{
  108.       show_form(); //bez param. zostana urzyte domyslne
  109.   }
  110. ?>
  111.  
  112.  
  113. </body>
  114. </html>
krzysztof_kf
daje ci kolego działający w 100% procentach formularz kontaktowy

Kod
<?php
// sprawdzamy, czy zmienna $submit jest pusta
if (empty($_POST['submit'])) {
    // wyświetlamy formularz
    echo "<table border=\"0\"><form method=\"post\">
<tr>
<td>Treść wiadomości</td>
</tr>
<td><textarea name=\"tresc\" style=\"width: 250px; height: 100px; border: 1px solid #3399ff\"></textarea></td>
</tr>
<tr>
<td>Imię, nazwisko lub nick</td>
</tr>
<td><input type=\"text\" name=\"imie\" style=\"width: 250px; height: 20px; border: 1px solid #3399ff\"></td>
</tr>
<tr>
<td>Adres e-mail</td>
</tr>
<td><input type=\"text\" name=\"email\" style=\"width: 250px; height: 20px; border: 1px solid #3399ff\"></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
<input type=\"reset\" value=\"Od nowa\"></td></form>
</tr>
</table>";
}
// sprawdzamy, czy zmienne przesłane z formularza nie są puste
elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
    // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
    // zmienna $message zawiera treść wiadomości
    $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
    // zmienna $header zawiera przede wszystkim adres zwrotny
    $header = "From: $_POST[imie] <$_POST[email]>";
    // funkcja mail() za pomocą której wiadomość zostanie wysłana
    @mail("adres@domena.pl","Wiadomosc ze strony WWW","$message","$header")
    or die('Nie udało się wysłać wiadomości');
    // wyświetlenie komunikatu w przypadku powodzenia
    echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
}
// lub w przypadku nie wypełnienia formularza do końca
else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";

?>
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-2024 Invision Power Services, Inc.