Formular de contact nu trimite mesaje

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

Formular de contact nu trimite mesaje

Salut Marplo,
Am si eu o problema cu un formular de contact. Te rog daca ma poti ajuta si pe mine.
Problema mea e urmatoarea.
Formularul de contact arata cam asa:

Cod formular de contact:

Cod: Selectaţi tot

<div class="col-md-10 col-md-offset-1 animate-box"> 
<h3>Formular de contact</h3>
<form action="#">
<div class="row form-group"> 
  <div class="col-md-6"> 
    <label for="name">Nume</label>
    <input type="text" id="name" class="form-control" placeholder="Introduceti numele">
  </div>
  <div class="col-md-6"> 
    <label for="number">Telefon</label>
    <input type="text" id="number" class="form-control" placeholder="Introduceti nr telefon pentru contact">
  </div>
</div>
<div class="row form-group"> 
  <div class="col-md-12"> 
    <label for="email">Adresa e-mail</label>
    <input type="text" id="email" class="form-control" placeholder="Introduceti adresa de email">
  </div>
</div>
<div class="row form-group"> 
  <div class="col-md-12"> 
    <label for="subject">Subiect</label>
    <input type="text" id="subject" class="form-control" placeholder="Introduceti subiectul mesajului">
  </div>
</div>
<div class="row form-group"> 
  <div class="col-md-12"> 
    <label for="message">Mesaj</label>
    <textarea name="message" id="message" cols="30" rows="10" class="form-control" placeholder="Introduceti mesajul"></textarea>
  </div>
</div>
<div class="form-group text-center"> 
  <input type="submit" value="Trimite mesaj" class="btn btn-primary">
</div>
</form>
</div>
</div>
</div>
</div>

<!--================Contact Success and Error message Area =================-->
<div id="success" class="modal modal-message fade" role="dialog">

<div class="modal-dialog"> 
<div class="modal-content"> 
<div class="modal-header"> 
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
<i class="fa fa-close"></i> </button>
<h2>Va multumim</h2>
<p>Mesajul dvs. a fost trimis cu succes catre Hotel Albatros.</p>
<p>In scurt timp veti fi contactat de catre personalul nostru.</p>
</div>
</div>
</div>
</div>

<!-- Modals error -->
<div id="error" class="modal modal-message fade" role="dialog">    
<div class="modal-dialog"> 
<div class="modal-content"> 
<div class="modal-header"> 
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
<i class="fa fa-close"></i> </button>
<h2>Ne cerem scuze !</h2>
<p> Mesajul dvs. nu a fost trimis. Va rugam reincercati. </p>
</div>
</div>
</div>
</div>
Pentru acest formular de contact, care bineinteles nu functioneaza in aceasta forma, as dori sa adaptez fisierul contact_process.php de trimitere mesaj, care arata asa:

Cod: Selectaţi tot

<?php
$to = "adresamea@domeniu.ro";
$from = $_REQUEST['email'];
$name = $_REQUEST['name'];
$subject = $_REQUEST['subject'];
$number = $_REQUEST['number'];
$cmessage = $_REQUEST['message'];

$headers = "From: $from";
$headers = "From: " . $from . "\r\n";
$headers .= "Reply-To: ". $from . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

$subject = "Aveti un mesaj nou de la site-ul dvs.";

$body = "<!DOCTYPE html><html lang='en'><head><meta charset='UTF-8'><title>Express Mail</title></head><body>";
$body .= "<table style='width: 100%;'>";
$body .= "<thead style='text-align: center;'><tr><td style='border:none;' colspan='2'>";
$body .= "<a href='{$link}'><img src='{$logo}' alt=''></a><br><br>";
$body .= "</td></tr></thead><tbody><tr>";
$body .= "<td style='border:none;'><strong>Nume:</strong> {$name}</td>";
$body .= "<td style='border:none;'><strong>Email:</strong> {$from}</td>";
$body .= "</tr>";
$body .= "<tr><td style='border:none;'><strong>Subiect:</strong> {$csubject}</td></tr>";
$body .= "<tr><td></td></tr>";
$body .= "<tr><td colspan='2' style='border:none;'>{$cmessage}</td></tr>";
$body .= "</tbody></table>";
$body .= "</body></html>";

$send = mail($to, $subject, $body, $headers);
Te rog MarPlo, ma poti ajuta / depana acest formular de contact, astfel incat acesta sa functioneze corect?
Multumesc in avans

MarPlo
Salut
Acel formular de contact este incomplet, lipseste partea de javasecript si css pt stilul de modal.
Acel JS e important, controleaza zona de modal, si probabil trimte datele prin ajax.

diwsoft
Nu-i dau de cap nici cum.
Intre timp, pentru un alt site, am mai intalnit o problema.
Detaliez putin ca sa intelegi, poate ma poti ajuta.
Am o pagina de internet din domeniul hotelier, care ofera servicii de booking, rezervari camere, prin intermediul acestui formular, aflat pe pagina principala.:

Cod: Selectaţi tot

<form action="formular_contact.html" method="get" target="_parent" class="colorlib-form">
<div class="row"> 
<div class="col-md-3"> 
<div class="form-group"> 
<label for="date">Sosire:</label>
<div class="form-field"> <i class="icon icon-calendar2"></i> 
<input type="text" id="date" class="form-control date" placeholder="Selectati data sosirii">
</div>
</div>
</div>
<div class="col-md-3"> 
<div class="form-group"> 
<label for="date">Plecare:</label>
<div class="form-field"> <i class="icon icon-calendar2"></i> 
<input type="text" id="date" class="form-control date" placeholder="Selectati data plecarii">
</div>
</div>
</div>
<div class="col-md-2"> 
<div class="form-group"> 
<label for="adults">Adulti</label>
<div class="form-field"> <i class="icon icon-arrow-down3"></i> 
<select name="people" id="people" class="form-control">
  <option value="#">1</option>
  <option value="#">2</option>
  <option value="#">3</option>
  <option value="#">4</option>
  <option value="#">5+</option>
</select>
</div>
</div>
</div>
<div class="col-md-2"> 
<div class="form-group"> 
<label for="children">Copii</label>
<div class="form-field"> <i class="icon icon-arrow-down3"></i> 
<select name="people" id="people" class="form-control">
  <option value="#">1</option>
  <option value="#">2</option>
  <option value="#">3</option>
  <option value="#">4</option>
  <option value="#">5+</option>
</select>
</div>
</div>
</div>
<div class="col-md-2"> 
<div class="form-group"> 
<label for="camera">Camera</label>
<div class="form-field"> <i class="icon icon-arrow-down3"></i> 
<select name="people" id="people" class="form-control">
  <option value="#">Camera single</option>
  <option value="#">Camera dubla</option>
  <option value="#">Camera nuptiala</option>
</select>
</div>
</div>
</div>
<div class="col-md-2"> 
<input type="submit" name="submit" id="submit" value="Rezerva" class="btn btn-primary btn-block">
</div>
</div>
</form>
Problema este ca eu am un alt formular de contact, pe care, ca sa rezolv temporar problema, il apelez in momentul cand utilizatorul apasa butonul "Rezerva" insa in cadrul acestui formular utilizatorul trebuie sa introduca din nou tipul camerei ce doreste sa o rezerve, numele sau si adresa de email si telefonul, pe cand eu doresc ca acest formular sa preia datele introduse deja. Deoarece nu stiu cum sa fac preluarea datelor introduse deja, si trimise catre o adresa de email, m-am gandit sa-l adaptez pe acesta din urma astfel incat sa-mi preia datele selectate la inceput, prin intermediul primului form existent pe pagina principala, cel a carui cod ti l-am trimis mai sus.
Ce ma sfatuiesti sa fac?
Ma poti oare ajuta?

MarPlo
E cam incalcita solutia ta. De ce sa plimbi utilizatorul de la un formular de contact la altul pentru aceleasi date?
Indicat e sa folosesti un singur formular de contact, si pe acela sa-l faci functional.
- La formularul dat la inceput, cel cu modal, ii trebuie un script js cu ajax ca sa trimita datele fara incarcare pagina. Se poate face, dar asta e in particular.

Legat de abordarea ta cu 2 formulare, daca vrei sa retii datele de la unul si sa le adaugi in celalalt, vezi daca iti e de folos tutorialul de la: marplo.net/php-mysql/retine-date-formular-dupa-trimitere.html

diwsoft
Multumesc pentru raspunsul prompt, recomandarea si dorinta de a ma ajuta.
Aseara am stat mai mult si am rezolvat problema. In ultima perioada am fost foarte ocupat cu mai multe proiecte in paralel si se pare ca daca sunt implicat in mai mult de 2-3 proiecte in acelasi timp, nu mai disting proiectele si aveam nevoie de o pers sa ma "scoata din bucla". :)

Pina la urma am facut de la zero un fisier .php adaptat form-ului existent din pagina de booking. Am folosit pentru trimiterea datelor metoda POST (deoarece fiind vorba de date referitoare la clienti aceasta metoda nu incarca datele in url si deci nu pot fi vazute de altcineva ci le trimite prin conexiunea curenta https) iar pentru trimiterea datelor catre o adresa de email am folosit functia de posta existenta in PHP, mail, cu formatarea header-ului pentru transmiterea in format .html .

Multumesc mult pentru consultarea tehnica de la inceput si pentru sfaturi.
Toate cele bune

PS. Eram de acord cu propunerea de colaborare in particular pentru rezolvarea problemei insa eram presat de timp si aveam nevoie de solutie cat mai rapid, iar un schimb de email-uri ar fi prelungit proiectul la cateva zile bune.

Subiecte similare