X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Помогите найти ошибку
Semenovich
Semenovich
Topic Starter сообщение 17.1.2011, 23:15; Ответить: Semenovich
Сообщение #1


При отправлении данных в базу пишет:"Вы не все поля заполнили" - хотя поля заполняю все
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Форма добавления данных</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<div id="form" align="center">
<form action="obr_form.php" method="post" name="form1" target="_top">
<h4>Раздел</h4>
<textarea name="razdel" cols="30" rows="2"></textarea>
<h4>Дата</h4>
<input name="date" type="text" value="27-01-2011" size="20">
<h4>Текст объявления</h4>
<textarea name="text" cols="80" rows="10"></textarea>
<h4>Данные заявителя</h4>
<textarea name="kontakt" cols="25" rows="4"></textarea><br><br>
<input name="ok" value="Загрузка" type="submit">
</form>
</div>
</body>


[PHP]<?php include("blogs/bd.php");
if (isset($_POST['razdel'])) {$razdel=$_POST['razdel']; if ($razdel == '') {unset($razdel);}}
/* Если существует в глобальном массиве переменная $razdel=$_POST['razdel'] определенная ячейка, то мы создаем простую переменную из нее. Если переменная пустая, то уничтожаем.*/
if (isset($_POST['data'])) {$data=$_POST['data']; if ($data == '') {unset($data);}}
if (isset($_POST['text'])) {$text=$_POST['text']; if ($text == '') {unset($text);}}
if (isset($_POST['kontakt'])) {$kontakt=$_POST['kontakt']; if ($kontakt == '') {unset($kontakt);}}
?>
<?php
if (isset($razdel) && isset($data) && isset($text) && isset($kontakt))
{ /* Работоспособность базы */
$result = mysql_query("INSERT INTO basa (razdel,data,text,kontakt) VALUES ('$razdel','$data','$text','$kontakt')");
if ($result == 'true') {echo "<p>Все данные занесены в базу</p>";}
else {echo "<p>Данные не занесены в базу</p>";}
}
else
{echo "<p>Вы не все поля заполнили</p>";}
?> [/PHP]

[PHP]<?
$db=mysql_connect ("localhost","Sound","QP8d7ryRcmYJHVq4");
mysql_select_db ("register", $db);
?>[/PHP]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LifeUP
LifeUP
сообщение 17.1.2011, 23:26; Ответить: LifeUP
Сообщение #2


скорее всего проблема в поле data попробуйте при запросе его не использовать.

P.S какаято у вас запутанная схема, вот набросал примерчик попроще
[PHP]
if (isset ($_POST['ok']))
{
$info = '';

$razdel = isset ($_POST['razdel']) ? trim ($_POST['razdel']) : '';
$date = isset ($_POST['razdel']) ? trim ($_POST['date']) : '';
$text = isset ($_POST['text']) ? trim ($_POST['text']) : '';
$kontakt = isset ($_POST['kontakt']) ? trim ($_POST['kontakt']) : '';

if (empty ($razdel) || empty ($date) || empty ($text) || empty ($kontakt))
{
$info = 'Заполните все поля';
}

if (empty ($info))
{
if (mysql_query ("INSERT INTO `basa` (razdel,data,text,kontakt) VALUES ('" . $razdel . "','" . $data . "','" . $text . "','" . $kontakt . "')"))
{
$info = 'it`s good!';
}
else
{
$info = 'wrong!';
}
}
}

echo $info;
[/PHP]

P.S.S на реальном сайте так никогда не делайте! всегда проверяйте любые входящие данные от пользователя!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Semenovich
Semenovich
Topic Starter сообщение 17.1.2011, 23:54; Ответить: Semenovich
Сообщение #3


LifeUP
О мистер все заработало, за исключением даты, в базе данных не выставляется дата, все показывает по нулям.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LifeUP
LifeUP
сообщение 18.1.2011, 1:09; Ответить: LifeUP
Сообщение #4


рас дело в дате значит пробуйте изменить имя data в таблице (есть имена которые "зарезервированы" в БД и их нельзя использовать) к примеру на ttt, если запрос и в неё не запишется то что-то с данными для записи, копайте там.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Semenovich
Semenovich
Topic Starter сообщение 18.1.2011, 1:21; Ответить: Semenovich
Сообщение #5


(LifeUP @ 18.1.2011, 03:09) *
рас дело в дате значит пробуйте изменить имя data в таблице (есть имена которые "зарезервированы" в БД и их нельзя использовать) к примеру на ttt, если запрос и в неё не запишется то что-то с данными для записи, копайте там.

Поменял и все равно не прописывает дату. В базе почему -то стоит так: 0000-00-00 а у меня данные выставляются так 12-12-2011
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 18.1.2011, 1:22; Ответить: alexdrob
Сообщение #6


зачем что то менять, просто поля и названия таблиц нужно всегда ьрать в `поле`
[PHP]if (mysql_query ("INSERT INTO `basa` (`razdel`,`data`,`text`,`kontakt`) VALUES ('" . $razdel . "','" . $data . "','" . $text . "','" . $kontakt . "')"))[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 18.1.2011, 1:23; Ответить: alexdrob
Сообщение #7


(Semenovich @ 18.1.2011, 01:54) *
за исключением даты

У вас переменная
тут
(LifeUP @ 18.1.2011, 01:26) *
$date*** = isset ($_POST['razdel'])* ? trim ($_POST['date'])*** : '';

date
а в запросе data

надо так
[PHP]if (mysql_query ("INSERT INTO `basa` (`razdel`,`data`,`text`,`kontakt`) VALUES ('".$razdel . "','".$date."','".$text ."','".$kontakt."')"))[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Semenovich
Semenovich
Topic Starter сообщение 18.1.2011, 1:42; Ответить: Semenovich
Сообщение #8


(alexdrob @ 18.1.2011, 03:23) *
У вас переменная
тут

date
а в запросе data

надо так
[PHP]if (mysql_query ("INSERT INTO `basa` (`razdel`,`data`,`text`,`kontakt`) VALUES ('".$razdel . "','".$date."','".$text ."','".$kontakt."')"))[/PHP]

это я исправил. Дату не хочет в таблице прописывать.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 18.1.2011, 1:53; Ответить: alexdrob
Сообщение #9


Покажите полный код и тип поля какой?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 18.1.2011, 3:13; Ответить: alexdrob
Сообщение #10


(Semenovich @ 18.1.2011, 03:21) *
Поменял и все равно не прописывает дату. В базе почему -то стоит так: 0000-00-00 а у меня данные выставляются так 12-12-2011

Сразу не заметил, ну в этом и проблема )
Вам нужно данные вводить ГГГГ-ММ-ДД а вы вводите наоборот.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужен кодер, чтобы пофиксить ошибку Wordpress после переноса сайта
0 Alex-777 865 7.4.2024, 18:05
автор: Alex-777
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 2305 23.3.2024, 7:41
автор: Room
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 725 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Помогите рещить проблему с монитором.
Почему низкое разрешение при подключении монитора через displayport?
0 Levels 1702 11.12.2020, 0:48
автор: Levels
Открытая тема (нет новых ответов) Помогите кто нибудь получить партнерку Росбанк!
7 heisenberg_mw 2340 7.8.2020, 9:28
автор: heisenberg_mw


 



RSS Текстовая версия Сейчас: 20.4.2024, 4:31
Дизайн