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().
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).