Jump to content

Cum Fac Un Formular De Rezervare (camere, Bilete)?


Recommended Posts

Posted

Daca doriti sa creati un formular de rezervare a unor camere la un hotel (in exemplul dat), sau unor bilete la cinema (codul de mai jos, va trebui sa sufere niste modificari minore), nu trebuie decat sa creati o pagina de extensie .php in care introduceti codul de mai jos.

<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex,nofollow" />
<title>reservation_form</title>

<style type="text/css">
<!--
* {
margin:0;
padding:0;
}

body {
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:12px;
color:#000000;
}

#reservation_form div {
margin:0 0 5px 0;
}

#reservation_form label {
width:95px;
float:left;
border:0px #333366 solid;
margin:0 5px 0 0;
/*text-align:right;*/
}

#reservation_form input {
width:150px;
border:1px #CCCCCC solid;
}

#reservation_form input:hover {
border:1px #333 solid;
}

#reservation_form select {
border:1px #CCCCCC solid;
}

#reservation_form select:hover {
border:1px #333 solid;
}

#reservation_form textarea {
width:300px;
height:150px;
border:1px #CCCCCC solid;
}

#reservation_form textarea:hover {
border:1px #333 solid;
}

#reservation_form input#trimite {
width:auto;
border:none;
background:#333333;
color:#fff;
}

#scriptul_php {
padding:0 0 0 100px;
}

#reservation_form div span {
color:#CC0000;
}
-->
</style>

</head>

<body>
<!--
generez URL'ul absolut al paginii curente
catre pagina curenta vor fi trimise spre procesare datele din formularul de rezervare
-->
<form action="<?php echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; ?>" method="post" id="reservation_form">
<!--scriptul PHP-->
<div id="scriptul_php">
<?php
//scriptul PHP se executa DOAR DACA este apasat butonul submit $_POST['trimite']
if (isset($_POST['trimite'])) {
//definesc arrayul in care voi strange mesajele de eroare
$erori = array();

//curat de apostrofuri variabilele prin functia stripslashes()
//elimin eventualele taguri din mesaj prin functia strip_tags()
//bag in sesiune variabilele
if (!empty($_POST['nume'])) {
$nume = stripslashes(strip_tags($_POST['nume']));
$_SESSION['nume'] = $nume;
} else {
$nume = NULL;
$_SESSION['nume'] = '';

$erori[] = 'Nu ati completat campul <strong>Nume</strong>.';
}

if (!empty($_POST['telefon'])) {
$telefon = stripslashes(strip_tags($_POST['telefon']));
$_SESSION['telefon'] = $telefon;

if (!is_numeric($telefon)) {
$erori[] = 'Campul <strong>Telefon</strong> poate fi completat numai cu cifre.';
}
} else {
$telefon = NULL;
$_SESSION['telefon'] = '';

$erori[] = 'Nu ati completat campul <strong>Telefon</strong>.';
}

if (!empty($_POST['email'])) {
$email = stripslashes(strip_tags($_POST['email']));
$_SESSION['email'] = $email;

if (!eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,3}$", $email)) {
$erori[] = 'Adresa de email nu este valida.';
}
} else {
$email = NULL;
$_SESSION['email'] = '';

$erori[] = 'Nu ati completat campul <strong>Email</strong>.';
}

if (!empty($_POST['specificatii'])) {
$specificatii = stripslashes(strip_tags($_POST['specificatii']));
$_SESSION['specificatii'] = $specificatii;
} else {
$specificatii = NULL;
$_SESSION['specificatii'] = '';

$erori[] = 'Nu ati completat campul <strong>Specificatii</strong>.';
}

//daca nu exista erori datele vor fi trimise
if (empty($erori)) {
//daca vreau sa trimit la mai multe adrese de email mesajul, separ adresele de email prin virgula
//adica linia de cod va arata astfel:
//$to = 'adresa1@yahoo.com,adresa2@yahoo.com,adresa3@yahoo.com';
$to = 'adresa_dumneavoastra_de_email@yahoo.com';

$subject = substr($specificatii,0,20).'..';

$body = 'Rezervare primita de pe site`ul '.$_SERVER['HTTP_HOST'].'<br /><br />'.
'<strong>Nume:</strong> '.$nume.'<br />
<strong>Telefon:</strong> '.$telefon.'<br />
<strong>Email:</strong> '.$email.'<br />
<strong>De la:</strong> '.$_POST['ziua1'].' '.$_POST['luna1'].' '.$_POST['anul1'].'<br />
<strong>Pana la:</strong> '.$_POST['ziua2'].' '.$_POST['luna2'].' '.$_POST['anul2'].'<br />
<strong>Tip camera:</strong> '.$_POST['tip_camera'].'<br />
<strong>Nr. de camere:</strong> '.$_POST['nr_camere'].'<br />
<strong>Oaspeti(adulti):</strong> '.$_POST['oaspeti_adulti'].'<br />
<strong>Oaspeti(copii):</strong> '.$_POST['oaspeti_copii'].'<br />
<strong>Specificatii:</strong> <br />
<p style=" border:1px #ccc solid; padding:5px; margin:0 0 50px 0;">'.$specificatii.'</p>
<strong style=" color:#cc0000;">Nota bene:</strong>
<br />
Adresa IP a expeditorului: '.$_SERVER['REMOTE_ADDR'].'<br />
Browserul si sistemul de operare folosite de expeditor: '.$_SERVER['HTTP_USER_AGENT'].'<br />
Data expedierii mesajului: '.date("j F Y, H:i:s",time() + (60 * 60 * 6));
//am adaugat time() + (60 * 60 * 6) pentru a corecta ora decalata de fusul orar
//serverul pe care este hostat blogul se afla in SUA


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

//daca datele au fost trimise cu succes se va afisa un mesaj de confirmare
if (mail($to,$subject,$body,$headers)) {
echo 'Rezervarea dvs. a fost trimisa. In cel mai scurt timp veti fi contactat(a).';
}
} else {
foreach ($erori as $item) {
echo $item.'<br />';
}
}
}
?>
</div>
<!--/scriptul PHP-->

<div>
<label for="nume"><span>*</span>Nume:</label>
<input name="nume" type="text" id="nume" value="<?php echo $_SESSION['nume'];?>" />
</div>

<div>
<label for="telefon"><span>*</span>Telefon:</label>
<input name="telefon" type="text" id="telefon" value="<?php echo $_SESSION['telefon'];?>" />
</div>

<div>
<label for="email"><span>*</span>Email:</label>
<input name="email" type="text" id="email" value="<?php echo $_SESSION['email'];?>" />
</div>

<div>
<label for="ziua1">De la:</label>
<select name="ziua1" id="ziua1">
<?php
$ziua1 = range(1,31);

foreach ($ziua1 as $item) {
echo '<option value="'.$item.'">'.$item.'</option>';
}
?>
</select>

<select name="luna1" id="luna1">
<?php
$luna1 = array('ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie');

foreach ($luna1 as $item) {
echo '<option value="'.$item.'">'.$item.'</option>';
}
?>
</select>

<select name="anul1" id="anul1">
<?php
$anul1 = range(2009,2010);

foreach ($anul1 as $item) {
echo '<option value="'.$item.'">'.$item.'</option>';
}
?>
</select>
</div>

<div>
<label for="ziua2">Pana la:</label>
<select name="ziua2" id="ziua2">
<?php
$ziua2 = range(1,31);

foreach ($ziua2 as $item) {
echo '<option value="'.$item.'">'.$item.'</option>';
}
?>
</select>

<select name="luna2" id="luna2">
<?php
$luna2 = array('ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie');

foreach ($luna2 as $item) {
echo '<option value="'.$item.'">'.$item.'</option>';
}
?>
</select>

<select name="anul2" id="anul2">
<?php
$anul2 = range(2009,2010);

foreach ($anul2 as $item) {
echo '<option value="'.$item.'">'.$item.'</option>';
}
?>
</select>
</div>

<div>
<label>Tip camera</label>
<select name="tip_camera" id="tip_camera">
<?php
$tip_camera = array('Camera 2 locuri', 'Camera 2 locuri A.C.', 'Camera 3 loc. Vila', 'Apartament');

foreach ($tip_camera as $item) {
echo '<option value="'.$item.'">'.$item.'</option>';
}
?>
</select>
</div>

<div>
<label for="nr_camere">Nr. de camere:</label>
<select name="nr_camere" id="nr_camere">
<?php
$nr_camere = range(0,4);

foreach ($nr_camere as $item) {
echo '<option value="'.$item.'">'.$item.'</option>';
}
?>
</select>
</div>

<div>
<label for="oaspeti_adulti">Oaspeti(adulti):</label>
<select name="oaspeti_adulti" id="oaspeti_adulti">
<?php
$oaspeti_adulti = range(0,4);

foreach ($oaspeti_adulti as $item) {
echo '<option value="'.$item.'">'.$item.'</option>';
}
?>
</select>
</div>

<div>
<label for="oaspeti_copii">Oaspeti(copii):</label>
<select name="oaspeti_copii" id="oaspeti_copii">
<?php
$oaspeti_copii = range(0,4);

foreach ($oaspeti_copii as $item) {
echo '<option value="'.$item.'">'.$item.'</option>';
}
?>
</select>
</div>

<div>
<label for="specificatii"><span>*</span>Specificatii:</label>
<textarea name="specificatii" rows="1" cols="1" id="specificatii"><?php echo $_SESSION['specificatii'];?></textarea>
</div>

<div>
<label for="trimite">&nbsp;</label>
<input name="trimite" type="submit" value="Trimite" title="Trimite" id="trimite" />
</div>
</form>
</body>
</html>[/html]

[i][b]Formularul va arata asa:[/b][/i]

formular.png

Succes :pct:

Te-ai inregistrat? Ne-ar placea sa te prezinti.

Cum pot sustine forumul?
Cumpara de la eMag folosind acest link.
--------------------
oG2BN9d.gifse1WdXd.gifQG6MtmI.gifRHYjDzD.gifG5p1wui.gif

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.