Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с $_POST
 
 автор: Veli   (27.07.2006 в 18:53)   письмо автору
 
 

Собственно, что надо: на первой страничке вводятся данные в форму и передаются следующей, в которой затем формируется запрос и в БД добавляется запись.

Код 1-ой страницы:
<?
require_once("../config.php");
$action = "addnews.php";
$button = "Добавить";
$title = "Добавление новостей";
?>
<title><?= $title ?></title>
<br><a href = "javascript: history.back()">Назад</a>
<p align="center"><form action="<?php echo $action; ?>" method="post">
Название: <input type="text" name="$name" value=''><br>
Описание: <textarea name="description" cols="40" rows="5" value=""></textarea><br>
<input class="button" type="submit" value="<?= $button ?>"></p>
</form>

Код 2-ой страницы:
<?php
require_once("../config.php");
$name = str_replace("'","'",$_POST['name']); <--- 3 строка
$description = str_replace("'","'",$_POST['description']);
$query = "INSERT INTO tablica1 VALUES (
NULL,
'$name',
'$description')";
if (mysql_query($query))
{
$id = mysql_insert_id();
}
echo "<html><head><meta http-equiv='refresh' content='0; URL=addnewsform.php'></head></html>";
?>

Проблема возникает на 3 строке 2-ой страницы: $name = str_replace("'","'",$_POST['name']);
и для 4 строки та же ошибка.
Ошибка следующая
Undefined index: name in z:\home\localhost\www\news\addnews.php on line 3
Undefined index: description in z:\home\localhost\www\news\addnews.php on line 4
Подскажите, почему он твердит, что "неопределенный индекс"?
Заранее благодарен всем, кто проявил интерес к моему сообщению.

   
 
 автор: cheops   (27.07.2006 в 22:28)   письмо автору
 
   для: Veli   (27.07.2006 в 18:53)
 

Notice является своеобразным советом и выводится, когда выставлена максимальная чувствительность PHP к ошибкам - её следует понизить, как это сделано на всех хостингах, иначе они не дадут работать. Для этого, следует выставить соответствующее значение для директивы error_reporting http://www.softtime.ru/info/articlephp.php?id_article=23, в конфигурационном файле php.ini
error_reporting = E_ALL & ~E_NOTICE

Так же можно изменить уровень обработки ошибок локально, для этого в начало скрипта следует поместить функцию
<?php 
Error_Reporting
(E_ALL & ~E_NOTICE); 
?>

В качестве параметра, которой передать соответствующий уровень обработки ошибок.

   
 
 автор: ec_stasis   (28.07.2006 в 01:18)   письмо автору
 
   для: Veli   (27.07.2006 в 18:53)
 

Твердит - потому что нет такого индекса, т.е. ПОСТ-данные не передаются...
возможно, потому что некорректен документ.
Документ должен начинаться с объявления типа документа (желательно, но и без этого будет работать).
Далее:

<html>
<head>
  <title>...</title>
  ...
</head>
<body>
 тут, собственно, форма
</body>
</html>

Кстати,

если
... name="$name"...
то и в скрипте надо проверять:
<?
$_POST
['$name']
?>

   
 
 автор: Veli   (28.07.2006 в 13:34)   письмо автору
 
   для: ec_stasis   (28.07.2006 в 01:18)
 

Спасибо, частично вопрос решен! Теперь только с запросом разобраться :-)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования