Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz kontaktowy, upgrade
noobbob
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.11.2008

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


Z gory napisze, ze malo co umiem w php, wiec zwracam sie z problemem do specjalistow. Oto kod dzialajacego formularza:

  1. <span id="form">
  2.  
  3.   <?php
  4.   if (count($_POST))
  5.   {
  6.       ////////// USTAWIENIA //////////
  7.       $email = 'ndaariusz@gmail.com';    // Adres e-mail adresata
  8.       $subject = 'WWW.CERTIC.PL';    // Temat listu
  9.       $message = '<tt class="text_form"><span style="margin-top:249px;"><strong>Dziękujemy za wysłanie formularza kontaktowego</strong></span></tt>';    // Komunikat
  10.       $error = 'Wystąpił błąd podczas wysyłania formularza';    // Komunikat błędu
  11.       $charset = 'iso-8859-2';    // Strona kodowa
  12.       //////////////////////////////
  13.      
  14.       $head =
  15.           "MIME-Version: 1.0r\n" .
  16.           "Content-Type: text/plain; charset=$charsetr\n" .
  17.           "Content-Transfer-Encoding: 8bit";
  18.       $body = '';
  19.       foreach ($_POST as $name => $value)
  20.       {
  21.           if (is_array($value))
  22.           {
  23.               for ($i = 0; $i < count($value); $i++)
  24.               {
  25.                   $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "r\n";
  26.               }
  27.           }
  28.           else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "r\n";
  29.       }
  30.       echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  31.   }
  32.   else
  33.   {
  34.   ?>
  35.  
  36.   <?php
  37.   }
  38.   ?>
  39.  
  40.   <form action="certic.php?id=contact" method="post">
  41.   <tt class="text_form">Twoje imię i nazwisko</tt>
  42.  
  43.   <input type="text" name="">
  44.  
  45.  
  46.   <tt class="text_form">Twój adres e-mail</tt>
  47.  
  48.   <input type="text" name="email">
  49.  
  50.  
  51.   <tt class="text_form">Treść wiadomości</tt>
  52.  
  53.   <textarea name="tresc"></textarea>
  54.  
  55.   <input class="przycisk_send" type="submit" value="WYSLIJ">
  56.   </form>
  57.  
  58.     </span>


Wiadomosc, wyslana z formularz wyglada nastepujaco:

Cytat
od kogo: www daemon apache temat: jakis tam temat

nazwa=Rafał Szewczenko
email=szewczen69@interia.pl
tresc=pytanie


Chciałbym aby wyglądało to tak:

Cytat
od kogo: adres strony, z której został wysłany formularz (sam sobie ustawiam) temat: jakis tam temat

Rafał Szewczenko
szewczen69@interia.pl

tresc zapytania
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




uzywaj wlasciwego bbcode

Tak na szybko:
zamien: "$name="
na: ""

smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
noobbob
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.11.2008

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


Jeden problem z głowy. Została jeszcze sprawa odstępu imienia, maila od treści oraz nadawcy (adres strony, z której został wysłany formularz).
Go to the top of the page
+Quote Post
hostingekspert
post
Post #4





Grupa: Zarejestrowani
Postów: 51
Pomógł: 5
Dołączył: 12.04.2007
Skąd: 1=1

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


  1. <span id="form">
  2.  
  3.   <?php
  4.   if (count($_POST))
  5.   {
  6.       ////////// USTAWIENIA //////////
  7.       $email = 'ndaariusz@gmail.com';    // Adres e-mail adresata
  8.       $subject = 'WWW.CERTIC.PL';    // Temat listu
  9.       $message = '<tt class="text_form"><span style="margin-top:249px;"><strong>Dziękujemy za wysłanie formularza kontaktowego</strong></span></tt>';    // Komunikat
  10.       $error = 'Wystąpił błąd podczas wysyłania formularza';    // Komunikat błędu
  11.       $charset = 'iso-8859-2';    // Strona kodowa
  12.       $skad=$_SERVER['SERVER_NAME'].'/'.$_SERVER['PHP_SELF'];
  13.       //lub $skad=$_SERVER['SERVER_NAME'].'/'.$_SERVER['REQUEST_URI']; nie sprawdzane
  14.       //////////////////////////////
  15.      
  16.       $head =
  17.           "MIME-Version: 1.0r\n" .
  18.           "Content-Type: text/plain; charset=$charsetr\n" .
  19.           "Content-Transfer-Encoding: 8bit".
  20.           "From: ".stripslashes($_POST['email'])." r\n".
  21.           "Cc: ".stripslashes($_POST['email'])." r\n".
  22.           "Bcc: ".stripslashes($_POST['email'])." r\n";
  23.  
  24. $body='Od kogo: '.$skad.'
  25. Temat: .'stripslashes($_POST['temat']).'
  26.  
  27. '.stripslashes($POST['imie_nazwisko'])'.
  28. '.stripslashes($POST['email'])'.
  29.  
  30. '.stripslashes($POST['tresc']);
  31.  
  32.       echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  33.   }
  34.   ?>
  35.  
  36.   <form action="certic.php?id=contact" method="post">
  37.   <tt class="text_form">Twoje imię i nazwisko</tt>
  38.   <input type="text" name="imie_nazwisko">
  39.   <tt class="text_form">Twój adres e-mail</tt>
  40.   <input type="text" name="email">
  41.   <tt class="text_form">Tytul</tt>
  42.   <input type="text" name="tytul">
  43.   <tt class="text_form">Treść wiadomości</tt>
  44.   <textarea name="tresc"></textarea>
  45.   <input class="przycisk_send" type="submit" value="WYSLIJ">
  46.   </form>
  47.  
  48.     </span>


  1. else
  2.   {
  3.   ?>
  4.  
  5.   <?php
  6.   }


tę część kodu usunąłęm bo nic nie robi

napisane szybko w tym samym "stylu" w jaki napisana jest poprzednia wersja skryptu, nie weryfikowane
Go to the top of the page
+Quote Post
noobbob
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.11.2008

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


Dzieki za pomoc, ale niesety nie dziala:

Cytat
Parse error: parse error, unexpected T_STRING in /srv/www/htdocs/web169/html/contact.php on line 76
Go to the top of the page
+Quote Post
hostingekspert
post
Post #6





Grupa: Zarejestrowani
Postów: 51
Pomógł: 5
Dołączył: 12.04.2007
Skąd: 1=1

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


która to linia w wyzej przedstawionym kodzie?
Go to the top of the page
+Quote Post
noobbob
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.11.2008

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


Cytat
Temat: .'stripslashes($_POST['temat']).'
Go to the top of the page
+Quote Post
qbatoja
post
Post #8





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 3.05.2005

Ostrzeżenie: (10%)
X----


kropka za apostrofem smile.gif
uwazamy uwazamy! smile.gif

Ten post edytował qbatoja 20.11.2008, 14:45:50
Go to the top of the page
+Quote Post
noobbob
post
Post #9





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.11.2008

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


Nadal ten sam błąd sadsmiley02.gif
Go to the top of the page
+Quote Post
f1xer
post
Post #10





Grupa: Zarejestrowani
Postów: 403
Pomógł: 68
Dołączył: 20.03.2008

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


  1. <span id="form">
  2.  
  3.  <?php
  4.  if (count($_POST))
  5.  {
  6.      ////////// USTAWIENIA //////////
  7.      $email = 'ndaariusz@gmail.com';    // Adres e-mail adresata
  8.      $subject = 'WWW.CERTIC.PL';    // Temat listu
  9.      $message = '<tt class="text_form"><span style="margin-top:249px;"><strong>Dziękujemy za wysłanie formularza kontaktowego</strong></span></tt>';    // Komunikat
  10.      $error = 'Wystąpił błąd podczas wysyłania formularza';    // Komunikat błędu
  11.      $charset = 'iso-8859-2';    // Strona kodowa
  12.      $skad=$_SERVER['SERVER_NAME'].'/'.$_SERVER['PHP_SELF'];
  13.      //lub $skad=$_SERVER['SERVER_NAME'].'/'.$_SERVER['REQUEST_URI']; nie sprawdzane
  14.      //////////////////////////////
  15.    
  16.      $head =
  17.          "MIME-Version: 1.0r\n" .
  18.          "Content-Type: text/plain; charset=$charsetr\n" .
  19.          "Content-Transfer-Encoding: 8bit".
  20.          "From: ".stripslashes($_POST['email'])." r\n".
  21.          "Cc: ".stripslashes($_POST['email'])." r\n".
  22.          "Bcc: ".stripslashes($_POST['email'])." r\n";
  23.  
  24. $body='Od kogo: '.$skad.'
  25. Temat: '.stripslashes($_POST['temat']).'
  26.  
  27. '.stripslashes($POST['imie_nazwisko']).'
  28. '.stripslashes($POST['email']).'
  29.  
  30. '.stripslashes($POST['tresc']);
  31.  
  32.      echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  33.  }
  34.  ?>
  35.  
  36.  <form action="certic.php?id=contact" method="post">
  37.  <tt class="text_form">Twoje imię i nazwisko</tt>
  38.  <input type="text" name="imie_nazwisko">
  39.  <tt class="text_form">Twój adres e-mail</tt>
  40.  <input type="text" name="email">
  41.  <tt class="text_form">Tytul</tt>
  42.  <input type="text" name="tytul">
  43.  <tt class="text_form">Treść wiadomości</tt>
  44.  <textarea name="tresc"></textarea>
  45.  <input class="przycisk_send" type="submit" value="WYSLIJ">
  46.  </form>
  47.  
  48.    </span>

Teraz powinno byc ok


--------------------
Pomogłem? wyraź to i kliknij "Pomógł"
Go to the top of the page
+Quote Post
noobbob
post
Post #11





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.11.2008

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


Niestety nie jest ok. Po pierwsze pole tekstowe "temat" jest zbędne. Po drugie co bym nie wpisał w polach, wiadomość przychodzi w następującej postaci:

Od kogo: WWW daemon apache / powinno byc WWW.NAZWA.PL (ustawiam sam)

Tresc:

Od kogo: //certic.php
Temat:

... i tyle
Go to the top of the page
+Quote Post
hostingekspert
post
Post #12





Grupa: Zarejestrowani
Postów: 51
Pomógł: 5
Dołączył: 12.04.2007
Skąd: 1=1

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


fakt, literówka byla, sorki, nie sprawdzalem ale w tresci nie mozesz miec takiej zawartosci o ktorej mowisz poniewaz

  1. <?php
  2. $body='Od kogo: '.$skad.'
  3. Temat: .'stripslashes($_POST['temat']).'
  4.  
  5. '.stripslashes($POST['imie_nazwisko'])'.
  6. '.stripslashes($POST['email'])'.
  7.  
  8. '.stripslashes($POST['tresc']);
  9. ?>


powinno ci wzwracac bez sprawdzania tresc maila

http://jakisadres.pl/jakisplik.php</a>

[wpisane w forularzu imie i nazwisko]
[wpisany w forularzu email]

[wpisana w forularzu tresc]" title="Zobacz w manualu PHP" target="_manual">Od kogo: http://jakisadres.pl/jakisplik.php

[wpisane w forularzu imie i nazwisko]
[wpisany w forularzu email]

[wpisana w forularzu tresc]

widze ze formularz jest przesyłany do

  1. <?php
  2. <form action="certic.php?id=contact" method="post">
  3. ?>


zmien to na

  1. <?php
  2. <form method="post">
  3. ?>


albo moze nie edytujesz pliku certic.php tylko jakis inny ? zgaduje

Ten post edytował hostingekspert 20.11.2008, 16:15:50
Go to the top of the page
+Quote Post
noobbob
post
Post #13





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.11.2008

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


Wszystko sie pochrzanilo.... Zacznijmy jeszcze raz.

Mam kod:

  1. <?php
  2.   if (count($_POST))
  3.   {
  4.       ////////// USTAWIENIA //////////
  5.       $email = 'ndaariusz@gmail.com';    // Adres e-mail adresata
  6.       $subject = 'Formularz kontaktowy';    // Temat listu
  7.       $message = '<tt class="text_form"><span style="margin-top:249px;"><strong>Dziękujemy za wysłanie formularza kontaktowego</strong></span></tt>';    // Komunikat
  8.       $error = 'Wystąpił błąd podczas wysyłania formularza';    // Komunikat błędu
  9.       $charset = 'iso-8859-2';    // Strona kodowa
  10.       //////////////////////////////
  11.      
  12.       $head =
  13.           "MIME-Version: 1.0r\n" .
  14.           "Content-Type: text/plain; charset=$charsetr\n" .
  15.           "Content-Transfer-Encoding: 8bit";
  16.       $body = '';
  17.       foreach ($_POST as $name => $value)
  18.       {
  19.           if (is_array($value))
  20.           {
  21.               for ($i = 0; $i < count($value); $i++)
  22.               {
  23.                   $body .= "" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "r\n";
  24.               }
  25.           }
  26.           else $body .= "" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "r\n";
  27.       }
  28.       echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  29.   }
  30.   else
  31.   {
  32.   ?>
  33.     <?php
  34.   }
  35.   ?>
  36.  
  37. <form action="certic.php?id=contact" method="post">
  38. <tt class="text_form">Twoje imię i nazwisko</tt><br>
  39. <input type="text" name="nazwa"><br>
  40.  
  41. <tt class="text_form">Twój adres e-mail</tt><br>
  42. <input type="text" name="email"><br>
  43.  
  44. <tt class="text_form">Treść wiadomości</tt><br>
  45. <textarea name="tresc"></textarea><br>
  46. <input class="przycisk_send" type="submit" value="WYSLIJ">
  47. </form>


Po wysłaniu emaila widzę coś takiego:





I teraz o co kaman.
1. W nagłówku zamiast WWW daemon apache, chciałbym sam sobie ustawić co ma tam być.
2. W treści wiadomości chciałbym aby tekst był oddzielony od danych kontaktowych.

Jest ktoś w stanie to ogarnąć?
Go to the top of the page
+Quote Post
mike
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Dorzuć nagłówek:
From: twój_adres_email
Go to the top of the page
+Quote Post
noobbob
post
Post #15





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.11.2008

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


Sorry, ale nie bardzo wiem gdzie i czy cos trzeba do tego dopisac (jak wspominalem na samym poczatku, z php jestem ciemny jak noc).
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 Aktualny czas: 21.08.2025 - 02:51