WebDev Zone.GR
Φόρμα επικοινωνίας
Πολλοί από εσάς θα θέλατε να δημιουργήσετε μια φόρμα επικοινωνίας ώστε να μπορούν οι επισκέπτες σας να επικοινωνούν μαζί σας. Ίσως δοκιμάσατε κάποιες έτοιμες λύσεις αλλά δεν σας άρεσαν; Θα προσπαθήσουμε μαζί να δημιουργήσουμε το κομμάτι της αποστολής με email με PHP.
Πρώτα απ'όλα θα χρειαστούμε μια φόρμα επικοινωνίας.
Παρακάτω ακολουθεί μια απλή φόρμα επικοινωνίας με τα βασικά στοιχεία
<form action="doSendForm.php" method="post">
Ονοματεπώνυμο<br />
<input type="text" size="30" maxlength="150" name="fullname" /><br />
Email:<br />
<input type="text" size="30" maxlength="150" name="email" /><br />
Σχόλια:<br />
<textarea cols="30" rows="5" name="comments"></textarea><br /><br />
<button type="submit">Αποστολή</button>
</form>
Τώρα θα πρέπει να δημιουργήσουμε το αρχείο doSendForm.php για να στείλουμε το mail μας. Πρώτα παίρνουμε τις μεταβλητές που στέλνονται με POST
<?php
$fullname=htmlspecialchars($_POST['fullname']);
$email=htmlspecialchars($_POST['email']);
$comments=htmlspecialchars($_POST['comments']);
?>
Και μετά χρησιμοποιούμε την function mail της PHP για να στείλουμε το email
$subject = "Επικοινωνία";
$headers = "MIME-Version: 1.0\r\n";
$headers = "From: $email\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$message="Όνομα: $fullname <br /> Email: $email <br /> Σχόλια: $comments";
mail('tomail@selida.gr',$subject,$message,$headers); // if mail is successful
echo "<center>Θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό. Ευχαριστούμε!</center>";
Οι παράμετροι που βάζουμε στην mail είναι:
•$email: Η πρώτη τιμή που δίνουμε. Είναι το email που θα λάβει τα αποτελέσματα της φόρμας.
•$subject: Το θέμα του email μας.
•$message: Το κυρίως μήνυμα που θα περιέχει το email μας. Μπορεί να είναι κείμενο απλό ή και HTML. Εμείς δίνουμε τα ονόματα των μεταβλητών που περιέχουν τα αποτελέσματα της φόρμας.
•$headers: Κάποιους headers για την ομαλή προβολή του email μας (πχ αποστολέας, κωδικοποίηση κτλ)
Το πρόγραμμα μας είναι έτοιμο. Καλύπτει τις βασικές ανάγκες για αποστολή email.
Ένα βήμα πιο πέρα
Στην φόρμα μας μπορούμε να προσθέσουμε παραπάνω χαρακτηριστικά όπως έλεγχο για απαιτούμενα πεδία καθώς και έλεγχος εγκυρότητας του email.
Για να ελέγχουμε αν κάποιο πεδίο (πχ email, σχόλια) είναι κενά, ελέγχουμε αν έχουν τιμή τα $_POST.
// diloseis twn $_POST
if (empty($fullname) || empty($email)) {
die ("Συπληρώστε τα υποχρεωτικά πεδία!");
// sunexia tou kdoika.. $subject = "Επικοινωνία" .....
Αν θέλουμε να δηλώσουμε περισσότερα πεδία, απλά θέτουμε || empty($metavliti)
Επίσης αν θέλετε να ελέγξετε το email, χρησιμοποιείτε κανονικές εκφράσεις
if (!(ereg ("^.+@.+\\..+$", $email)) ) {
die ("Δώστε μιας έγκυρης μορφής mail.");
Και είμαστε έτοιμοι :)Εκτυπώθηκε από: http://www.webdevzone.gr
Κατηγορία: PHP
Ημερομηνία: Τρίτη, 25 Μαΐου 2010
Συγγραφέας: Seldimi