Вот так работает скрипт:
<form id="submit_leave_email">
<input id="input_leave_email" type="text" class="input_bg" value=""/>
<button type="submit" class="button">Подписаться!</button>
<?php
if(isset($_POST['input_leave_email'])){
/* Connection to Database */
include('config.php');
/* Remove HTML tag to prevent query injection */
$email = strip_tags($_POST['input_leave_email']);
$sql = 'INSERT INTO email (email) VALUES(
"'.$email.'")';
mysql_query($sql);
echo $email;
} else { echo '0'; }
?>
Кодировка сейчас utf-8
Спустя 10 минут, 42 секунды (7.06.2011 - 20:45) quickxyan написал(а):
можно попробовать так.
<input id="input_leave_email" name="input_leave_email" type="text" class="input_bg" value=""/>
Спустя 1 минута, 39 секунд (7.06.2011 - 20:46) quickxyan написал(а):
даже так
<form id="submit_leave_email" method="POST">
<input id="input_leave_email" name="input_leave_email" type="text" class="input_bg" value=""/>
<button type="submit" class="button">Подписаться!</button>
Спустя 11 минут, 16 секунд (7.06.2011 - 20:58) sweetopium написал(а):
Попробовал, но все ровно так же...
Спустя 3 минуты, 3 секунды (7.06.2011 - 21:01) sweetopium написал(а):
Раньше причем работало, записывались адреса как надо, а потом пустота
Спустя 5 минут, 22 секунды (7.06.2011 - 21:06) quickxyan написал(а):
if(isset($_POST['input_leave_email'])){
/* Connection to Database */
include('config.php');
/* Remove HTML tag to prevent query injection */
$email = strip_tags($_POST['input_leave_email']);
$sql = 'INSERT INTO email (email) VALUES(
"'.$email.'")';
$result = mysql_query($sql);
$mysql_fetch_assoc($result);
echo $email;
} else { echo '0'; }
?>
Спустя 1 минута, 37 секунд (7.06.2011 - 21:08) inpost написал(а):
sweetopium
name="input_leave_email" - передаёт $_POST, а не id. Показывай код свой снова.
Да и переменные можно полегче назвать: name="email", и добавлять `email` = '".$_POST['email']."'
name="input_leave_email" - передаёт $_POST, а не id. Показывай код свой снова.
Да и переменные можно полегче назвать: name="email", и добавлять `email` = '".$_POST['email']."'
Спустя 2 минуты, 4 секунды (7.06.2011 - 21:10) sweetopium написал(а):
Сейчас так
и пустота опять
<form id="submit_leave_email" method="POST">
<input id="input_leave_email" name="input_leave_email" type="text" class="input_bg" value=""/>
<button type="submit" class="button">Подписаться!</button>
</form>
<?php
if(isset($_POST['input_leave_email'])){
/* Connection to Database */
include('config.php');
/* Remove HTML tag to prevent query injection */
$email = strip_tags($_POST['input_leave_email']);
$sql = 'INSERT INTO email (email) VALUES(
"'.$email.'")';
$result = mysql_query($sql);
$mysql_fetch_assoc($result);
echo $email;
} else { echo '0'; }
?>
и пустота опять
Спустя 4 минуты, 30 секунд (7.06.2011 - 21:14) inpost написал(а):
Ай-да копи-паст:
<?php
if(!empty($_POST['go']))
{
include './config.php';
mysql_query("INSERT INTO `email` SET
`email = '".mysql_real_escape_string($_POST['email'])."'`
") or die(mysql_error());
}
?>
<form action="" method="post">
<input type="text" name="email" /><br />
<input type="submit" name="go" value="ogogog" />
</form>
Спустя 4 минуты, 29 секунд (7.06.2011 - 21:19) sweetopium написал(а):
Пусто, а имена переменных так сделаны, потому что там еще через Juqery вылазит сообщение
Спустя 5 минут, 11 секунд (7.06.2011 - 21:24) inpost написал(а):
sweetopium
Какой jQuery? Мы говорим о чистом файле, без всяких сторонник приложений. Создай чистый test.php и туда скопипасти следующий код. В начале можешь даже дописать: print_r($_POST); , и когда нажмёшь на кнопку - покажи, что вывелось у тебя там.
Какой jQuery? Мы говорим о чистом файле, без всяких сторонник приложений. Создай чистый test.php и туда скопипасти следующий код. В начале можешь даже дописать: print_r($_POST); , и когда нажмёшь на кнопку - покажи, что вывелось у тебя там.
Спустя 5 минут, 9 секунд (7.06.2011 - 21:29) sweetopium написал(а):
Создал, проверил, все ровно пусто в базе данных, может это проблемы с хостом или я как то косо создал базу?
Пишет такое - Array ( [email] => dasdasd )
Пишет такое - Array ( [email] => dasdasd )
Спустя 21 минута, 44 секунды (7.06.2011 - 21:51) inpost написал(а):
sweetopium
А теперь покажи код этого файла test.php полностью сюда.
А теперь покажи код этого файла test.php полностью сюда.
Спустя 4 минуты, 52 секунды (7.06.2011 - 21:56) sweetopium написал(а):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
print_r($_POST);
if(!empty($_POST['go']))
{
include './config.php';
mysql_query("INSERT INTO `email` SET
`email = '".mysql_real_escape_string($_POST['email'])."'`
") or die(mysql_error());
}
?>
<form action="" method="post">
<input type="text" name="email" /><br />
<input type="submit" name="go" value="ogogog" />
</form>
</body>
</html>
Почему то стал сейчас так писать-
Array ( [email] => testmail@mail.ru [go] => ogogog ) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2
Спустя 17 минут, 36 секунд (7.06.2011 - 22:13) inpost написал(а):
`email = '".mysql_real_escape_string($_POST['email'])."'` - синтаксическая ошибка,
`email` = '".mysql_real_escape_string($_POST['email'])."' - вот так надо
`email` = '".mysql_real_escape_string($_POST['email'])."' - вот так надо
Спустя 4 минуты, 56 секунд (7.06.2011 - 22:18) sweetopium написал(а):
Теперь добавляет, но как сделать чтобы на моей странице (уже с дизайном и juqery ) работало?
<form id="submit_leave_email" method="POST">
<input id="input_leave_email" name="input_leave_email" type="text" class="input_bg" value=""/>
<button type="submit" class="button">Подписаться!</button>
</form>
<?php
print_r($_POST);
if(isset($_POST['input_leave_email'])){
/* Connection to Database */
include('config.php');
/* Remove HTML tag to prevent query injection */
$email = strip_tags($_POST['input_leave_email']);
$sql = 'INSERT INTO email (email) VALUES(
"'.$email.'")';
mysql_query($sql);
echo $email;
} else { echo '0'; }
?>
Спустя 5 минут, 52 секунды (7.06.2011 - 22:24) inpost написал(а):
sweetopium
берёшь мой код и вставляешь к себе.
берёшь мой код и вставляешь к себе.
Спустя 7 минут, 43 секунды (7.06.2011 - 22:32) sweetopium написал(а):
Как я понял, нужно было сделать так:
но теперь он даже пустую не создает, где я опять накосячил?)
<form action="" method="post" id="submit_leave_email">
<input id="input_leave_email" name="input_leave_email" type="text" class="input_bg" value="" /><br />
<input type="submit" name="go" value="Подписаться" />
</form>
<?php
print_r($_POST);
if(!empty($_POST['go']))
{
include './config.php';
mysql_query("INSERT INTO `email` SET
`email` = '".mysql_real_escape_string($_POST['input_leave_email'])."'
") or die(mysql_error());
}
?>
но теперь он даже пустую не создает, где я опять накосячил?)
Спустя 2 часа, 16 минут, 1 секунда (8.06.2011 - 00:48) Invis1ble написал(а):
<form action="" method="post" id="submit_leave_email">
<input id="input_leave_email" name="input_leave_email" type="text" class="input_bg" value="" /><br />
<input type="submit" name="go" value="Подписаться" />
</form>
<?php
if (isset($_POST['go'], $_POST['input_leave_email']))
{
die('OK');
include './config.php';
mysql_query("INSERT INTO `email` SET
`email` = '".mysql_real_escape_string($_POST['input_leave_email'])."'
") or die(mysql_error());
}
Если высветится OK, удали строку die('OK') и проверь, что получится.
Спустя 8 минут, 14 секунд (8.06.2011 - 00:56) Админ написал(а):
Вроде понятно где косяк - но спать охота. Просто проблема в том, что лучше для понимания разбить всё на переменные нежели чем всё пихать в запрос. Так проще.
Спустя 2 часа, 51 минута, 22 секунды (8.06.2011 - 03:47) inpost написал(а):
sweetopium
Ещё раз, твои другие скрипты перебивают запрос. Откуда я знаю, что там делает jQuery, может он весь на аяксе подпитан...
Ещё раз, твои другие скрипты перебивают запрос. Откуда я знаю, что там делает jQuery, может он весь на аяксе подпитан...
Спустя 1 час, 20 минут, 18 секунд (8.06.2011 - 05:08) Invis1ble написал(а):
Цитата |
Ещё раз, твои другие скрипты перебивают запрос. Откуда я знаю, что там делает jQuery, может он весь на аяксе подпитан |
Скорее всего так и есть. Он button на submit поменял, jQuery перехватывать событие перестал и теперь скрипт, вызываемый ранее с помощью AJAX, попросту не запускается.
Спустя 1 час, 1 минута, 14 секунд (8.06.2011 - 06:09) sweetopium написал(а):
Вот код со скриптами:
insert.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>title</title>
<link rel="stylesheet" href="style.css" type="text/css" />
<link rel="stylesheet" href="reveal.css">
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script>
<script type="text/javascript" src="js/countdown.js"></script>
<script type="text/javascript" src="jquery.reveal.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-23828956-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
$(document).ready(function(){
$("form#submit_leave_email").submit(function() {
var input_leave_email = $('#input_leave_email').attr('value');
$.ajax({
type: "POST",
url: "insert.php",
data: "input_leave_email="+ input_leave_email,
success: function(){
$("#submit_leave_email").fadeOut();
$("#update_success").fadeIn();
}
});
return false;
});
});
</script>
<script type="text/javascript" src="http://vkontakte.ru/js/api/share.js?11" charset="windows-1251"></script>
</head>
<body>
<div id="central_header">
<div id="leave_email">
<form action="" method="post" id="submit_leave_email">
<input id="input_leave_email" name="input_leave_email" type="text" class="input_bg" value="" />
<button type="submit" class="button" name="go">Подписаться!</button>
</form>
</div>
</body>
</html>
insert.php
<?php
print_r($_POST);
if(isset($_POST['input_leave_email'])){
/* Connection to Database */
include('config.php');
/* Remove HTML tag to prevent query injection */
$email = strip_tags($_POST['input_leave_email']);
$sql = 'INSERT INTO email (email) VALUES(
"'.$email.'")';
mysql_query($sql);
echo $email;
} else { echo '0'; }
?>
Спустя 12 минут, 28 секунд (8.06.2011 - 06:21) inpost написал(а):
sweetopium
Ну и где ты переделал insert.php так, как я тебе показывал? Где кавычки, где функция обработки входящих данных mysql_real_escape_string ? Я это для кого рассписывал, как правильно должен выглядеть sql запрос? А ты снова свои strip_tags лепишь...
И какой ещё BUTTON? <input type="submit">! Ты в jQuery перехватываешь событие: ("form#submit_leave_email").submit(function() { , именно событие submit, а не простое нажатие кнопки button.
Ну и где ты переделал insert.php так, как я тебе показывал? Где кавычки, где функция обработки входящих данных mysql_real_escape_string ? Я это для кого рассписывал, как правильно должен выглядеть sql запрос? А ты снова свои strip_tags лепишь...
И какой ещё BUTTON? <input type="submit">! Ты в jQuery перехватываешь событие: ("form#submit_leave_email").submit(function() { , именно событие submit, а не простое нажатие кнопки button.
Спустя 20 минут, 11 секунд (8.06.2011 - 06:42) sweetopium написал(а):
inpost
Это изначальный вариант (который работал, но потом почему то перестал), вчера я уже показывал вариант, который давал ты, он вообще даже пустую запись не делал в базе данных.
Это изначальный вариант (который работал, но потом почему то перестал), вчера я уже показывал вариант, который давал ты, он вообще даже пустую запись не делал в базе данных.
Спустя 1 час, 40 минут, 55 секунд (8.06.2011 - 08:22) Invis1ble написал(а):
не знаю насчет сабмита, может так тоже канает, но вот запрос точно корявый... Имена таблицы и поля в кавычки обратные не взяты, между VALUES и скобкой пробела нет... Вобщем, здается мне, что там синтаксическая ошибка ), и скорее всего изза отсутствия пробела, т.к. мускул интерпретирует скорее всего VALUES как функцию.. Отсюда вытекает предположение, что на локалхосте и хостинге различные верси мускула, из-за чего на локалхосте запрос срабатывал. Ну это все мое имхо.
Спустя 11 минут, 8 секунд (8.06.2011 - 08:34) inpost написал(а):
sweetopium
Ну как я тебе буду помогать, если я даю тебе код, ты его коряво копируешь, 1 символ лишний ставишь - выходит ошибка. Ты вместо того, чтобы убрать лишний символ выставляешь свой старый код и заявляешь: "да твоё не работало вообще, не хочу думать, вот моё, исправьте и дайте готовенькое".
Ну как я тебе буду помогать, если я даю тебе код, ты его коряво копируешь, 1 символ лишний ставишь - выходит ошибка. Ты вместо того, чтобы убрать лишний символ выставляешь свой старый код и заявляешь: "да твоё не работало вообще, не хочу думать, вот моё, исправьте и дайте готовенькое".
Спустя 23 минуты, 33 секунды (8.06.2011 - 08:57) sweetopium написал(а):
Я полнейший нуб в php для меня не понятны эти символы все кавычки, где как они правильно стоять должны. А мой программист уехал, могу заплатить, чтобы кто нить написал как должно быть, чтобы работало )
Спустя 14 минут, 54 секунды (8.06.2011 - 09:12) Invis1ble написал(а):
Так тебе показали уже, как должно быть, ну если хошь - стукни мне в асю ***
Спустя 1 час, 44 секунды (8.06.2011 - 10:13) sweetopium написал(а):
Сделал вроде как показывали, но он ничего не добавляет теперь вообще, где ошибка моя так и не пойму.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<link rel="stylesheet" href="style.css" type="text/css" />
<link rel="stylesheet" href="reveal.css">
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script>
<script type="text/javascript" src="js/countdown.js"></script>
<script type="text/javascript" src="jquery.reveal.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-23828956-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
$(document).ready(function(){
$("form#submit_leave_email").submit(function() {
var email = $('#email').attr('value');
$.ajax({
type: "POST",
url: "insert.php",
data: "email="+ email,
success: function(){
$("#submit_leave_email").fadeOut();
$("#update_success").fadeIn();
}
});
return false;
});
});
</script>
<script type="text/javascript" src="http://vkontakte.ru/js/api/share.js?11" charset="windows-1251"></script>
</head>
<body>
<div id="central_header">
<div id="leave_email">
<form action="" method="post" id="submit_leave_email">
<input id="email" name="email" type="text" class="input_bg" value="" />
<input type="submit" name="go" value="Подписаться" class="button" />
</form>
<?php
print_r($_POST);
if(!empty($_POST['go']))
{
include './config.php';
mysql_query("INSERT INTO `email` SET
`email` = '".mysql_real_escape_string($_POST['email'])."'
") or die(mysql_error());
}
?>
Спустя 2 минуты, 42 секунды (8.06.2011 - 10:15) inpost написал(а):
sweetopium
А ты разве уже не договорился с человеком? Как-то уже некрасиво помогать
А ты разве уже не договорился с человеком? Как-то уже некрасиво помогать
Спустя 6 минут, 15 секунд (8.06.2011 - 10:22) sweetopium написал(а):
Человек спать пошел, а мне надо сейчас сделать, если не найдется решение заплачу человеку.
Спустя 9 минут, 40 секунд (8.06.2011 - 10:31) Invis1ble написал(а):
Помагайте народ, если не получится, то уже вечером я займусь