PDA

View Full Version : Form pernotazioni


Nhenya
21-11-2009, 16:32
Ciao a tutti, ho realizzato un sito per un b&b, ma adesso vorrei inserire un form per le prenotazioni.
Ho provato a guardare su internet se esisteva qualche cosa di già pronto da personalizzare ma non ne sono in grado! :help:

Questo è l'esempio di form che vorrei


NOME (Obbligatorio)
COGNOME (Obbligatorio)
CITTA'
EMAIL (Obbligatorio)
TELEFONO (Obbligatorio)
PERSONE (menù a tendina con scelta da 1 a 6 persone)
ARRIVO (Obbligatorio) DAL.. AL..
PARTENZA (Obbligatorio) DAL.. AL..
SISTEMAZIONE (Menù a tendina con scelta) Matrimoniale, Singola uso matrimoniale, Matrimoniale con letto aggiuntivo
ALTRE RICHIESTE (box bianco libero)

Qualcuno sa aiutarmi? :(

Nativo
21-11-2009, 18:38
Ma il tuo problema specifico quale è? la parte client? la parte server?
comunque se vuoi scopiazzare qualcosa... firefox + webDeveloper è un ottima scelta!

kurts
21-11-2009, 21:52
ok, ma almeno dicci in che linguaggio stai lavorando?
db utilizzato?
prenotazione con pagamenti on-line?
e poi, che vuol dire che non ne sei in grado? che non sai modificare uno script gia pronto? e allora come hai fatto il sito? cms? quale?

Nhenya
22-11-2009, 21:50
allora, il sito l'ho realizzato in html, pensavo di creare il form prenotazioni in php tipo questo (http://www.villa-addaura.com/prenotazioni.php) ma non ho capito bene come farlo funzionare, e far sì che arrivino le richieste alla mail del b&b. :help:

Nativo
23-11-2009, 11:31
Questa domanda è troppo generica... io cambierei titolo in "da dove iniziare per imparare a realizzare un sito web"

cruyffissimo
23-11-2009, 16:55
Approvo nativo...
no dai a parte gli scherzi, guardati bene i form in html, il controllo javascript..poi passi al php, con il controllo lato server dei dati inseriti nel form, e come prenderli...
poi controlli se sono validi per inserirli nel database...

Nhenya
25-11-2009, 14:32
Non ho bisogno di apprezzamenti di minchioni saccenti che si credono maestri d'informatica. Se qualcuno è disponibile ad aiutarmi spiegandomi dettagliatamente come realizzare il form da implementeare nel mio sito gliene sarei davvero grata. Prego astenersi minchioni saputelli dall'apprezzamento gratuito non richiesto. Grazie!:)

kurts
25-11-2009, 14:43
anche io sono un "minchione saccente"?

vabbeh, a parte questo mio dubbio personale, io potrei anche rìpostarti tutto il codice per realizzare il form per le email ma rimane il fatto che se non conosci almeno le basi del php non sarai comunque in grado di apportare eventuali modifiche future.

il consiglio che ti è stato dato, ovvero studiarti le basi del php non era un consiglio da "minchioni saccenti" è semplicemente, beh, un consiglio, come puoi pensare di realizzare un form di questo tipo se non conosci il linguaggio che ti serve per implementarlo??

inoltre, il servizio di hosting al quale ti appoggi permette l'utilizzo della funzione mail() di php (vedi manuale php online per informazioni dettagliate)?

Nhenya
25-11-2009, 20:04
Ahah. No la saccenza era riferita a chi ha scritto: "da dove iniziare per imparare a realizzare un sito web".
Il servizio hosting è quello aruba/windows.
Mi puoi gentilmente mandare il codice di cui parli per il form di prenotazione online strutturato come scritto nel mio messaggio di apertura di questo topic(nome, cognome, città, email, etc...). Non penso di doverlo modificare in futuro.
Grazie

kurts
25-11-2009, 21:02
eeewwwww!!!!
windows su hosting aruba???
brutta storia...
ma sei sicura che ci sia il modulo php installato sulle piattaforme windows?
permettimi di consigliarti un cambio del tuo piano da windows a linux, tempo fa era possibile passare da win a linux pagando mi pare 15€.

il form lo dovrai modificare qua e la in base alle tue necessità, comunque grosso modo:
index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Sistema di invio email</title>
<link rel="stylesheet" type="text/css" media="screen" href="stile/style.css">
</head>

<body>

<?php
if(isset($_GET['err'])) {
echo'<div id="err">';
switch ($_GET['err']) {
case 'i':
echo "Completa tutti i campi obbligatori.";
break;
case 'e':
echo "Indirizzo email non valido.";
break;
case 'ok':
echo "Email inviata correttamente.";
break;
case 'x':
echo "Errore durante l'invio dell'email.";
break;
}
echo'</div>';
}
?>

<form name="sendmail" action="send.php" method="POST">

<div id="table-wrap">

<table id="contatti_wrap">
<tr><td>
<div id="dati-wrap">
<table class="contact-table">
<tr>
<th colspan="2">Dati Personali</th>
</tr>
<tr>
<td>* Nome</td>
<td><input name="nome" type="text" size="15"></td>
</tr>
<tr>
<td>* Cognome</td>
<td><input name="cognome" type="text" size="15"></td>
</tr>
<tr>
<td>* Societ&agrave;</td>
<td><input name="email" type="text" size="15"></td>
</tr>
<tr>
<td>* E-mail</td>
<td><input name="società" type="text" size="15"></td>
</tr>
<tr>
<td>Telefono</td>
<td><input name="indirizzo" type="text" size="15"></td>
</tr>
<tr>
<td>Indirizzo</td>
<td><input name="indirizzo" type="text" size="15"></td>
</tr>
<tr>
<td>Comune</td>
<td><input name="comune" type="text" size="15"></td>
</tr>
<tr>
<td>Provincia</td>
<td><input name="provincia" type="text" size="15"></td>
</tr>
<tr>
<td>Nazione</td>
<td><input name="nazione" type="text" size="15"></td>
</tr>
<tr>
<td colspan="2">* I campi con l'asterisco sono obbligatori</td>
</tr>
</table>
</div>

</td><td>
<div id="info-wrap">
<table class="contact-table">
<tr>
<td>Quali informazioni vorresti ricevere?</td>
</tr>
<tr>
<td><textarea name="note" cols="26" rows="5"></textarea></td>
</tr>
</table>
</div>

<div id="button"><br/><input type="submit" value="Invia"></div>
</td></tr>
<tr>
<td>
<div id="prodotti-wrap">
<table valign="top" class="contact-table">
<tr>
<th colspan="2">Indica i prodotti che ti interessano:</th>
</tr>
<tr>
<td><input type="checkbox" name="ch1" value="si"></td>
<td>Prodotto1</td>
</tr>
<tr>
<td><input type="checkbox" name="ch2" value="si"></td>
<td>Prodotto2</td>
</tr>
<tr>
<td><input type="checkbox" name="ch3" value="si"></td>
<td>Prodotto3<td>
</tr>
</table>
</div>
</td>
<td>

</td>
</tr>
</table>
</div>

</form>
</body>
</html>

send.php
<?php

function parse_eMailAddress($eMailAddress){ //controllo indirizzo valido
if(ereg("^[^@ ]+@[^@ ]+\.[^@ ]+$", $eMailAddress))
return true;
else
return false;
}

if (empty($_POST["nome"])||empty($_POST["cognome"])||empty($_POST["societa"])||empty($_POST["email"])){ //controllo i campi obbligatori
header("Location: ./index.php?err=i");
}

else{ //i campi obbligatori sono stati compilati
$from = $_POST["email"]; //mittente
$subject = "Richiesta informazioni"; //oggetto

$prodotti="";
if($_POST["ch1"]=='si'){$prodotti.="Prodotto1 <BR/>";}
if($_POST["ch2"]=='si'){$prodotti.="Prodotto2 <BR/>";}
if($_POST["ch3"]=='si'){$prodotti.="Prodotto3 ";}

$message = '
<html>
<head>

</head>
<body>

<div id="contatto">
<FIELDSET>
<LEGEND>Dati Contatto</LEGEND>
<p>Richiesta inviata da '.$_POST["nome"].' '.$_POST["cognome"].'<BR/>
'.$_POST["societa"].'<BR/>
'.$_POST["indirizzo"].', '.$_POST["comune"].' - '$_POST["provincia"]' - '.$_POST["nazione"].'<BR/>
'.$_POST["email"].'</p>
</FIELDSET>
</div>

<div id="interessi">
<div id="prodotti">
<FIELDSET>
<LEGEND>Prodotti di interesse</LEGEND>
<p>'.$prodotti.'</p>
</FIELDSET>
</div>

</div>

<div id="domanda">
<FIELDSET>
<LEGEND>Domanda</LEGEND>
<p>'.$_POST["note"].'</p>
</FIELDSET>
</div>

</body>
</html>
';
// mime per invio mail
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// header aggiuntivi
$headers .= 'To: [email protected]' . "\r\n"; //inserire l'indirizzo di destinazione
$headers .= 'From: '.$_POST["email"] . "\r\n";

if (!parse_eMailAddress($from)){ //indirizzo email NON valido
header("Location: ./index.php?err=e");
}
else{ //indirizzo email valido
if (mail($to, $subject, $message, $headers)) {
header("Location: ./index.php?err=ok");
}
else {
header("Location: ./index.php?err=x");
}
}
}
?>

ci saranno da implementare anche dei controlli più avanzati sui dati inseriti ma direi che per quanto riguarda la struttura ci siamo.

ti ripero quello che ti ho gia detto io ed anche gli altri, studiati il php e l'html perchè altrimenti non sarai in grado di fare nemmeno le cose più basilari

bottomap
25-11-2009, 21:14
ma sei sicura che ci sia il modulo php installato sulle piattaforme windows?

Confermo che c'è... personalmente anch'io propenderei per un hosting linux, ma se ha velleità di usare ASP (o se per qualche arcano motivo ha bisogno di MSSQL invece di MySql) credo sia una scelta obbligata... su hosting windows credo manchi qualche estensione tipo GD presente su hosting linux.

Nell'offerta (http://hosting.aruba.it/hosting_con_spazio.asp?offerta=1) purtroppo non è specificato il webserver, ma ho paura che possa essere un IIS. Sicuramente dovrebbe essere Apache per l'hosting linux.

Esiste anche un'offerta mista (hosting windows + linux) che mi rimane in effetti un po'oscura...

PS: Per quanto riguarda il codice proposto, è suscettibile di mail-header injection a quanto posso vedere... andrebbe rivisto un poco (chiaramente è una linea guida, ma non mi stupirei se venisse usato as is senza la nozione della problematica in questione - gli spammer ringrazierebbero caldamente).

Ciaociao :)