Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Separacja kodu - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: Separacja kodu (/thread-separacja-kodu)



Separacja kodu - lomek - 08-01-2012

Witam, mam trochę głupie pytanie,
Używam skryptu do wysyłania maili:

Kod PHP:
<?php

if (empty($_POST['submit'])) {
  
echo
"<form class=\"formularz\" method=\"post\" action=\"index.php\">
<p>Imię i nazwisko <input type=\"text\" name=\"imie\"/></p>
<p>Adres e-mail <input type=\"text\" name=\"email\"/></p>

<textarea name=\"opis\"></textarea>
<input type=\"submit\" id=\"wyslij_zapytanie\" value=\".\" name=\"submit\"/>
</form>"
;
}

elseif (!empty(
$_POST['email'])) {

 
$message "Wyslal:\n$_POST[imie]\ntemat: $_POST[temat]\nopis: $_POST[opis]";
 
//$message = "Tresc wiadomosci:\n$_POST[tresc]\ne-mail: $_POST[email]";
    
$header "From: $_POST[email] <$_POST[email]>\nContent-Type: text/html;charset=UTF-8\n";
 
    @
mail("[email protected]","Wiadomosc ze strony WWW","$message","$header")
    or die(
'Nie udało się wysłać wiadomości');
 
    echo 
"<strong>Wiadomość wysłana z sukcesem!</strong>";
}

else echo 
"<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
?>

jednak skrypt ten jest wklejony bezpośrednio w kodzie całej (całkiem sporej strony) przez to brudzi mi się kod html. Jeśli umieszczę ten skrypt w osobny pliku też fajnie działa ale po wysłaniu maila wiadomość "Wysłano proawidłowo" wyświetla się na czystej stronie html przez to cała treść strony głównej znika, czy jest jakaś możliwość rozpisania tego tak aby wiadomości "Wysłano/niewysłano/wypelnij pola" pojawiały się w contencie strony tak jak teraz ale bez takiego zabrudzenia html?


RE: Separacja kodu - Kartofelek - 08-01-2012

Czyli jeżeli gość
a) nie wysłał formularza to wypisujesz mu formularz
b) wyslal i pole email istnieje to wysylasz wiadomosc
c) zle wypelnil pola - wypisujesz TYLKO komunikat?

To trochę bez sensu. Powinien być formularz z komunikatem.

Co do pytania. Najłatwiej było by ci skorzystać z include() (patrz google).
A no i rozbij to na html i php. Bo tworzenie całeho html za pomocą php to kiepska sprawa.
Zawsze możesz tak:
Kod:
<?php
if (.....) {
?>
kod formularza
<?php
} else if (.....) {
?>
tutaj inny kod html
<?php
} else {
?>
tutaj inny kod html
<?php
};
?>