Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: PHP и MySql. простенький скрипт. Помогите исправить ошибки.
Покинул форум
Сообщений всего: 9
Дата рег-ции: Февр. 2007 Откуда: Москва
Помог: 0 раз(а)
Задача:
Есть созданная база с темами рефератов. Студен может подписаться под темой, написав свою фамилию, но при этом надо чтоб повторная запись фамилии был запрещен.
Что уже есть:
выводятся данные Фамилия | ID | Название темы
но почему при заполнении формы данные в поле name не заносятся. Помогите решить проблему.
Заранее благодарен.
Делаю следующее:
#
# Структура таблицы `referat`
#
CREATE TABLE `referat` (
`id` int(2) NOT NULL auto_increment,
`title` varchar(255) default NULL,
`name` varchar(50) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=41 ;
INSERT INTO `referat` VALUES (1, 'Общественное питание и его место на потребительском рынке', '');
INSERT INTO `referat` VALUES (2, 'Проблемы и тенденции развития общественного питания', '');
$sql="INSERT INTO ref (id, title, name) VALUES ('$e', '','$a')";
$result=mysql_query($sql);
echo "Спасибо! Информация изменена. <a href="show.php">Назад</a>n";
echo $_FILES['userfile']['error'];
?>
-SCHATTEN-
Отправлено: 28 Февраля, 2007 - 08:33:50
Пользователь
Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006 Откуда: Оттуда !
Помог: 0 раз(а)
Ну вопервых у тебя в скриптах очень много мелких ошибок, из-за которых они собственно и неработают.
Во вторых, надо было скинуть фаил 1.php, но из всего что ты скинул я заменил его файлом form.php .
Вот твои скрипты с истправлениями.
Извеняй что стер все коментарии но мне так надо было, напиши их ещё раз =)
Ну вот собственно и все, обращайся если что непоймешь.
nurv_ad
Отправлено: 28 Февраля, 2007 - 13:00:20
Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Февр. 2007 Откуда: Москва
Помог: 0 раз(а)
все получилось. все записывается в базу, а еще один вопрос можно, как запретить повтроную запись в это же поле, тоесть студент занес свою фамилию и больше ни кто другой не сможет записаться под этой темой.
Спасибо большое, за 3 дня только на этом форуме получил адекватный ответ.
-SCHATTEN-
Отправлено: 28 Февраля, 2007 - 14:17:17
Пользователь
Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006 Откуда: Оттуда !
Помог: 0 раз(а)
Замени скрипт form.php вот этим, а название оставь form.php
exit ("<br><B><span style='color: red';>Извините но фамилия уже существует</span></B> <a href='123.php'>Вернуться</a>");
}
}
-SCHATTEN-
Отправлено: 01 Марта, 2007 - 18:13:01
Пользователь
Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006 Откуда: Оттуда !
Помог: 0 раз(а)
Напиши ошибку которую выдаёт этот скрипт ...
nurv_ad
Отправлено: 01 Марта, 2007 - 18:27:34
Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Февр. 2007 Откуда: Москва
Помог: 0 раз(а)
он не выдает ошибки он просто пишет что фамилия уже добавлена
А хочется чтоб он перед этим посмотрел есть и запись в поле если нет то вывести форму если есть вывести ошибку
-SCHATTEN-
Отправлено: 01 Марта, 2007 - 19:11:12
Пользователь
Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006 Откуда: Оттуда !
Помог: 0 раз(а)
Так он так и сделан, что если из формы ему передают
if($_GET['action'] == "add"){
тока тогда он проверяет есть ли имя... и выводит форму, которая ему и должна передать этот параметр
nurv_ad
Отправлено: 01 Марта, 2007 - 19:36:07
Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Февр. 2007 Откуда: Москва
Помог: 0 раз(а)
почему тогда он выводит сообщение что в поле есть запись хотя в базе она пустая...
Я просто нажимаю на фамилию и он мне вместо формы выдает что запись уже есть http://nurv-ad[dot]net[dot]ru/plexa/referat/123.php
-SCHATTEN-
Отправлено: 01 Марта, 2007 - 19:43:43
Пользователь
Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006 Откуда: Оттуда !
Помог: 0 раз(а)
Потому что , если в скрипт не передается параметр ADD из формы, он даже нестанет проверять !!!
<B><span style='color: red';>Извините но фамилия уже существует</span></B> <a href='123.php'>Вернуться</a>");
}
}
nurv_ad
Отправлено: 01 Марта, 2007 - 20:15:17
Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Февр. 2007 Откуда: Москва
Помог: 0 раз(а)
А как тогда правильно. Можешь показать на моем примере.
-SCHATTEN-
Отправлено: 01 Марта, 2007 - 20:47:51
Пользователь
Покинул форум
Сообщений всего: 615
Дата рег-ции: Июль 2006 Откуда: Оттуда !
Помог: 0 раз(а)
Прошу прощения, кажется я немного ошибся =) глюк ... и такое бывает после 12 часов за компом..
И если честно я мало понял что ты сделал , у тебя же были полностью рабочие скрипты.
И меня смущают вот эти строки...
$name = mysql_escape_string($_POST['name']);
$sql = "select count(*) as c from referat where name='$name'";
Откуда ты взял $_POST['name'] ? Его там просто нет... оно должно передаваться из формы...
Зачем это тебе , просто ищи в БД имя по заданному ID. который у тебя вместе с add передается... зачем усложнять себе жизнь.
при нажатии на фамилию сразу пишет
Извините но фамилия уже существует Вернуться\n\n(Добавление)
может я уже что то не догоняю, все таки 3 день делаю его хотя запросы то легкие.
}
else
{
//Ошибка, уже есть.
exit ("
<B><span style='color: red';>Извините но фамилия уже существует</span></B> <a href='123.php'>Вернуться</a>");
}
}
?>
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.