<?
/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "pass"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "photo"; // название базы данных
/* Таблица MySQL, в которой будут храниться данные */
$table = "anekdots";
/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
/* Определяем текущую дату */
$cdate = date("Y-m-d");
/* Составляем запрос для вставки информации в таблицу
name...date - название конкретных полей в базе;
в $_POST["test_name"]... $_POST["test_mess"] - в этих переменных содержатся данные, полученные из формы */
$query = "INSERT INTO $table SET user_name='".$_POST["user_name"]."', text='".$_POST["text"]."', data='$cdate'";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());
/* Закрываем соединение */
mysql_close();
?>
<center><form name="add_text" method="post">
<br>
Ваше имя :
<input type="text" name="user_name" maxlength="30" />
<br>
Анекдот: <br><textarea name="text" cols="100" rows="10"></textarea>
<td colspan="2" align="center">
<input type="submit" class="button" value="Добавить" />
<input type="reset" class="button" value="Очистить" /><br><br><br><br><br><br><br><br>
</td>
</form></center>
Спустя 3 минуты, 11 секунд (14.08.2011 - 18:47) timoxa написал(а):
Не в том разделе создал, прощу перенести
Спустя 4 минуты, 11 секунд (14.08.2011 - 18:52) imbalance_hero написал(а):
Надо делать проверку, отправлена ли была форма или нет, отправлены ли данные, и если да - тогда только заносить.
if(isset($_POST['text'])) // проверяем, существует ли $_POST
{
mysql_query();
}
Спустя 4 минуты, 56 секунд (14.08.2011 - 18:57) Renden написал(а):
Цитата (imbalance_hero @ 14.08.2011 - 18:52) |
Надо делать проверку, отправлена ли была форма или нет, отправлены ли данные, и если да - тогда только заносить.if(isset($_POST['text'])) // проверяем, существует ли $_POST |
timoxa
Ога, и желательно еще привязывать к кнопке, а не к полю:
<input type="submit" class="button" name="send" value="Добавить" />
if(isset($_POST['send'])) {
mysql_query();
}
Спустя 1 минута, 21 секунда (14.08.2011 - 18:58) timoxa написал(а):
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
/* Определяем текущую дату */
$cdate = date("Y-m-d");
/* Составляем запрос для вставки информации в таблицу
name...date - название конкретных полей в базе;
в $_POST["test_name"]... $_POST["test_mess"] - в этих переменных содержатся данные, полученные из формы */
$query = "INSERT INTO $table SET user_name='".$_POST["user_name"]."', text='".$_POST["text"]."', data='$cdate'";
if(isset($_POST['text'])) // проверяем, существует ли $_POST
/* Закрываем соединение */
mysql_close();
?>
Добавил то что вы написали, теперь данные вообще не сохраняются в базе.
Спустя 49 секунд (14.08.2011 - 18:59) imbalance_hero написал(а):
Renden
А если я через CURL отправлю лишь $_POST['send'] без данных? Забивать БД будем пустотой, считай мелкая дырка.
А если я через CURL отправлю лишь $_POST['send'] без данных? Забивать БД будем пустотой, считай мелкая дырка.
Спустя 56 секунд (14.08.2011 - 19:00) imbalance_hero написал(а):
timoxa
if(isset($_POST['text']))
{
$query = "INSERT INTO $table SET user_name='".$_POST["user_name"]."', text='".$_POST["text"]."', data='$cdate'";
mysql_query($query) or die(mysql_error());
}
Спустя 3 минуты, 18 секунд (14.08.2011 - 19:03) Renden написал(а):
timoxa
imbalance_hero
Так проверка данных это уже другой вопрос, есть они там или нет, просто ослеживать сабмит формы помоему лучше по кнопке, или я не прав?
<?
$hostname = "localhost";
$username = "root";
$password = "pass";
$dbName = "photo";
$table = "anekdots";
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
mysql_select_db($dbName) or die (mysql_error());
$cdate = date("Y-m-d");
if(isset($_POST['text']))
{
$query = "INSERT INTO $table SET user_name='".$_POST["user_name"]."', text='".$_POST["text"]."', data='$cdate'";
mysql_query($query) or die(mysql_error());
}
?>
imbalance_hero
Так проверка данных это уже другой вопрос, есть они там или нет, просто ослеживать сабмит формы помоему лучше по кнопке, или я не прав?
Спустя 39 секунд (14.08.2011 - 19:04) timoxa написал(а):
Теперь при заходе на страницу всё нормально, как сделать чтобы запрос не выполнялся если поля пустые.
Да и еще когда F5 жмешь прошлый запрос выполняется.
Да и еще когда F5 жмешь прошлый запрос выполняется.
Спустя 3 минуты, 17 секунд (14.08.2011 - 19:07) imbalance_hero написал(а):
timoxa
1) Проверяй поля, пустые ли они: if(!empty).
2) После добавления записи в БД, надо делать редирект.
1) Проверяй поля, пустые ли они: if(!empty).
2) После добавления записи в БД, надо делать редирект.
header("Location: /");
Спустя 46 секунд (14.08.2011 - 19:08) Renden написал(а):
timoxa
...
if(isset($_POST['text']))
{
if(!empty($_POST["user_name"]) && !empty($_POST["text"]))
{
$query = "INSERT INTO $table SET user_name='".trim(mysql_real_escape_string($_POST["user_name"]))."', text='".trim(mysql_real_escape_string($_POST["text"]))."', data='$cdate'";
mysql_query($query) or die(mysql_error());
header ("Location: index.php");
}
else echo "Заполните пожалуйста все поля формы";
}
Спустя 3 минуты, 43 секунды (14.08.2011 - 19:11) timoxa написал(а):
Цитата (Renden @ 14.08.2011 - 16:08) |
timoxa
|
тут ошибка помоему какаято, страница не грузится так. else
echo "Заполните пожалуйста все поля формы";
тут точно правильно?
Спустя 2 минуты, 25 секунд (14.08.2011 - 19:14) Renden написал(а):
timoxa
Скобка лишняя одна, после !empty($_POST["user_name"])) убери 1 скобку
Отредактировал выше, неудобно писать код в этом маленьком окне без подстветки=)
Скобка лишняя одна, после !empty($_POST["user_name"])) убери 1 скобку
Отредактировал выше, неудобно писать код в этом маленьком окне без подстветки=)
Спустя 2 минуты, 34 секунды (14.08.2011 - 19:16) timoxa написал(а):
500 ошибка, почему?
Спустя 1 минута, 45 секунд (14.08.2011 - 19:18) Renden написал(а):
timoxa
Сейчас уже хз, вроде все проверил все поправил выше
Сейчас уже хз, вроде все проверил все поправил выше
Спустя 3 минуты, 43 секунды (14.08.2011 - 19:22) timoxa написал(а):
Проверь правильные ли у тебя везде скобки "" ''
а то я php только начал учить))
а то я php только начал учить))
Спустя 2 минуты, 43 секунды (14.08.2011 - 19:25) Renden написал(а):
timoxa
Да все вроде верно, обрати внимание стоит у тя точка с запятой после header ("Location: index.php");
Да все вроде верно, обрати внимание стоит у тя точка с запятой после header ("Location: index.php");
Спустя 7 секунд (14.08.2011 - 19:25) imbalance_hero написал(а):
timoxa
Если ты поправил, и всё равно ошибка -выставляй код снова, кто знает, какую из скобок ты убрал лишнюю
Если ты поправил, и всё равно ошибка -выставляй код снова, кто знает, какую из скобок ты убрал лишнюю
Спустя 3 минуты, 52 секунды (14.08.2011 - 19:29) timoxa написал(а):
header ("Location: index.php"); тут все нормально...
Спустя 1 минута, 51 секунда (14.08.2011 - 19:30) timoxa написал(а):
Цитата (Renden @ 14.08.2011 - 15:57) | ||
timoxa Ога, и желательно еще привязывать к кнопке, а не к полю:
|
напишите правильно готовый вариант а то непойму))
Спустя 1 час, 12 минут, 53 секунды (14.08.2011 - 20:43) imbalance_hero написал(а):
Возьми свой скрипт, и замени свою функцию mysql_query(), на ту, как я показал сделать вместе с условием...
Спустя 24 минуты, 9 секунд (14.08.2011 - 21:07) timoxa написал(а):
Можешь выложить готовый вариант ? буду благодарен. уже второй день вожусь
Спустя 4 минуты, 19 секунд (14.08.2011 - 21:12) imbalance_hero написал(а):
<?php
/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "pass"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "photo"; // название базы данных
/* Таблица MySQL, в которой будут храниться данные */
$table = "anekdots";
/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
/* Определяем текущую дату */
$cdate = date("Y-m-d");
if(isset($_POST['text']))
{
if(!empty($_POST["user_name"]) && !empty($_POST["text"]))
{
$query = "INSERT INTO `".$table."` SET `user_name`='".trim(mysql_real_escape_string($_POST["user_name"]))."', `text`='".trim(mysql_real_escape_string($_POST["text"]))."', `data`='".$cdate."'";
mysql_query($query) or die(mysql_error());
header ("Location: index.php");
}
else
echo "Заполните пожалуйста все поля формы";
}
/* Закрываем соединение */
mysql_close();
?>
<center><form name="add_text" method="post">
<br>
Ваше имя :
<input type="text" name="user_name" maxlength="30" />
<br>
Анекдот: <br><textarea name="text" cols="100" rows="10"></textarea>
<td colspan="2" align="center">
<input type="submit" class="button" value="Добавить" />
<input type="reset" class="button" value="Очистить" /><br><br><br><br><br><br><br><br>
</td>
</form></center>
Спустя 20 минут, 11 секунд (14.08.2011 - 21:32) timoxa написал(а):
Огромное спасибо!