Pagina 1 din 1

Mentinere pe pagina curenta dupa trimitere date la php

Scris: Joi Apr 16, 2015
de General
Buna, am nevoie de ajutorul vostru, am facut un formular

Cod: Selectaţi tot

<form action="/send.php" method="post" id="form">
<input type="text" name="phone" required="required">
 <input type="submit" name="submit" value="<?php echo $nr_send; ?>" class="button1">
</form>
Care transmite datele prin php pe email, numai ca atunci cind apas butonul "trimite" merge pe pagina "/send.php" in loc sa ramina pe pagina curenta unde e formularul. Cum sa fac dupa ce sau transmis datele sa ramina pe pagina curenta? Am auzit ca cu ajax e posibil, dar nu merge la mine.

Fisierul send.php

Cod: Selectaţi tot

<?php
$addr="admin@coralclubmoldova.com";//
$messname="New message";
 
$phone=$_POST['phone']; 
 
$message=" Numarul Clientului: $phone";
 
if (mail($addr,$messname,$message))
{ 
echo '<script charset="UTF-8"> window.alert("Ok"); </script>';
 }
else
{ 
echo '<script> alert("Error"); </script>';
} 

Mentinere pe pagina curenta dupa trimitere date la php

Scris: Joi Apr 16, 2015
de MarPlo
Salut
Daca vrei sa transmiti date dintr-un formular la php, fara refresh sau reincarcare alta pagina, solutia e ajax.
Daca nu stii JavaScript /Ajax, poti invata din cursurile de pe site.
Sau, in fisierul "pagina.php" poti aplica functia header(), dupa ce au fost procesate datele, ca sa faca redirect la pagina care vrei (va deschide acea pagina).
Cam asa:

Cod: Selectaţi tot

if (mail($addr,$messname,$message)) {
  header('Location: adresa_pagina_redirect');
  exit;
} 

Mentinere pe pagina curenta dupa trimitere date la php

Scris: Joi Apr 16, 2015
de General
hmm am folosit ajax, iata asa ceva:

Cod: Selectaţi tot

<script type="text/javascript">
$(document).ready(function(){
    $("#form").submit(function() { 
            var form_data = $(this).serialize(); 
            $.ajax({
            type: "POST", 
            url: "/send.php", 
            data: form_data,
            success: function() {
                   alert("Mesajul Dvs a fost trimis!");
            });
    });
});    
</script> 
insa cind apas butonul trimite fereastra alert nu apare, iar pagina isi face doar restart

Mentinere pe pagina curenta dupa trimitere date la php

Scris: Vin Apr 17, 2015
de MarPlo
Se aplica preventDefault() pentru a nu deschide adresa de la "action".

Cod: Selectaţi tot

$("#form").submit(function(e) {
  e.preventDefault();  // STOP default action
// ...
}

Mentinere pe pagina curenta dupa trimitere date la php

Scris: Vin Apr 17, 2015
de General
straniu, ceva nu e ok, acum cind apas butonul "comanda" isi face pagina refresh si gata:
coralclubmoldova.com/activin.html

folosesc 2 fisiere, pagina produsului unde e adaugat acest cod:

Cod: Selectaţi tot

<script type="text/javascript">
            $(document).ready(function(){
            $("#form").submit(function() {
			e.preventDefault();
            var form_data = $(this).serialize(); 
            $.ajax({
            type: "POST", 
            url: "/send.php", 
            data: form_data,
            success: function() {
                   alert("Mesajul Dvs a fost trimis!");
                });
              });
            });
			</script>
          <div class="boxtocall1"><div class="boxtocall">
		  <span class="texttocall"><?php echo $text_tocall; ?></span>
		  <form  method="post" id="form">
		  <input type="text" name="phone" required="required">
		  <input type="submit" name="submit" value="<?php echo $nr_send; ?>" class="button1">
		  </form>
		  </div></div>
si fisierul send.php

Cod: Selectaţi tot

<?php
$addr="admin@coralclubmoldova.com";//
$messname="New message";
 
$phone=$_POST['phone']; 
 
$message=" Numarul Clientului: $phone";
 
if (mail($addr,$messname,$message))
{ 
echo '<script charset="UTF-8"> window.alert("Ok"); </script>';
 }
else
{ 
echo '<script> alert("Error"); </script>';
}

Mentinere pe pagina curenta dupa trimitere date la php

Scris: Vin Apr 17, 2015
de MarPlo
Nu ai adaugat parametrul "e" la function(), la care e aplicat preventDefault().

Cod: Selectaţi tot

$("#form").submit(function(e)

Mentinere pe pagina curenta dupa trimitere date la php

Scris: Vin Apr 17, 2015
de General
Si daca nu merge nici asa, ce poate sa fie la mijloc?

Mentinere pe pagina curenta dupa trimitere date la php

Scris: Vin Apr 17, 2015
de MarPlo
Verifica in consola (F12) sa nu ai erori in codul javascript (acolade /paranteze neinchise cum trebuie).