Jump to content

contact form a little lookout over it


fantomel

Recommended Posts

Hello i've build a contact form and ajaxed a little bit without ajax(using it to submit data) works perfect but now since i've implemented ajax in it it says that the email address isn't correct can someone take a look over the php code on the line

 

<php
if (!eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$", $email))
        {
        $verificare = 1;
        echo '<br>Adresa de e-mail este incorecta.';
        }

?>

and tell me if the regex is correct?

after submit the data using ajax it keeps echo the error  Adresa de e-mail este incorecta in translation the e-mail is not valid.

 

 

entire code:

<?php
// se creaza o functie care afi&#351;eaza formularul
function afisare_formular($stare=1)
    {
    /* daca valoarea variabilei $stare este 1 atunci se afiseaza formularul normal
    si se seteaza valorile din formular la 0 */
    if ($stare == 1)
        {
        $nume = '';
        $email = '';
        $telefon = '';
        $mesaj = '';
        }
    /* daca valoarea variabilei $stare este diferita de 1 atunci se preiau mai intai
    datele trimise anterior prin POST din formular si se afiseaza formularul
    din nou dar cu valorile primite. */
    else
        {
        $nume = $_POST['nume'];
        $email = $_POST['email'];
        $telefon = $_POST['telefon'];
        $mesaj = $_POST['mesaj'];
        }
    // se genereaza variabila cu tabelul care contine formularul
    $formular = '
<div class="contact_form">
		<fieldset>
		<form name="contact" id="contact" method="post" action="">
			<label for"Nume">Name:</label><br />
			<input name="nume" type="text" id="nume" value="'.$nume.'" maxlength="50"><br />
			<label for="Email">E-mail:</label><br />
			<input name="email" type="text" id="email" value="'.$email.'" maxlength="50"><br />
			<label for="Phone">Phone:</label><br />
			<input name="telefon" type="text" id="telefon" value="'.$telefon.'" maxlength="15"><br />
			<label for="Message">Message:</label><br />
			<textarea name="mesaj" cols="35" rows="3" wrap="virtual" id="mesaj">'.$mesaj.'</textarea><br />
			<input type="submit" name="Submit" value="Trimite"><br />
		</form>
		'. $nume . $email . $telefon . $mesaj .'
		<div class="success" style="display:none;">Client has been added.</div>
		</fieldset>
		</div>';
    // se returneaza codul html pentru formularul care trebuie afisat
    return $formular;
    }

/* daca a fost incarcata prima data aceasta pagina de catre vizitator se
afiseaza formularul normal */
if (!isset($_POST['nume']))
    {
    echo afisare_formular(1);
    }
/* daca a fost deja apasat butonul te trimitere din formular se preiau datele
trimise si se verifica daca sunt corecte */
else
    {
    // se preiau datele trimise
    $nume = $_POST['nume'];
    $email = $_POST['email'];
    $telefon = $_POST['telefon'];
    $mesaj = $_POST['mesaj'];
    // se verifica daca sunt corecte
    $verificare = 0;
    if (empty($nume))
        {
        $verificare = 1;
        echo '<br>Nu a fost specificat Numele si prenumele.';
        }
    if (strlen($nume) < 3)
        {
        $verificare = 1;
        echo '<br>Numele trebuie sa contina minim 3 caractere.';
        }
    elseif (!eregi('[a-zA-Z ]{3}', $nume))
        {
        $verificare = 1;
        echo '<br>Numele trebuie sa contina minim 3 caractere.';
        }        
    if (empty($email))
        {
        $verificare = 1;
        echo '<br>Nu a fost introdusa adresa de e-mail';
        }
    if (!eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$", $email))
        {
        $verificare = 1;
        echo '<br>Adresa de e-mail este incorecta.';
        }
    if (empty($telefon))
        {
        $verificare = 1;
        echo '<br>Nu a fost specificat un numar de telefon. Scrieti (-) daca nu aveti telefon.';
        }
    if (empty($mesaj))
        {
        $verificare = 1;
        echo '<br>Nu a fost specificat mesajul pe care doriti sa il trimiteti.';
        }
    /* daca in urma verificarilor de mai sus a aparut o eroare atunci
    variabila de verificare ar trebui sa aiba valoarea 1
    si in acest caz se afiseaza din nou formularul cu campurile deja completate
    pentru corectare */
    if ($verificare == 1)
        {
        echo afisare_formular(0);
        }
    /* daca in urma verificarilor de mai sus totul este ok
    se trimite mesajul pe e-mail */
    else
        {
        // se stabilesc variabilele care se vor trimite prin mail
        $subiect = 'Mesaj de la '.$_SERVER['SERVER_NAME'];
        // aici scrieti adresa de e-mail unde doriti sa primiti mesajele
        $adresa = 'digitals.future@yahoo.com';
        $continut = '<br>Nume si prenume: '.$nume.'
            <br>Adresa de e-mail: '.$email.'
            <br>Telefon: '.$telefon.'
            <br>Mesaj:<br><br>'.$mesaj.'
            <br>Mesajul a fost trimis la data de '.date('d-m-Y H:i', time());
        $headere = "From: $nume <$email>\r\n".
            "Reply-To: $email\r\n".
            "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-2\r\n";
		"X-Mailer: PHP/" . phpversion();;
           // aici se incearca trimiterea mesajului pe mail
        if (@mail($adresa, $subiect, $continut, $headere))
            {
            echo '<META HTTP-EQUIV = "Refresh" Content = "10; URL =index.php">
                Mesajul a fost trimis cu succes. Asteptati pentru redirectare.';
            }
        else
            {
            echo '<META HTTP-EQUIV = "Refresh" Content = "10; URL ='.$_SERVER['PHP_SELF'].'">
                A aparut o eroare la serverul de mail, va rugam sa incercati din nou.<br>
                Asteptati pentru redirectare.';
            }

        }
    }
?>


Link to comment
Share on other sites

Can you show your javascript? And have you altered the post/get data at all. The email address characters may have changed to be more 'url friendly'.

here you go my entire javascript

$(function()
{
$('.text1').load("public_html/themes/en/content/home.php");

$('#header li a').click(function()
	{
	var url_to_load;
	var custom_handler = function(){};
	var toLoad = $(this).attr("href");
	switch(toLoad)
		{
		case "#home" : url_to_load = "public_html/themes/en/content/home.php";break;
		case "#products" : url_to_load = "public_html/themes/en/content/pro.php";break;
		case "#buy" : url_to_load = "public_html/themes/en/content/buy.php";break;
		case "#waste" : url_to_load = "public_html/themes/en/content/waste.php";break;
		case "#credentials" : url_to_load = "public_html/themes/en/content/credentials.php";break;
		case "#gallery" : url_to_load = "public_html/themes/en/content/gallery.php";
			custom_handler = function(){$('.photo a').lightBox();};
			break;
		case "#howto" : url_to_load = "public_html/themes/en/content/howto.php";break;
		case "#quality" : url_to_load = "public_html/themes/en/content/quality.php";break;
		case "#contact" : url_to_load = "public_html/themes/en/content/contact.php";
			custom_handler = function()
				{
			$("#contact").live('submit', function()   {

				// we want to store the values from the form input box, then send via ajax below
				var nume     = $('#nume').attr('value'); 
				var telefon	  = $('#telefon').attr('value');
				var email	  = $('#email').attr('value');
				var mesaj		  = $('#mesaj').attr('value');
				console.log("$.ajax");
			$.ajax({
				type: "POST",
				url: "public_html/themes/en/content/contact.php",
				data: "nume="+ nume +" & telefon="+ telefon +" & email="+ email +" & mesaj="+ mesaj,
				success: function(){
				$('form#contact').hide();
				$('div.success').fadeIn();
						} // end of success function
					}); // end of ajax
				return false;
			}); // end of submit function
	}; // end of custom handler function
break;
} // end of switch
	$(".text1").hide();
	$("#content").slideDown(400);
	$(".text1").load(url_to_load,custom_handler);
	$(".text1").fadeIn(2000);
	});
});

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.