Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]formularz kontktowy
Forum PHP.pl > Forum > Przedszkole
gibonik
chce zrobić formularz kontaktowy z tokenem niestety nie wysyła mi na maila,

i jeszcze co dodać zeby przy kazdym polu sprawdzał czy jest uzupełnione i dopiero potem wysyłał
plik1
  1.    $_SESSION['token'] = '';
  2. for($i=0;$i<5;$i++) {
  3.  $liczba = rand(0,9);
  4. $_SESSION['token'] .= $liczba;
  5. $img.= $liczba;
  6. }
  7.  
  8. if($_POST['wyslij'])
  9. {
  10.    mail([email=""]'ggooob2@o2.pl'[/email], $_POST['tytul'], $_POST['tresc'], 'From:'.$_POST[email]);
  11. }
  12.  
  13. else
  14. {
  15. ?>
  16.  
  17. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  18. <head>
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  20. <title>formularz kontaktowy</title>
  21. <link href="style.css" rel="stylesheet" type="text/css" />
  22. </head>
  23.  
  24. <body>
  25. <form id="form1" name="form1" method="post" action="sprawdz.php">
  26.  
  27. <table width="329" border="0" align="center" cellpadding="0" cellspacing="0" class="ramka">
  28.  <tr>
  29.    <th colspan="2" class="czcionka" scope="col">FORMULARZ KONTAKTOWY</th>
  30.    </tr>
  31.  <tr>
  32.    <th colspan="2" scope="col">&nbsp;</th>
  33.    </tr>
  34.  <tr>
  35.    <th width="105" class="czcionka" scope="col">TYTUŁ</th>
  36.    <th width="224" align="left" scope="col"><label>
  37.      <input name="tytul" type="text" id="tytul" />
  38.    </label></th>
  39.  </tr>
  40.  <tr>
  41.    <th class="czcionka" scope="col">E-MAIL</th>
  42.    <th align="left" scope="col"><label>
  43.      <input type="text" name="email" id="email" />
  44.    </label></th>
  45.  </tr>
  46.  <tr>
  47.    <th class="czcionka" scope="col">TREŚĆ</th>
  48.    <th align="left" scope="col"><input name="tresc" type="text" id="tresc" maxlength="200"  height="100" width="220"/></th>
  49.  </tr>
  50.  <tr>
  51.    <th class="czcionka" scope="col">&nbsp;</th>
  52.    <th align="left" scope="col">&nbsp;</th>
  53.  </tr>
  54.  <tr>
  55.    <th class="czcionka" scope="col">WPISZ KOD</th>
  56.    <th align="left" scope="col"><? echo $img;?><br />      <input type="text" name="token">
  57.        
  58.        
  59.      </th>
  60.  </tr>
  61.  <tr>
  62.    <th class="czcionka" scope="col">&nbsp;</th>
  63.    <th align="left" scope="col"><input name="wyslij" type="submit" class="czcionka" id="wyslij" value="WYŚLIJ" /></th>
  64.  </tr>
  65.  <tr>
  66.    <th scope="col">&nbsp;</th>
  67.    <th scope="col">&nbsp;</th>
  68.  </tr>
  69.  </table>
  70.  <? }?>
  71.  
  72.  
  73. </form>


sprawdz.php


  1. <?
  2. if ($_SESSION['token'] ==  $_POST['token']) echo "Wprowadzono <b>poprawny</b> kod";
  3. else echo "Wprowadzono <b>niepoprawny</b> kod";
  4. ?>
slawny
Zacznijmy od tego, że jak ma Ci się wysłać jak formularz odwołuje się do sprawdz.php a w nim zadnego wysyłania nie ma.
Jak sprawdzić czy jest wypełnione, najprościej

  1. <?php
  2. if($_POST['cos']=='')
  3. echo "Weź uzupełnij dane";
  4. else
  5. ?>
RubiX
Po 2 nie :

  1. <?php
  2. if($_POST['wyslij'])
  3. {
  4.   mail([email=""]'ggooob2@o2.pl'[/email], $_POST['tytul'], $_POST['tresc'], 'From:'.$_POST[email]);
  5. }
  6. ?>


tylko

  1. <?php
  2. if($_POST['wyslij'])
  3. {
  4.   mail('ggooob2@o2.pl', $_POST['tytul'], $_POST['tresc'], 'From:'.$_POST[email]);
  5. }
  6. ?>
trike
Chcesz sprawdzic wszystkie pola to musisz napisac warunek do nich, czyli cos jak napisal kolega slawny tylko polacz je ze soba za pomoca OR, czyli:
  1. <?php
  2. if ((!$_POST['tytul']) || (!$_POST['tresc']) || ... itd )
  3. ?>
gibonik
teraz nie wyswietla formularza kontaktowego , chce aby na 1 stronie sie wyswietlało i dopero jak wyszystko wypełnione wysyłało maila
  1. <?  
  2.    $_SESSION['token'] = '';
  3. for($i=0;$i<5;$i++) {
  4.  $liczba = rand(0,9);
  5. $_SESSION['token'] .= $liczba;
  6. $img.= $liczba;
  7. }
  8. if($_POST['tytul']==''){
  9. echo "Wpisz tytul";
  10. }elseif($_POST['email']==''){
  11. echo "wpisz e-mail";
  12. }elseif($_POST['tresc']==''){
  13. echo 'brak tresci';    
  14.  
  15.    $ip = $_SERVER['REMOTE_ADDR'];
  16. mail([email=""]'ggooob2@o2.pl'[/email], $_POST['tytul'], $_POST['tresc'], 'From:'.$_POST[email],$ip);
  17. echo $ip;
  18.  
  19. }
  20.  
  21. else
  22. {
  23. ?>
pianta_d
Najpierw popraw sobie na
  1. <?php
  2. mail("ggooob2@o2.pl", $_POST['tytul'], $_POST['tresc'], 'From:'.$_POST[email],$ip);
  3. ?>


tak jak pisał ci RubiX
gibonik
to porawione to na forum dopisuje się samo
lolek18
Mam ten sam problem. Po wpisanu tokena wyświetla sprawdź.php 



Kod z formularza: (form.php)



Kod
<html>
 <head>
 <title>token</title>



 </head>

 <body>
 <?php
session_start();
$_SESSION['token'] = '';
?>


<?php
for($i=0;$i<5;$i++) {
 $liczba = rand(0,9);
 $_SESSION['token'] .= $liczba;
 $img .= '<img src="'.$liczba.'.gif" />';
}
?>

<?php
if (count($_POST))
{
 ////////// USTAWIENIA //////////
 $email = 'admin@twojpewniak.pl';    // Adres e-mail adresata
 $subject = 'temat';    // Temat listu
 $message = 'Dziękujemy za wysłanie formularza';    // Komunikat
 $error = 'Wystąpił błąd podczas wysyłania formularza';    // Komunikat błędu
 $charset = 'iso-8859-2';    // Strona kodowa
 //////////////////////////////
 
 $head =
     "MIME-Version: 1.0\r\n" .
     "Content-Type: text/plain; charset=$charset\r\n" .
     "Content-Transfer-Encoding: 8bit";
 $body = '';
 foreach ($_POST as $name => $value)
 {
     if (is_array($value))
     {
         for ($i = 0; $i < count($value); $i++)
         {
             $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
         }
     }
     else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
 }
 echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
}
else
{
?>


  


  <form action="sprawdz.php"  method="post" onsubmit="mail_form(this); return false">
   
  

<!-- Podstawowe pole tekstowe -->
<input name="Imię" />Podaj swoje imię<br />
<input name="Nazwisko" />Podaj swoje nazwisko
<!-- Pole typu RADIO -->
<p>Podaj swoją płeć:</p>
<input type="radio" name="Płeć" value="Kobieta" />Kobieta
<input type="radio" name="Płeć" value="Mężczyzna" />Mężczyzna
<!-- Pole typu RADIO -->
<p>Ile masz lat?</p>
<input type="radio" name="Wiek" value="mniej niż 15" />mniej niż 15<br />
<input type="radio" name="Wiek" value="15-19" />15-19<br />
<input type="radio" name="Wiek" value="20-29" />20-29<br />
<input type="radio" name="Wiek" value="30-39" />30-39<br />
<input type="radio" name="Wiek" value="40-60" />40-60<br />
<input type="radio" name="Wiek" value="więcej niż 60" />więcej niż 60 
<!-- Pole typu CHECKBOX -->
<p>Jaką lubisz muzykę (możesz zaznaczyć więcej możliwości)?</p>
<input type="checkbox" name="Muzyka" value="Rock" />Rock<br />
<input type="checkbox" name="Muzyka" value="Heavy Metal" />Heavy Metal<br />
<input type="checkbox" name="Muzyka" value="Pop" />Pop<br />
<input type="checkbox" name="Muzyka" value="Techno" />Techno<br />
<input type="checkbox" name="Muzyka" value="Muzyka poważna" />Muzyka poważna<br />
<input type="checkbox" name="Muzyka" value="Inna" />Inna (podaj jaka):
<input name="Muzyka" />
<!-- Lista rozwijalna (typ podstawowy) z zaznaczoną opcją domyślną -->
<p>Jakiej przeglądarki internetowej używasz?</p>
<select name="Przeglądarka">
 <option selected="selected">Internet Explorer</option>
 <option>Netscape</option>
 <option>Opera</option>
 <option>Mozilla</option>
 <option>Inna</option>
</select>
<!-- Lista rozwijalna (typ rozszerzony) z zaznaczoną opcją domyślną i zmniejszoną wysokością -->
<p>Jakie znasz systemy operacyjne (możesz wybrać kilka opcji trzymając klawisz Ctrl)?</p>
<select name="System operacyjny" multiple="multiple" size="3">
 <option selected="selected">Dos</option>
 <option>Windows</option>
 <option>Linux</option>
 <option>Inny</option>
</select>
<!-- Pole komentarza (o powiększonych rozmiarach oraz z tekstem domyślnym) -->
<p>Podaj swój komentarz:</p>
<textarea name="Komentarz" cols="50" rows="10">Proszę, wpisz tutaj jakiś komentarz...</textarea>
<br /><br /><br />
<input type="text" name="token">
<!-- Przycisk WYŚLIJ -->
<input type="submit" value="Potwierdź kod" />
<!-- Przycisk WYCZYŚĆ DANE -->
<input type="reset" value="Wyczyść dane" />
  <p>Wprowadź ponizszy kod do formularza</p>

  <?php echo $img; /* Wyświetla token w formie graficznej */ ?>
</div></form>


  
  
 </body>
</html>

<?php
}
?>






natomiast sprawdź.php:



Kod
<?
session_start();
if ($_SESSION['token'] ==  $_POST['token']) echo "Wprowadzono <b>poprawny</b> kod";
else echo "Wprowadzono <b>niepoprawny</b> kod";
?>




I jak zaimplementować żeby po wpisaniu tokena przeszedł do sprawdź php i jednocześnie wysłał maila??
b4x
onsubmit="mail_form(this); return false"

a co to ma być - gdzie masz mail_form w jsie tą funkcję bo nie widzę?
lolek18
Skrypt wysyłania jest
Kod
<?php
if (count($_POST))
{
 ////////// USTAWIENIA //////////
 $email = 'admin@twojpewniak.pl';    // Adres e-mail adresata
 $subject = 'temat';    // Temat listu
 $message = 'Dziękujemy za wysłanie formularza';    // Komunikat
 $error = 'Wystąpił błąd podczas wysyłania formularza';    // Komunikat błędu
 $charset = 'iso-8859-2';    // Strona kodowa
 //////////////////////////////
 
 $head =
     "MIME-Version: 1.0\r\n" .
     "Content-Type: text/plain; charset=$charset\r\n" .
     "Content-Transfer-Encoding: 8bit";
 $body = '';
 foreach ($_POST as $name => $value)
 {
     if (is_array($value))
     {
         for ($i = 0; $i < count($value); $i++)
         {
             $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
         }
     }
     else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
 }
 echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
}
else
{
?>


 




onsubmit="mail_form(this); return false" mam umieszczone w form.php.
gcdreak
Do wysyłania emaili powinno się używać np. klasy phpMailer
lolek18
to jak to przekształcic? 
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.