Formular

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
pustiu78
Mesaje: 33

Formular

Va salut!

Am facut acest formular cu cod gasit pe net:

<form action="rezervari.php" method="post" name="form1" class="formular">
Tip camera <select name='ams[Tip camera]' id="textfield">
<option>single</option>
<option>double</option>
<option>tripla</option>
</select><br /><br />
Numar camere <input name='ams[Numar camere]' type="text" class="textfield" /><br /><br />
Numar persoane <input name='ams[Numar persoane]' type="text" class="textfield" /><br /><br />
Data sosirii <select name='ams[Ziua sosirii]' id="textfield">
<option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option><option>15</option><option>16</option><option>17</option><option>18</option><option>19</option><option>20</option><option>21</option><option>22</option><option>23</option><option>24</option><option>25</option><option>26</option><option>27</option><option>28</option><option>29</option><option>30</option><option>31</option>
</select>
<select name='ams[Luna sosirii]' id="textfield">
<option>Ianuarie</option><option>Februarie</option><option>Martie</option><option>Aprilie</option><option>Mai</option><option>Iunie</option><option>Iulie</option><option>August</option><option>Septembrie</option><option>Octombrie</option><option>Noiembrie</option><option>Decembrie</option>
</select>
<select name='ams[Anul sosirii]' id="textfield">
<option>2010</option><option>2011</option>
</select><br /><br />
Data plecarii <select name='ams[Ziua plecarii]' id="textfield">
<option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option><option>15</option><option>16</option><option>17</option><option>18</option><option>19</option><option>20</option><option>21</option><option>22</option><option>23</option><option>24</option><option>25</option><option>26</option><option>27</option><option>28</option><option>29</option><option>30</option><option>31</option>
</select>
<select name='ams[Luna plecarii]' id="textfield">
<option>Ianuarie</option><option>Februarie</option><option>Martie</option><option>Aprilie</option><option>Mai</option><option>Iunie</option><option>Iulie</option><option>August</option><option>Septembrie</option><option>Octombrie</option><option>Noiembrie</option><option>Decembrie</option>
</select>
<select name='ams[Anul plecarii]' id="textfield">
<option>2010</option><option>2011</option>
</select><br /><br />
Nume <input name='ams[Nume]' type="text" class="textfield" /><br /><br />
Prenume <input name='ams[Prenume]' type="text" class="textfield" /><br /><br />
Telefon <input name='ams[Tel]' type="text" class="textfield" /><br /><br />
Email <input name='ams[E-mail]' type="text" class="textfield" /><br /><br />
<input name="Submit2" type="reset" value="Anuleaza" class="input" />
<input name="Submit" type="submit" value="Trimite" class="input" />
</form>

rezervari.php:
<?
//----------------- Destinatia mesajului si Subiectul acestuia
$to = ""; //am sters adresa de mail
$subject = "Formular rezervari online";
$from = $_POST['ams']['E-mail'];
//----------------- preiau datele si creez mesajul
$valid=1;
$message ='';
foreach ($_POST['ams'] as $k=>$v){
if (trim($v)=='')$valid=0;
$k = str_replace('_',' ',$k);
$message .="$k : $v<br>";
}
$message .="<hr />IP: {$_SERVER['REMOTE_ADDR']}";
// faza asta cu ip-ul am adaugat`o pentru a putea avea si ip-ul celui care are chef
//de glume si trimite mail-uri aiurea. Big Grin
//------------------ Functia mail cu HTML support
function sndmail($from,$to,$subject,$message){
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From:".$from ."\r\n";
mail($to, $subject, $message, $headers);
}
//------------------ Trimit Mailul
if ($valid=='1') {
sndmail($from,$to,$subject,$message);
//------------------ Afisez mesaj de confirmare
echo "Am trimis mail";
}
//------------------ Afisez mesaj de eroare
else echo "EROARE";
?>

Trimite datele la adresa de mail dorita!
Am incercat sa il fac ca acest formular : https://marplo.net/php-mysql/formular_contact" target="_blank
Nu ma descurc.
Ma poate ajuta cineva?

MarPlo Mesaje: 4343
La ce anume nu te descurgi, in ce sens sa fie ca celalalt, centrarea, culoare?

pustiu78 Mesaje: 33
Sa aiba antispam.
Verifica sesiune ce limiteaza trimiterea de cel mult un mail la 5 minute (300 secunde), utila si anti-refresh.
Verifica daca e primit si corect codul de verificare (in caz ca trece de scriptul JavaScript).
Verifica dacca sunt primite prin post toate datele necesare.
Sterge posibile spatii exterioare din date.
Elimina cu "strip_tags()" posibile taguri.
Preia datele din formularul HTML.
E-mail de pe site, trimis de: etc.
Trimite datele pt. email si afiseaza mesajul de confirmare sau eroare.
Seteaza o sesiune prin care se blocheaza re-trimiterea mesajului la un eventual refresh sau mai curand de 5 minute.
Functia care formeaza codul anti-spam, dintr-un numar preluat ca milisecunde din data curenta.
Adauga codul in campul ascuns din formular si in textul vizibil.
Executa functia pt. crearea codului anti-spam.
Face vizibila zona pt. cod de verificare.
Functia pentru preluarea si verificarea datelor din formular.
Preia datele din formular.
Retine doar partea cu numele si extensia fisierului php.
Verifica completarea campurilor din formular.
Creaza datele care trebuie trimise la ajax (fisierul.php cu datele catre el).
Apeleaza ajaxrequest().
Put.io este un serviciu de stocare, care preia si pune fisierele in spatiul tau personal privat, on-line:
https://put.io/r/42XC" target="_blank

Put.io is a storage service that retrieves and puts files into your personal, private online space:
https://put.io/r/42XC" target="_blank

MarPlo Mesaje: 4343
Daca vrei toate astea, uite doua solutii:
1. Iei formularul de la scripturi si mai adaugi ce campuri vrei. Daca nu stii cum, de asta sunt cursurile gratuite pe site, sa poti invata sa faci, daca vrei, de exemplu poti studia ce este la lectia https://marplo.net/php-mysql/lucru_formulare.html
Ca idee: adaugi in formular codul html pentru ce campuri vrei, le dai un atribut name="ceva", apoi in scriptul php preiei ce se trimie din acel camp cu $_POST['ceva'].

2. Apelezi la cei care fac scipturi contra cost

P.S. E bine sa incerci sa inveti sa poti face si tu din cele care iti trebuie, asa nu vei depinde de altii. Cate putin, in timp, cu studiu si exersare tutoriale, se invata.

pustiu78 Mesaje: 33
Multumesc.
Incerc sa fac singur.
Put.io este un serviciu de stocare, care preia si pune fisierele in spatiul tau personal privat, on-line:
https://put.io/r/42XC" target="_blank

Put.io is a storage service that retrieves and puts files into your personal, private online space:
https://put.io/r/42XC" target="_blank

pustiu78 Mesaje: 33
Am reusit sa fac formularul care mi l-am propus.
Imi trebuia o incurajare.

MarPlo Mesaje: 4343
Am vazut. Arata bine, mai ales ca e reusit de tine.
Felicitari !

Subiecte similare