Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка 
V
    Опции темы
lari1991
Дата 22.11.2009, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 21.11.2009

Репутация: нет
Всего: нет



Скажите пожалуйста почему у меня в базу текст заносит, а на самой странице пишится ошибка:
Notice: Undefined variable: imia in /home/wmggfg/domains/prodrive2009.ru/public_html/komment.php on line 16
Notice: Undefined variable: soob in /home/wmggfg/domains/prodrive2009.ru/public_html/komment.php on line 16
Сохранено.

Вот скрипт:
<form method="post" action="komment.php">
Ваше имя:<input type="text" name="imia" ><br>
Ваш комментарий:
<textarea type="text" cols=40 rows=8 name="soob">
</textarea>
<input type="submit" value="Готово"></form></center>
<?php 
$db = mysql_connect("localhost", "wmggfg_666","666");
mysql_select_db("wmggfg_666");
$sql = "INSERT INTO komm (imia,soob) VALUES
('$imia','$soob')";
$result = mysql_query($sql);
{
echo "Сохранено.";
}
?>

Что мне нужно поправить??

Это сообщение отредактировал(а) lari1991 - 22.11.2009, 23:31
PM MAIL   Вверх
bars80080
Дата 22.11.2009, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Цитата(lari1991 @  22.11.2009,  22:08 Найти цитируемый пост)
Undefined variable: imia

неизвестная переменная imia. вы её нигде не объявили

надо так:

Код

$imia = (isset($_POST['imia']) ? $_POST['imia'] : '';

PM MAIL WWW   Вверх
lari1991
Дата 22.11.2009, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 21.11.2009

Репутация: нет
Всего: нет



Цитата(bars80080 @ 22.11.2009,  23:32)
Цитата(lari1991 @  22.11.2009,  22:08 Найти цитируемый пост)
Undefined variable: imia

неизвестная переменная imia. вы её нигде не объявили

надо так:

Код

$imia = (isset($_POST['imia']) ? $_POST['imia'] : '';

т.е мне вот так надо:

<?php
$imia = (isset($_POST['imia']) ? $_POST['imia'] : '';
$soob = (isset($_POST["soob"]) ? $_POST["soob"] : ";
$db = mysql_connect("localhost", "wmggfg_666","666");
mysql_select_db("wmggfg_666");
$sql = "INSERT INTO komm (imia,soob)
 VALUES ('$imia','$soob')";
$result = mysql_query($sql);
{
echo "Сохранено.";
}
?>

Это сообщение отредактировал(а) lari1991 - 22.11.2009, 23:39
PM MAIL   Вверх
Pitlord
Дата 22.11.2009, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 31.10.2009

Репутация: нет
Всего: 7



Нет, по-хорошему не так.

http://phpfaq.ru/slashes

Добавлено через 38 секунд
На этом форуме ещё принято код брать в специальный тег [code]
PM MAIL   Вверх
Ипатьев
Дата 23.11.2009, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



lari1991, ваш код исполняется при каждом обращении к странице
А надо сделать проверку, чтобы он исполнялся только если форма была отправлена
PM MAIL   Вверх
lari1991
Дата 23.11.2009, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 21.11.2009

Репутация: нет
Всего: нет



Цитата(Pitlord @ 22.11.2009,  23:48)
Нет, по-хорошему не так.

http://phpfaq.ru/slashes

Добавлено @ 23:48
На этом форуме ещё принято код брать в специальный тег [code]

Так в чём здесь то ошибка?

Добавлено через 4 минуты и 31 секунду
Цитата(Ипатьев @ 23.11.2009,  00:00)
lari1991, ваш код исполняется при каждом обращении к странице
А надо сделать проверку, чтобы он исполнялся только если форма была отправлена

Может вот так?
<?php
if ($submit) {
$imia = (isset($_POST['imia']) ? $_POST['imia'] : '';
$soob = (isset($_POST["soob"]) ? $_POST["soob"] : '';
$db = mysql_connect("localhost", "wmggfg_666","666");
mysql_select_db("wmggfg_666");
$sql = "INSERT INTO komm (imia,soob)
 VALUES ('$imia','$soob')";
$result = mysql_query($sql); 
}
{
echo "Сохранено.";
}
?>

PM MAIL   Вверх
Pitlord
Дата 23.11.2009, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 31.10.2009

Репутация: нет
Всего: 7



Цитата(lari1991 @  23.11.2009,  00:04 Найти цитируемый пост)
Так в чём здесь то ошибка?

Прочитай статью — поймёшь.

Цитата(lari1991 @  23.11.2009,  00:04 Найти цитируемый пост)
if ($submit) 

А откуда $submit взялась?
PM MAIL   Вверх
Ипатьев
Дата 23.11.2009, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



lari1991, примерно.
Но как правильно указывает Pitlord, к submit надо обращаться точно так же, как и к soob
и непонятно, что означает кучерявая надпись
Код

{
echo "Сохранено.";
}


В целом, должно быть так
Код

<?php
$db = mysql_connect("localhost", "wmggfg_666","666");
mysql_select_db("wmggfg_666");

if (isset($_POST['submit'])) {
  $imia = mysql_real_escape_string($_POST['imia']);
  $soob = mysql_real_escape_string($_POST["soob"]);
  $sql = "INSERT INTO komm (imia,soob)  VALUES ('$imia','$soob')";
  mysql_query($sql); 
  header("Location: ".$_SERVER['PHP_SELF']);
}
?>
<form method="post" action="komment.php">
Ваше имя:<input type="text" name="imia" ><br>
Ваш комментарий:
<textarea type="text" cols=40 rows=8 name="soob">
</textarea>
<input type="submit" name="submit" value="Готово"></form></center>



Это сообщение отредактировал(а) Ипатьев - 23.11.2009, 00:25
PM MAIL   Вверх
Pitlord
Дата 23.11.2009, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 31.10.2009

Репутация: нет
Всего: 7



Ещё стоит учеть magic_quotes_gpc. Ну и, если начать придираться, Location должен принимать absolute URI.

Добавлено через 1 минуту и 5 секунд
http://www.w3.org/Protocols/rfc2616/rfc261...4.html#sec14.30
PM MAIL   Вверх
Ипатьев
Дата 23.11.2009, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Да, точно. В форме вообще не было поля submit


Pitlord, если придираться, то волшебные как раз фиг бы с ними. А вот проверку заполнения полей надо бы сделать smile
PM MAIL   Вверх
Pitlord
Дата 23.11.2009, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 31.10.2009

Репутация: нет
Всего: 7



Цитата(Ипатьев @  23.11.2009,  00:27 Найти цитируемый пост)
если придираться, то волшебные как раз фиг бы с ними

Пока мы не на PHP 6.0, так что игнорировать это нельзя.
PM MAIL   Вверх
lari1991
Дата 23.11.2009, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 21.11.2009

Репутация: нет
Всего: нет



Цитата(Ипатьев @ 23.11.2009,  00:19)
lari1991, примерно.
Но как правильно указывает Pitlord, к submit надо обращаться точно так же, как и к soob
и непонятно, что означает кучерявая надпись
Код

{
echo "Сохранено.";
}


В целом, должно быть так
Код

<?php
$db = mysql_connect("localhost", "wmggfg_666","666");
mysql_select_db("wmggfg_666");

if (isset($_POST['submit'])) {
  $imia = mysql_real_escape_string($_POST['imia']);
  $soob = mysql_real_escape_string($_POST["soob"]);
  $sql = "INSERT INTO komm (imia,soob)  VALUES ('$imia','$soob')";
  mysql_query($sql); 
  header("Location: ".$_SERVER['PHP_SELF']);
}
?>
<form method="post" action="komment.php">
Ваше имя:<input type="text" name="imia" ><br>
Ваш комментарий:
<textarea type="text" cols=40 rows=8 name="soob">
</textarea>
<input type="submit" name="submit" value="Готово"></form></center>

Вставил этот скрипт ошибок нет а в базу ничего не заносится!!
PM MAIL   Вверх
Ипатьев
Дата 23.11.2009, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Да почему ж нельзя-то? 
Что такого прям ужасного? Ну полезут слеши из ушей, ну или так оставить (мильён сайтов живет с ними, и ничего), или в хтаксессе отрубить. 
Тоже мне, проблема. На фоне остального.

Добавлено через 3 минуты и 5 секунд
lari1991, а база-то есть?

еще раз вставьте. там поля submit не было, я потом дописал.
PM MAIL   Вверх
lari1991
Дата 23.11.2009, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 21.11.2009

Репутация: нет
Всего: нет



Цитата(Ипатьев @ 23.11.2009,  00:44)
Да почему ж нельзя-то? 
Что такого прям ужасного? Ну полезут слеши из ушей, ну или так оставить (мильён сайтов живет с ними, и ничего), или в хтаксессе отрубить. 
Тоже мне, проблема. На фоне остального.

Добавлено @ 00:47
lari1991, а база-то есть?

еще раз вставьте. там поля submit не было, я потом дописал.

Блин и всёравно в базу не заносится!
А в базе у меня:
imia    varchar(15)    cp1251_general_ci        Нет                                     
soob    varchar(200)    cp1251_general_ci        Нет

Это сообщение отредактировал(а) lari1991 - 23.11.2009, 00:59
PM MAIL   Вверх
lari1991
Дата 23.11.2009, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 21.11.2009

Репутация: нет
Всего: нет



Цитата(lari1991 @ 23.11.2009,  00:57)
Цитата(Ипатьев @ 23.11.2009,  00:44)
Да почему ж нельзя-то? 
Что такого прям ужасного? Ну полезут слеши из ушей, ну или так оставить (мильён сайтов живет с ними, и ничего), или в хтаксессе отрубить. 
Тоже мне, проблема. На фоне остального.

Добавлено @ 00:47
lari1991, а база-то есть?

еще раз вставьте. там поля submit не было, я потом дописал.

Блин и всёравно в базу не заносится!
А в базе у меня:
imia    varchar(15)    cp1251_general_ci        Нет                                     
soob    varchar(200)    cp1251_general_ci        Нет

А всё спасибо всем кто помог!!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1066 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.