СПАСИБО ОГРОМНОЕ!!!!!!!!!!!!!!!!!!!! ВСЕ РАБОТАЕТ)
Внутри файла 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 (количество) суммировалось.
Помогите пожалуйста!