Skocz do zawartości


Zdjęcie

[php]Wysyłanie formularza bez programu pocztowego


  • Zaloguj się, aby dodać odpowiedź
12 odpowiedzi w tym temacie

#1 rafales

rafales

    Początkujący

  • 68 postów

Napisano 19 01 2011 - 11:49

Coraz więcej ludzi zaczyna pytać jak wysłać formularz ze strony bez użycia programu pocztowego. Co prawda odpowiedź można znaleźć w sieci, ale nie każdy wie, którędy droga.
Na początek kilka ważnych kwestii.

1. Plik, który zawiera odpowiedni kod php, musi mieć rozszerzenie .php, w przeciwnym razie nic z tego.
2. Kod php wklejamy w to miejsce, gdzie ma wyświetlić się na stronie.
3. Oczywiście można modyfikować nazwy i rodzaje pól i buttonów - to już zależy od autora strony.

kod php

//formularz kontaktowy - bez programu pocztowego
<?php 
if(!empty($_POST["mail"]))	// jeżeeli pole mail nie jest puste
{

		echo "Wiadomość wysłana pomyślnie";	// wyświetla komunikat o wysłaniu maila 
		$headers = 'From: biuro@wekart.pl'; // nadawca maila, z tego będzie wysłana wiadomość
		$email = 'biuro@wekret.pl';		// na ten adres będą dostarczane wiadomości ze strony 
		$subject = $_POST['temat'];			// temat wiadomości
		$message = "Wiadomość od: ".$_POST['mail']."	

		".$_POST['tresc'];								// całość treści
														//

		mail($email, $subject, $message, $headers);		// funkcja wysyłająca wiadomość
}
?>
<form action="kontakt.php" method="post"> 
<b>Twój e-mail</b><br/>
<input type="text" name="mail"/><br/>
<b>Temat</b><br/>
<input type="text" name="temat"/><br/>
<b>Treść</b><br/>
<textarea name="tresc" cols="50" rows="10"></textarea><br/>
<input type="submit" value="Wyślij"/>

</form>

Zmiany wprowadzone, więc można sprawdzać.



Użytkownik makensis edytował ten post 28 08 2015 - 09:52

  • 0

#2 Macsch15

Macsch15

    Profesjonalista

  • 3 705 postów

Napisano 19 01 2011 - 12:06

Masz złe nawiasy w pierwszym echo, przed ostatnim i ostatnim, powinny być pojedyncze bo w htmlu masz podwójne.

Podstawy... :D

  • 0

#3 rafales

rafales

    Początkujący

  • 68 postów

Napisano 19 01 2011 - 12:51

Masz złe nawiasy w pierwszym echo, przed ostatnim i ostatnim, powinny być pojedyncze bo w htmlu masz podwójne.

Podstawy... :D


Chyba jestem ślepy :-) bo nie widzę błędu.
  • 0

#4 Macsch15

Macsch15

    Profesjonalista

  • 3 705 postów

Napisano 19 01 2011 - 12:55

To uruchom ten skrypt, a zobaczysz. :D

Co więcej, nie masz w zmiennych kropki między tekstem a POST'em i samych nawiasów w POST.

Takie coś:
$message = "Treść wiadomości:\n$_POST[tresc]\nWyślij $_POST[imie]\ne-mail: $_POST[email]";
Nie ma prawa zadziałać ;)
  • 0

#5 rafales

rafales

    Początkujący

  • 68 postów

Napisano 19 01 2011 - 14:17

To uruchom ten skrypt, a zobaczysz. :D

Co więcej, nie masz w zmiennych kropki między tekstem a POST'em i samych nawiasów w POST.

Takie coś:

$message = "Treść wiadomości:\n$_POST[tresc]\nWyślij $_POST[imie]\ne-mail: $_POST[email]";
Nie ma prawa zadziałać ;)


To tylko Twoje zdanie. Zaprzeczeniem tego jest mój formularz :-) Tak jak pisałem w php raczkuję, stąd pewne błędy mogą się zdarzać, ale skoro u mnie działa to musi być ok.

A chcesz się zdziwić?
absurdzik.pl/kontakt.php

to jest strona, którą właśnie robię...co prawda nie jest dokończona, ale ten formularz możesz zobaczyć...sprawdzałem, maile idą az miło.

Użytkownik rafales edytował ten post 19 01 2011 - 14:27

  • 0

#6 Macsch15

Macsch15

    Profesjonalista

  • 3 705 postów

Napisano 19 01 2011 - 14:33

To wklej do jakiegoś osobnego pliku i uruchom.

Przykładowa zmienna $message powinna wyglądać mniej więcej tak:
$message = "Treść wiadomości:" . $_POST['tresc'] . "Wyślij" . $_POST['imie'] "e-mail:" . $_POST['email'];

A i po tym nie wiem czy będzie działać bo tak ogólnie patrze na niego.
  • 0

#7 rafales

rafales

    Początkujący

  • 68 postów

Napisano 19 01 2011 - 14:41

To wklej do jakiegoś osobnego pliku i uruchom.

Przykładowa zmienna $message powinna wyglądać mniej więcej tak:

$message = "Treść wiadomości:" . $_POST['tresc'] . "Wyślij" . $_POST['imie'] "e-mail:" . $_POST['email'];

A i po tym nie wiem czy będzie działać bo tak ogólnie patrze na niego.



To wytłumacz mi dlaczego działa na stronie? Czary mary?
  • 0

#8 Macsch15

Macsch15

    Profesjonalista

  • 3 705 postów

Napisano 19 01 2011 - 14:46

Nie wiem co masz na stronie.

Specjalnie dla Ciebie wrzuciłem na serwer:
http://www.[link juz nie potrzebny]

:D
  • 0

#9 rafales

rafales

    Początkujący

  • 68 postów

Napisano 19 01 2011 - 14:47

Nie wiem co masz na stronie.

Specjalnie dla Ciebie wrzuciłem na serwer:
http://www.******

:D


Na stronie mam dokładnie taki sam kod, jak Ci wkleiłem, ponieważ tutaj go kopiowałem, nie pisałem.
  • 0

#10 Macsch15

Macsch15

    Profesjonalista

  • 3 705 postów

Napisano 19 01 2011 - 14:48

Ok, niech inni sobie potestują i odpowiedzą czy działa. :D
  • 0

#11 Gość_cabana_*

Gość_cabana_*

Napisano 19 01 2011 - 16:26

Nie działa :D

http://cabana.datashellz.org/kontakt.php

  • 0

#12 rafales

rafales

    Początkujący

  • 68 postów

Napisano 19 01 2011 - 19:46

Poczytałem trochę i wiem co trzeba zmienić, choc nadal nie wiem dlaczego u mnie działa. Poprostu musi ignorować te błędy. Za jakąs godzinkę wrzucę poprawny kod i będzie po kłopocie. Wtedy poproszę Was o sprawdzenie.

  • 0

#13 Macsch15

Macsch15

    Profesjonalista

  • 3 705 postów

Napisano 20 01 2011 - 14:17

Działa, jednakże przydało by się wyrażenie regularne które sprawdza poprawność emaila wpisanego, ale to nie wymagane i raczej piszącemu powinno zależeć na tym żeby on był dobrze wpisany jeśli by chciał dostać odpowiedź :D

  • 0

Zobacz więcej tematów z tagiem: formularz



Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych