Προς το περιεχόμενο

Φόρμα Κρατησεών ( Ξενοδοχείο)


snik

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα παιδια, θα ηθελα να μαθω αν υπαρχει καποια ετοιμη φορμα που θα μπει σε ενα site ξενοδοχειου. Ο πελατης θα επιλεγει τις ημερομηνιες και οταν παταει send θα πηγαινουν σε καποιο mail που θα εχω ορισει εγω. Υπαρχει κατι τετοιο ετοιμο; Δεν εχω γνωσεις σε php για αυτο και δεν ξερω πως μπορω να το υλοποιησω μονος μου. Αν εχετε καποια προταση θα σας ημουν υποχρεος.

Δημοσ.

Το πρόβλημα σου είναι πως να στέλνεις e-mail σε php?

Δεν ξέρεις πως να τραβήξεις τα δεδομένα από την φόρμα που θα συμπληρώσει ο πελάτης?

Δημοσ.

Το design στο site ειναι ετοιμο, δηλαδη υπαρχει το markup σε html τα πεδια και ολα αλλα δεν εχω βρει καποιο script σε Php που να τραβαει τα δεδομενα που θα εισαγει ο χρηστης και να τα στελνει σε ενα mail. Δηλαδη πρεπει να συνδεσω την φορμα και να την κανω λειτουργικη.

Δημοσ.

Λοιπόν, θα πρέπει να ορίσεις το tag της φόρμας για τα πεδία που σε ενδιαφέρουν, δηλαδή αρχίζεις με

>
<form name="form_name" method="post" action="send_data.php">

 

και τελειώνει με το να κλείσεις το tag της φόρμας με το

>
</form>

 

Μετά θα βάλεις ένα κουμπί

>
<input type="Submit" value="Καταχώρηση">

που ουσιαστικά θα δημιουργήσεις ένα κουμπί όπου όταν το πατήσεις θα στείλει τα δεδομένα που έχεις μέσα στην φόρμα, με POST Και όχι με GET, στην σελίδα send_data.php

 

Κάθε text που έχεις στην σελίδα σου θα πρέπει να έχοουν ένα name, Π.χ εάν είχες ένα πεδίο που θα γράφεις το όνομα του ξενοδοχείου θα ήταν κάπως έτσι

>
<input type="text" name="hotel_name" id="hotel_name" class="myText">

 

Τώρα στην send_data.php για να τραβήξεις τα δεδομένα για το πεδίο του ονόματος του ξενοδοχείου γράφεις

>
$hotel_name = $_POST['hotel_name'];

 

Για να δεις ότι πράγματι τράβηξες σωστά την τιμή του text γράψε

>
echo $hotel_name;

 

Τώρα για να στείλεις e-mail υπάρχουν διάφοροι τρόποι. 1ας τρόπος είναι ο παρακάτω που βρήκα με μία γρήγορη αναζήτηηση στο google

>
<?php
//define the receiver of the email
$to = '[email protected]';
//define the subject of the email
$subject = 'Test email';
//define the message to be sent. Each line should be separated with \n
$message = "Hello World!\n\nThis is my first mail.";
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: [email protected]\r\nReply-To: [email protected]";
//send the email
$mail_sent = @mail( $to, $subject, $message, $headers );
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed" 
echo $mail_sent ? "Mail sent" : "Mail failed";
?>

Δημοσ.

Αυτή είνα μια function που είχα φτιάξει παλιά για αποστολή mail

 

function send_mail($mail_to,$mail_from,$mail_subject,$mail_message)

{

//SEND MAIL TO

$to = $mail_to;

//SUBJECT OF THE MAIL

$subject ='=?utf-8?b?' . base64_encode($mail_subject).'?=';

//MESSAGE OF THE MAIL

$message=$mail_message;

//HEADERS

$headers = 'MIME-Version: 1.0' . "\r\n";

$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

$headers .= "From: ".$mail_from."\r\n";

$headers .= "Reply-To: ".$mail_from."\r\n";

$headers .= "Return-Path: ".$mail_from."\r\n";

//SEND MAIL

if ( mail($to,$subject,$message,$headers) )

{

return true;

}

else

{

return false;

}

}

 

Περνάς τις παραμέτρους και είσαι OK ( Όσο θυμάμαι έπαιζε ) :-)

Δημοσ.

Uberalles_gr καταρχην σε ευχαριστω για το πληρες post σου!

Αυτο που δεν εχω κανει μεχρι τωρα ειναι το κομματι της Php δηλαδη εχω βαλει names εχω φτιαξει και το κουμπι για το submit. Αυτο που εχω απορια ειναι το πως θα βαλω σε αυτην την γραμη και αλλες μεταβλητες.

>$message = "Hello World!\n\nThis is my first mail.";

Για να καταλαβεις λιγο τι εννοω δες λιγο αυτην την φορμα (τυχαιο site στο google).

Ας πουμε οτι το πεδιο με την ημερομηνια αφιξης εχει name "afixsi", θα πρεπει στο παραπανω να δηλωσω την μεταβλητη αυτη στην αρχη και ο κωδικας να γινει καπως ετσι σωστα;

>
$hotel_name = $_POST['afixsi];

$message = "H ημερομηνια αφιξης ειναι\n", $hotel_name;

Η εχω κανει καπου λαθος;

 

---------- Προσθήκη στις 21:22 ---------- Προηγούμενο μήνυμα στις 21:20 ----------

 

Δε θα πρέπει όμως να υπάρχει και βάση δεδομένων για να ελέγχει την διαθεσιμότητα?

 

Δεν το εχω κανει τοσο περιπλοκο βαζοντας βασεις, θα ερχονται στον ξενοδοχο με mail και αυτος θα κοιταει αν υπαρχει κατι διαθεσιμο αυτον τον καιρο.

 

το site θα είναι στατικό , σε joomla , wordpress ?

 

Ειναι στατικο

Δημοσ.

Στην function παραπάνω φαίνεται πως στην ίδια μεταβλητή μπορείς να βάλεις πολλές μεταβλητές.

$headers = 'MIME-Version: 1.0' . "\r\n";

$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

$headers .= "From: ".$mail_from."\r\n";

$headers .= "Reply-To: ".$mail_from."\r\n";

$headers .= "Return-Path: ".$mail_from."\r\n";

 

Δεν ξέρω αν αυτή ήταν η ερώτηση σου αλλα με την τελεία μπορείς να κάνεις concat πολλά string που δημιουργείς σε μία μεταβλητή

 

ΠΧ

 

$message = $var1.$var2.$var3

 

Οπότε όπως είπες σωστά θα πιάνεις με to POST τις μεταβλητές σου και θα δημιουργήσεις με αυτές το message κάνοντας concat με την τελεία

Δημοσ.

Snik έστω ότι έχεις τις εξής μεταβλητές :

>
$name = $_POST['name'] --->Όνομα πελάτη
$surname = $_POST['surname']  --->Επώνυμο πελάτη
$date_from = $_POST['date_from']  --->Ημερομηνία άφιξης
$date_end = $_POST['date_end'] --->Ημερομηνία αναχώρησης
....
....
....
....

 

Έτσι το $message θα είναι κάπως έτσι.

>
$message = "<div class='myClass'>Είχαμε μία νέα αίτηση για δωμάτιο από τον ".$name." ".$surname".<br/>
Θα ήθελε ένα δωμάτιο από τις ".$date_from." έως ".$date_end."........</div>";

 

Γενικά όπως είπαν έχουμε ένα string και θέλουμε να το ενώσουμε με μία μεταβλητή τότε αυτό γίνεται(με την τελεία) ως εξής:

>
$test = "Δοκιμη".$my_variable;

 

Και τοπικά δεν θα στέλνει e-mail(μου φαίνεται κιόλας) θα πρέπει να το ανεβάσεις στον server

Δημοσ.
Και τοπικά δεν θα στέλνει e-mail(μου φαίνεται κιόλας) θα πρέπει να το ανεβάσεις στον server

 

Τοπικά μπορεί να στείλει mail αλλα πρέπει να χρησιμοποιηθεί SMTP και η Pear Mail class για την αποστολή του Mail. Επομένως μπορεί να στείλει email απο τον λογαριασμό στο Gmail. Αλλά το Gmail θα το κόψει ως spam και παίζει να κλειδωθεί κιόλας o λογαριασμός απο όπου στέλνεται το mail:) :) :)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...