brambo

Рейтинг
5
Регистрация
14.03.2013

СПАСИБО ОГРОМНОЕ!!!!!!!!!!!!!!!!!!!! ВСЕ РАБОТАЕТ)

Внутри файла php происходит прием данных из формы, обработка и INSERT INTO в базу данных. Здесь все работает без проблем.

send_form.php


<?php
/*Важные параметры мы заносим в константы*/
define("DB_HOST", "localhost");
define("DB_LOGIN", "root");
define("DB_PASSWORD", "password");
define("DB_NAME", "gbook");
/*Соединяемся с сервером базы данных*/
mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die("Ошибка подключения к базе данных!");
/*Выбираем базу данных*/
mysql_select_db(DB_NAME) or die(mysql_error());

/*Функция фильтрации данных*/
function clearData($data, $type="s"){
switch($type){
case "s": $data = trim(strip_tags($data)); break;
case "i": $data = abs((int)$data); break;
}
return $data;
}
/*Если данные пришли, принимаем их и фильтруем*/
if(!empty($_POST['name']) and !empty($_POST['email']) and !empty($_POST['msg'])){
$name = clearData($_POST['name']);
$email = clearData($_POST['email']);
$message = clearData($_POST['msg']);
/*Формируем SQL-запрос на добавление данных*/
$sql = "INSERT INTO msgs(
name,
email,
msg)
VALUES(
'$name',
'$email',
'$message')";
/*Посылаем запрос в базу данных*/
mysql_query($sql) or die(mysql_error());
sleep(3);
/*Делаем редирект во избежании нажатия F5 и повторного отправления данных*/
header("Location: gbook.php");

}
else{
header("Location: gbook.php");
}
?>

А вот при нажатии кнопки отправить, просто происходит отправка данных в базу и никакого аякса нет. Страница перезагружается и возвращается обратно посредством header("Location: gbook.php").

Скрипт аякса выглядит так:


<script type="text/javascript">
$("#btnSubmit").click(function(){
$.ajax({
url: "send_form.php",
data: $('#contact-container form').serialize(),
type: "post",
cache: false,
dataType: "html",
success: function(){
$("#message").html("Данные добавлены!");
}
});
});
</script>

Но он не работает(

Допустим я сделаю так:


<div id="contact-container">
<form action="send_form.php" method="post">
<p>Ваше имя: <input id="name" type="text" name="name" /></p>
<p>Ваш email: <input id="email" type="text" name="email" /></p>
<p>Сообщение:</p> <textarea id="msg" rows="7" cols="40" name="msg"></textarea>
<p><button id="btnSubmit" type="submit">Отправить</button></p>
<div id="message"></div>
</form>
</div>
<script type="text/javascript">
$("#btnSubmit").click(function(){
var data = $('#contact-container form').serialize();
alert(data);
$.ajax({
url: "send_form.php",
data: $('#contact-container form').serialize(),
type: "post",
cache: false,
dataType: "text",
success: function(text){
$("#message").html("Данные добавлены!");
}
});
});
</script>

Все равно не работает!

<?php

$username = $_GET['username'];

if($username == ' '){

header("Location: tests.html");

}

if(!isset($_GET["send"])) {

echo file_get_contents("tests.html");

}else{

echo $_GET["username"];

}

?>

Спасибо большое! Будем ждать изменений!

Если хотите,чтобы подсчет был в этом же окне, то оставьте атрибут action формы пустым.

А вообще такие калькуляторы лучше делать на jquery, будет гораздо изящнее. И результат будет отображаться там где вам нужно.

Вот php код:


<?php
$paket = $_POST['paket'];
$podokon12 = $_POST['dlpodokon'];
$otkos12 = $_POST['otkos'];
$otliv = $_POST['otliv'];
$montag = $_POST['montag'];
$stvorka = $_POST['stvorka'];
$stvorka2 = $_POST['stvorka2'];
$shirina = $_POST['shirina'];
$shirina2 = $_POST['shirina2'];
$vysota = $_POST['vysota'];

echo $paket + $podokon12 + $otkos12 + $otliv + $montag + $stvorka + $stvorka2 + $shirina + $shirina2 + $vysota;
?>

Это самое простое решение.

---------- Добавлено 03.06.2013 в 13:02 ----------

<?php

$paket = $_POST['paket'];

$podokon12 = $_POST['dlpodokon'];

$otkos12 = $_POST['otkos'];

$otliv = $_POST['otliv'];

$montag = $_POST['montag'];

$stvorka = $_POST['stvorka'];

$stvorka2 = $_POST['stvorka2'];

$shirina = $_POST['shirina'];

$shirina2 = $_POST['shirina2'];

$vysota = $_POST['vysota'];

echo $paket + $podokon12 + $otkos12 + $otliv + $montag + $stvorka + $stvorka2 + $shirina + $shirina2 + $vysota;

?>

А где у вас ценники, чтобы посчитать стоимость и что означают числа в селектах?

---------- Добавлено 03.06.2013 в 11:58 ----------

Все, нашел!

Да это понятно, что это яндекс такой) Просто интересно почему 27 статей ранжирются норм, а три нет. Интересно это проблема во мне или в яндексе? Кстати, вот в Гугле пока таких проблем нет!

Там как раз все норм 200 ОК показывает.

))) еще не добрался до этого

---------- Добавлено 06.05.2013 в 14:10 ----------

Че то не получается((

Вот мой код:


<?php
include 'connect.php';
$name = $_POST['plity'];
$amount = $_POST['amount'];
$date = $_POST['date'];
mysql_query("INSERT INTO plity (name, amount, date) value('$name', $amount, '$date') ON DUPLICATE KEY UPDATE amount = 'amount' + $amount");
?>

Еще раз:

Вводим товар и его количество, например 10 шт.. Потом опять ввели этот товар, но уже количество 20шт. Нужно чтобы amount (количество) суммировалось.

Помогите пожалуйста!

12
Всего: 14