проблем с ajax форма и POST

Pro_Lamer4e

Registered
приятели вече 3-ти ден се мъча и немога да измисла как този код да се изпълнява без да презарежда страницата като се попълни и изпрати пробвах с няколко AJAX форми но нещо не се получава

<?php include_once "connect.php";
if(isset($_POST['submit'])){
$ot = mysql_real_escape_string($_POST['ot']);
$from = mysql_real_escape_string($_POST['from']);
$firma = mysql_real_escape_string($_POST['firma']);
$ip = $_SERVER["REMOTE_ADDR"];
if($ot == null || $firma == null){
$error = '<span style="color:red">Всички полета са задължителни!</span>';
}else{
date_default_timezone_set('Europe/Sofia');
$time = time();
$now = date("j.n.Yг в H:i:sч",$time);
$query = "INSERT INTO firma VALUES('','$ot','$from','$firma','$now','$ip');";
$result = mysql_query($query);
if(!$result){echo '<span style="color:red">sprqno</span>';}else{
$success = '<span style="color:green">mina uspeshno</span>';
}}}
?>


<form id="ff" method="post" enctype="multipart/form-data">
<tr>
<td> </td>
<td width="120"><div align="right"><strong>От кого: </strong></div></td>
<td width="295"><label><input type="text" name="ot"></label></td>
</tr>
<tr>
<td> </td>
<td width="120"><div align="right"><strong>За Кого: </strong></div></td>
<td width="295"><label><input type="text" name="from"></label></td>
</tr>
<tr>
<td> </td>
<td><div align="right"><strong>фирма: </strong></div></td>
<td><label>
<textarea name="firma"></textarea>
</label></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><label>
<input name="submit" type="submit" value="дай жега">
</form>
 
С jQuery:

[js]$("#ff").on("submit", function(event) {
event.PreventDefault();
$.post("target.php", $("#ff").serialize()).done(function(data) {
//Променливата data съдържа output-а на target.php
//За да я добавиш към елемент например <div id="result"></div>
$("#result").empty().append(data);
});
});[/js]

В документацията на jQuery има страхотен пример (последния)
 
Аз бих ти препоръчал друго нещо.

1.Правиш си един клас в самата форма, които да е display: none;
Примера при мен <div class="message"></div>

2.Това е кода

[js]$("#login-form").submit(function() {

var url = "пътя към PHP файла";

$.ajax({
beforeSend: function() {
signup_form = $('.login-form');
signup_button = signup_form.find('.btn');
signup_button.attr('disabled', true);
signup_form.find('.post-message').fadeOut('fast');
},
type: "POST",
url: url,
data: $("#login-form").serialize(),

success: function(data){
if(data.status == 1){
window.location = data.redirect;
}else{
signup_button.attr('disabled', false);
signup_form.find('.post-message').html(data.message).fadeIn('fast');
}
}
});

return false;
});[/js]

а това е php кода

PHP:
$mode = isset($_GET['mode']) ? $_GET['mode'] : NULL;

if($mode == "login"){
	$username = mysqli_real_escape_string($db, $_POST['username']);
	$password = $_POST['password'];
	$password_md5 = md5($password);
	
	if(isset($username) && isset($password)){
		$check = "SELECT * FROM users WHERE username='$username' AND password='$password_md5'";
		$check1 = mysqli_query($db, $check);
		
		if(mysqli_num_rows($check1) != 0){
			$data['redirect'] = $default_url;
			$data['status'] = 1;
			
			$get = mysqli_fetch_assoc($check1);
			$_SESSION['id'] = $get['id'];
		}else{
			$data['status'] = 0;
			$data['message'] = 'Invalid username or password!';
		}
	}else{
		$data['status'] = 0;
		$data['message'] = 'Please type username and password!';
	}
	
	header("Content-type: application/json");
	echo json_encode($data);
	mysqli_close($db);
	exit();
}

Няма грешки, защото го пробвах. Успех!
 

Back
Горе