Skocz do zawartości
  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

omom

Tekst w nowej karcie

Promowane odpowiedzi

omom    37

Witam, mam taki skrypt pod kontakt:

 

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" >
<?php
$name = $_POST['name'];
$name1 = $_POST['name1'];
$email = $_POST['email'];
$message = $_POST['message'];
$odkogo = $_POST['email'];
$dokogo = "kontakt@ubraci.eu";
$tytul = "Kontakt uBraci.eu";
$wiadomosc = "";
$wiadomosc .= "Nick: " . $name . "\n";
$wiadomosc .= "Wiek: " . $name1 . "\n";
$wiadomosc .= "E-Mail:  " . $email . "\n";
$wiadomosc .= "Wiadomosc: " . $message . "\n";
$sukces = mail($dokogo, $tytul, $wiadomosc, "Od: <$odkogo>");
if ($sukces){
	echo '<span style="color: green">Wiadomość została wysłana.</span>';
}
else{
	echo '<span style="color: red">Wiadomość nie została wysłana.</span>';
}
?>

Chciałbym, aby wiadomość o poprawnie wysłanym mailu wyskakiwała od razu na stronie, a nie w nowej karcie.

  • Lubię to! 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
BlackIce    3,522

Użyj AJAXa. Swoją droga, po co ten nadmiar zamiennych, skoro i tak odbieranych danych nawet nie filtrujesz?

Edytowane przez Salvation

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
omom    37
10 minut temu, Salvation napisał:

Użyj AJAXa. Swoją droga, po co ten nadmiar zamiennych, skoro i tak odbieranych danych nawet nie filtrujesz?

 

Pomożesz dodać tego ajaxa?

  • Lubię to! 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
omom    37
<label><font color="white">Nick</font></label>
<input name="name" type=name placeholder="Podaj Nick..." required>
<br><br>
<label><font color="white">Wiek</font></label>
<input name="name1" type=name1 placeholder="Podaj Wiek..." required>
<br><br>        
<label><font color="white">E-Mail</font></label>
<input name="email" type="email" placeholder="Podaj E-Mail..." required>
<br><br>        
<label><font color="white">Wiadomość</font></label>
<textarea name="message" rows="3" placeholder="Podaj Treść Wiadomości..."></textarea>
<br>
</center>        
<input id="submit" name="submit" type="submit" value="Wyślij">

 

  • Lubię to! 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
BlackIce    3,522

Końcówka pliku PHP:

if ($sukces){
	echo '<span style="color: green">Wiadomość została wysłana.</span>';
	return TRUE;
}
else{
	echo '<span style="color: red">Wiadomość nie została wysłana.</span>';
	return FALSE;
}

AJAX (wstaw w <head> w znacznik <script>):

$(document).ready(function(){
	$('#submit').click(function(){
		$.ajax({
			type: "POST",
			url: "plik.php",
			data: {
				name: $('input[name="name"]').val(),
				name1: $('input[name="name1"]').val(),
				email: $('input[name="email"]').val(),
				message: $('textarea[name="message"]').val(),
			},
			success: function(data){
				//udało się wysłać maila
				$('<div>').css({
					'background': "rgba(0,0,0,.2)",
					'height': "100%",
					'text-align': "center",
					'width': "100%",
					'z-index': "999"
				}).html(data).promise().done(function(){
					setTimeout(function(){
						$(this).hide(function(){
							$(this).remove();
						});
					}, 10000);
				});
			},
			error: function(data){
				//nie udało się wysłać maila
				$('<div>').css({
					'background': "rgba(0,0,0,.2)",
					'height': "100%",
					'text-align': "center",
					'width': "100%",
					'z-index': "999"
				}).html(data).promise().done(function(){
					setTimeout(function(){
						$(this).hide(function(){
							$(this).remove();
						});
					}, 10000);
				});
			}
		});
	});
});

PS. zmień `url` na adres, który masz w <form action=" ... "> i usuń ` action=" ... " `

  • Lubię to! 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
BlackIce    3,522

Końcówka PHP:

if ($sukces) return TRUE;
else return FALSE;

I podmień AJAXa:

$(document).ready(function(){
	$('#submit').click(function(){
		$.ajax({
			type: "POST",
			url: "plik.php",
			data: {
				name: $('input[name="name"]').val(),
				name1: $('input[name="name1"]').val(),
				email: $('input[name="email"]').val(),
				message: $('textarea[name="message"]').val()
			},
			success: function(){
				//udało się wysłać maila
				$('<div>').css({
					'background': "rgba(0,0,0,.2)",
					'height': "100%",
					'text-align': "center",
					'width': "100%",
					'z-index': "999"
				}).html('<span style="color: green">Wiadomość została wysłana.</span>')
				.promise().done(function(){
					setTimeout(function(){
						$(this).hide(function(){
							$(this).remove();
						});
					}, 5000); //5 sekund
				});
			},
			error: function(){
				//nie udało się wysłać maila
				$('<div>').css({
					'background': "rgba(0,0,0,.2)",
					'height': "100%",
					'text-align': "center",
					'width': "100%",
					'z-index': "999"
				}).html('<span style="color: red">Wiadomość nie została wysłana.</span>')
				.promise().done(function(){
					setTimeout(function(){
						$(this).hide(function(){
							$(this).remove();
						});
					}, 5000); //5 sekund
				});
			}
		});
	});
});

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
omom    37

Takie coś?

 

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" >
<?php
$name = $_POST['name'];
$name1 = $_POST['name1'];
$email = $_POST['email'];
$message = $_POST['message'];
$odkogo = $_POST['email'];
$dokogo = "kontakt@ubraci.eu";
$tytul = "Kontakt uBraci.eu";
$wiadomosc = "";
$wiadomosc .= "Nick: " . $name . "\n";
$wiadomosc .= "Wiek: " . $name1 . "\n";
$wiadomosc .= "E-Mail:  " . $email . "\n";
$wiadomosc .= "Wiadomosc: " . $message . "\n";
$sukces = mail($dokogo, $tytul, $wiadomosc, "Od: <$odkogo>");
if ($sukces) return TRUE;
else return FALSE;
?>

 

  • Lubię to! 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
BlackIce    3,522

To może tak. Przywróć końcówkę PHP do tej wersji:

if ($sukces){
	echo '<span style="color: green">Wiadomość została wysłana.</span>';
	return TRUE;
}
else{
	echo '<span style="color: red">Wiadomość nie została wysłana.</span>';
	return FALSE;
}

A AJAXa podmień na to:

$(document).ready(function(){
	$('#submit').click(function(){
		$.ajax({
			type: "POST",
			url: "plik.php",
			data: {
				name: $('input[name="name"]').val(),
				name1: $('input[name="name1"]').val(),
				email: $('input[name="email"]').val(),
				message: $('textarea[name="message"]').val()
			}
		}).done(function(data){
			$('<div>').css({
				'background': "rgba(0,0,0,.2)",
				'height': "100%",
				'text-align': "center",
				'width': "100%",
				'z-index': "999"
			}).html(data).promise().done(function(){
				setTimeout(function(){
					$(this).hide(function(){
						$(this).remove();
					});
				}, 5000); //5 sekund
			});
		}).fail(function(data){
			$('<div>').css({
				'background': "rgba(0,0,0,.2)",
				'height': "100%",
				'text-align': "center",
				'width': "100%",
				'z-index': "999"
			}).html(data).promise().done(function(){
				setTimeout(function(){
					$(this).hide(function(){
						$(this).remove();
					});
				}, 5000); //5 sekund
			});
		});
	});
});

 

Edytowane przez Salvation
  • Lubię to! 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
BlackIce    3,522

No to może tak zadziała... Końcówka PHP:

if ($sukces){
	echo '<span style="color: green">Wiadomość została wysłana.</span>';
	http_response_code(200); //wszystko ok
}
else{
	echo '<span style="color: red">Wiadomość nie została wysłana.</span>';
	http_response_code(500); //nie wysłało wiadomości
}

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
BlackIce    3,522

index.php:

<!DOCTYPE html>
<html>
<head>
	<title>uBraci.eu:: Kontakt</title>
	<meta charset="utf-8">
	<link rel="Shortcut icon" href="http://kontakt.ubraci.eu/grafika/favicon.png">
	<link rel="stylesheet" href="style.css">
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
	<script>
		$(document).ready(function(){
			$('form#formularzKontaktowy').submit(function(e){
				e.preventDefault();
				var formData = $(this).serialize();
				$.ajax({
					type: $(this).attr('method'),
					url: $(this).attr('action'),
					data: formData
				}).done(function(data){
					$('<div>').appendTo('body').css({
						'background': "rgba(0,0,0,.2)",
						'height': "100%",
						'text-align': "center",
						'width': "100%",
						'z-index': "999"
					}).html(data).promise().done(function(){
						setTimeout(function(){
							$(this).hide(function(){
								$(this).remove();
							});
						}, 5000); //5 sekund
					});
				}).fail(function(data){
					$('<div>').appendTo('body').css({
						'background': "rgba(0,0,0,.2)",
						'height': "100%",
						'text-align': "center",
						'width': "100%",
						'z-index': "999"
					}).html(data).promise().done(function(){
						setTimeout(function(){
							$(this).hide(function(){
								$(this).remove();
							});
						}, 5000); //5 sekund
					});
				});
			});
		});
	</script>
	<script>
		(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
			(i[r].q=i[r].q||[]).push(arguments)}, i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
		})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
		ga('create', 'UA-73806280-1', 'auto');
		ga('send', 'pageview');
	</script>
	<script src="CookieAlert/CookieAlert_1_1.min.js"></script>
	<script>CookieAlert.init();</script>
	<script>
		CookieAlert.init({
			style: 'dark',
			position: 'bottom',
			opacity: '1',
			displayTime: 0,
			cookiePolicy: 'http://cookiealert.sruu.pl/o-ciasteczkach',
			text: 'Ten serwis wykorzystuje pliki cookies. Korzystanie z witryny oznacza zgodę na ich zapis lub odczyt wg ustawień przeglądarki.'
		});
	</script>
	<script>
		// (C) 2000 www.CodeLifter.com
		// http://www.codelifter.com
		// Free for all users, but leave in this  header
		// Set the message for the alert box
		var am = "Niestety, prawy przycisk nie działa!";
		// do not edit below this line
		// ===========================
		var bV  = parseInt(navigator.appVersion)
		var bNS = navigator.appName=="Netscape"
		var bIE = navigator.appName=="Microsoft Internet Explorer"
		function nrc(e){
			if(bNS && e.which > 1){
				alert(am);
				return false;
			}
			else if(bIE && (event.button >1)){
				alert(am);
				return false;
			}
		}
		document.onmousedown = nrc;
		if (document.layers) window.captureEvents(Event.MOUSEDOWN);
		if (bNS && bV<5) window.onmousedown = nrc;
	</script>
</head>
<body>
	<div id="header">
		<div class="width">
			<span class="left"><a href="http://kontakt.ubraci.eu/"><img src="http://kontakt.ubraci.eu/grafika/logo.png" height="110" width="333" class='shake'></a></span>
			<nav class="right menu" style="margin-bottom:100px">
				<ul>
					<li><a href="http://ubraci.eu/">STRONA GŁÓWNA</a></li>
					<li><a href="http://forum.ubraci.eu/">FORUM</a></li>
					<li><a href="http://amxbans.ubraci.eu/">AMXBANS</a></li>
					<li><a href="http://sklep.ubraci.eu/">SKLEP</a></li>
				</ul>
			</nav>
			<form id="formularzKontaktowy" class="form-horizontal" action="funkcjaform.php" method="POST">
				<div id="formularz" style="text-align:center">
					<label for="name" style="color:white">Nick</label>
					<input name="name" id="name" type="text" placeholder="Podaj Nick..." required><br>
					<br>
					<label for="old" style="color:white">Wiek</label>
					<input name="old" id="old" type="text" placeholder="Podaj Wiek..." required><br>
					<br>        
					<label for="mail" style="color:white">E-Mail</label>
					<input name="email" id="mail" type="email" placeholder="Podaj E-Mail..." required><br>
					<br>        
					<label for="msg" style="color:white">Wiadomość</label>
					<textarea name="message" id="msg" rows="3" placeholder="Podaj Treść Wiadomości..."></textarea><br>
					<br>
					<input id="submit" name="submit" type="submit" value="Wyślij">
				</div>
			</form><br>
			<br>
			<br>
			<ul class="social-links" style="text-align:center">
				<li>
					<a href="https://www.facebook.com/ubraci.euu/" class="wow fadeInUp animated" style="visibility:visible;animation-name:fadeInUp">
						<img src="http://kontakt.ubraci.eu/grafika/11.png">
					</a>
				</li>
				<li>
					<a href="http://steamcommunity.com/groups/ubracieu" class="wow fadeInUp animated" data-wow-delay=".2s" style="visibility:visible;animation-delay:.2s;animation-name:fadeInUp">
						<img src="http://kontakt.ubraci.eu/grafika/12.png">
					</a>
				</li>
			</ul>
		</div>
	</div>
	<div style="color:white;font-size:20px">
		<p class="copyright">
			© <?php echo date('Y') ?><br>
			uBraci.eu &amp; All Rights Reserved
		</p>
	</div>
	<audio loop="loop" autoplay="autoplay"><source src="http://kontakt.ubraci.eu/grafika/EA Drop.mp3"></audio>
</body>
</html>

funkcjaform.php:

<?php
	header('Content-type: text/html; charset=utf-8');
	$name = filter_input(INPUT_POST, name, FILTER_SANITIZE_STRING);
	$old = filter_input(INPUT_POST, old, FILTER_SANITIZE_STRING);
	$email = filter_input(INPUT_POST, email, FILTER_VALIDATE_EMAIL);
	$message = filter_input(INPUT_POST, message, FILTER_SANITIZE_STRING);
	$dokogo = "kontakt@ubraci.eu";
	$tytul = "Kontakt uBraci.eu";
	$wiadomosc = "Nick: " . $name . "\n";
	$wiadomosc .= "Wiek: " . $old . "\n";
	$wiadomosc .= "E-Mail:  " . $email . "\n";
	$wiadomosc .= "Wiadomosc: " . $message . "\n";
	if(mail($dokogo, $tytul, $wiadomosc, "Od: <$email>")){
		http_response_code(200);
		echo '<span style="color: green">Wiadomość została wysłana.</span>';
	}
	else{
		http_response_code(500);
		echo '<span style="color: red">Wiadomość nie została wysłana.</span>';
	}

 

Edytowane przez Salvation

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
omom    37
Notice: Use of undefined constant name - assumed 'name' in /home/moviesup/domains/ubraci.eu/public_html/kontakt/funkcjaform.php on line 4
Notice: Use of undefined constant old - assumed 'old' in /home/moviesup/domains/ubraci.eu/public_html/kontakt/funkcjaform.php on line 5
Notice: Use of undefined constant email - assumed 'email' in /home/moviesup/domains/ubraci.eu/public_html/kontakt/funkcjaform.php on line 6
Notice: Use of undefined constant message - assumed 'message' in /home/moviesup/domains/ubraci.eu/public_html/kontakt/funkcjaform.php on line 7
Fatal error: Call to undefined function http_response_code() in /home/moviesup/domains/ubraci.eu/public_html/kontakt/funkcjaform.php on line 17
Notice: Use of undefined constant name - assumed 'name' in /home/moviesup/domains/ubraci.eu/public_html/kontakt/funkcjaform.php on line 4
Notice: Use of undefined constant old - assumed 'old' in /home/moviesup/domains/ubraci.eu/public_html/kontakt/funkcjaform.php on line 5
Notice: Use of undefined constant email - assumed 'email' in /home/moviesup/domains/ubraci.eu/public_html/kontakt/funkcjaform.php on line 6
Notice: Use of undefined constant message - assumed 'message' in /home/moviesup/domains/ubraci.eu/public_html/kontakt/funkcjaform.php on line 7
Fatal error: Call to undefined function http_response_code() in /home/moviesup/domains/ubraci.eu/public_html/kontakt/funkcjaform.php on line 17

 

  • Lubię to! 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
BlackIce    3,522

Aj, przepraszam. Zapomniałem o apostrafoach... funkcjaform.php:

<?php
	header('Content-type: text/html; charset=utf-8');
	$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
	$old = filter_input(INPUT_POST, 'old', FILTER_SANITIZE_STRING);
	$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
	$message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);
	$dokogo = "kontakt@ubraci.eu";
	$tytul = "Kontakt uBraci.eu";
	$wiadomosc = "Nick: " . $name . "\n";
	$wiadomosc .= "Wiek: " . $old . "\n";
	$wiadomosc .= "E-Mail:  " . $email . "\n";
	$wiadomosc .= "Wiadomosc: " . $message . "\n";
	if(mail($dokogo, $tytul, $wiadomosc, "Od: <$email>")){
		http_response_code(200);
		echo '<span style="color: green">Wiadomość została wysłana.</span>';
	}
	else{
		http_response_code(500);
		echo '<span style="color: red">Wiadomość nie została wysłana.</span>';
	}

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
omom    37
25 minut temu, Salvation napisał:

Aj, przepraszam. Zapomniałem o apostrafoach... funkcjaform.php:

<?php
	header('Content-type: text/html; charset=utf-8');
	$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
	$old = filter_input(INPUT_POST, 'old', FILTER_SANITIZE_STRING);
	$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
	$message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);
	$dokogo = "kontakt@ubraci.eu";
	$tytul = "Kontakt uBraci.eu";
	$wiadomosc = "Nick: " . $name . "\n";
	$wiadomosc .= "Wiek: " . $old . "\n";
	$wiadomosc .= "E-Mail:  " . $email . "\n";
	$wiadomosc .= "Wiadomosc: " . $message . "\n";
	if(mail($dokogo, $tytul, $wiadomosc, "Od: <$email>")){
		http_response_code(200);
		echo '<span style="color: green">Wiadomość została wysłana.</span>';
	}
	else{
		http_response_code(500);
		echo '<span style="color: red">Wiadomość nie została wysłana.</span>';
	}

 

 

Fatal error: Call to undefined function http_response_code() in /home/moviesup/domains/ubraci.eu/public_html/kontakt/funkcjaform.php on line 17
Edytowane przez Sin
  • Lubię to! 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
BlackIce    3,522

Musimy wrócić chyba do returnów, bo najwidoczniej masz zablokowane coś. Końcówka PHP:

if(mail($dokogo, $tytul, $wiadomosc, "Od: <$email>")){
	echo '<span style="color: green">Wiadomość została wysłana.</span>';
	return TRUE;
}
else{
	echo '<span style="color: red">Wiadomość nie została wysłana.</span>';
	return FALSE;
}

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
omom    37

Jest, pokazuje, ale jest kolejny problem.

Napis "Wiadomość została wysłana" nie znika ani nie odświeża strony po wysłaniu.

Zostaje ten sam formularz wypełniony oraz napis na dole.

  • Lubię to! 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.


×