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



 

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

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

Открыть тему
Тема закрыта
> Уважаемые! нужна ваша помощь новичку.
ghostik32
ghostik32
Topic Starter сообщение 23.9.2009, 2:37; Ответить: ghostik32
Сообщение #1


Только начинаю изучать php и решил написать скрипт на добавление данных из формы в файл.

Столкнулся с парой вопросов:
1. Как зделать каждой записи в файл свой уникальный номер (он же $id у меня)
2. Каким методом лучше всего вытаскивать данные из файла для дальнейшей работы с ними. (есле можно пример)
3. Прошу дать оценку скрипту, что бы вы подправили или изменили, для меня это очень важно.

файл с формой
<form action='save.php' method='post'>
Имя организации<br>
<input name='nameOrgF' type='text' size='50' maxlength='50'>
<br>
Контактное лицо<br>
<input name='contFaceF' type='text' size='50' maxlength='50'>
<br>
Ваш e-mail<br>
<input name='emailF' type='text' size='50' maxlength='50'>
<br>
Ваша заявка<br>
<textarea name='textF' cols='37' rows='8'></textarea>
<br><br>
<input name='submit' type='submit' value='Отправить'>
</form>


обработчик
[php]
$nameOrgF = substr($_POST['nameOrgF'], 0, 50);
$nameOrgF = htmlspecialchars(stripslashes($nameOrgF));

$contFaceF = substr($_POST['contFaceF'], 0, 50);
$contFaceF = htmlspecialchars(stripslashes($contFaceF));

$emailF = substr($_POST['emailF'], 0, 50);
$emailF = htmlspecialchars(stripslashes($emailF));

$textF = substr($_POST['textF'], 0);
$textF = htmlspecialchars(stripslashes($textF));

$submit = substr($_POST['submit'], 0, 50);

if ($submit)
{
// Обрубаем лишнии пробелы по краям
$nameOrgF = trim($nameOrgF);
$contFaceF = trim($contFaceF);
$emailF = trim($emailF);
$textF = trim($textF);

if (!$nameOrgF && !$contFaceF && !$emailF && !$textF)
{
exit ("<span class='errorForm'>Заполните все поля</span>");
}
else
{
if (!$nameOrgF)
{
echo "<span class='errorForm'>Не указано название организации</span><br>";
$a = 1;
}

if (!$contFaceF)
{
echo "<span class='errorForm'>Не указано контактное лицо</span><br>";
$a = 2;
}

if (!$emailF)
{
echo "<span class='errorForm'>Не указан ваш e-mail</span><br>";
$a = 3;
}
else
{
// Проверяем email на правельность ввода
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $emailF))
{
echo "e-mail указан не верно";
$a = 4;
}
}

if (!$textF)
{
echo "<span class='errorForm'>Поле для вашей заявки пустое</span><br>";
$a = 5;
}

// Есле $a не существует то продолжаем скрипт
if (!$a)
{
// Проверяем существует ли файл
if (!file_exists("feedback.txt"))
{
exit ("<span class='errorForm'>Не удалось открыть файл, возможно его нет</span>");
}
else
{
// Открываем файл
$fOpen = fopen("feedback.txt", a);
// Вставляем дату
$date = date('d.m.Y');
// Создаём $id


// Создаём наш шаблон текста
$text = "
id $id
Дата: $date
Имя организации: $nameOrgF
Контактное лицо: $contFaceF
e-mail: $emailF
Заявка: $textF
-------------------------------------";
fwrite($fOpen, $text);
// закрываем файл
fclose($fOpen);
echo "Файл записан";
}

}
else
{
exit();
}
}
}
[/php]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
сообщение 23.9.2009, 8:15; Ответить: MetSerp
Сообщение #2


а нужно именно в файл?:hmhm:
По мне лучше использовать БД. И работать удобнее и вообще работает быстрее^_^

По скрипту непонятна вот эта строка
[PHP]$submit = substr($_POST['submit'], 0, 50); [/PHP]
Зачем вы проверяете на длинну значение кнопки? :nea:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Witu
Witu
сообщение 23.9.2009, 8:42; Ответить: Witu
Сообщение #3


нафига вообще проверять нажатие на кнопку?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ghostik32
ghostik32
Topic Starter сообщение 23.9.2009, 12:26; Ответить: ghostik32
Сообщение #4


вы правы и правда не зачем, проглядел просто. Так как на хостинге нету БД приходится обходиться использовать просто фаил. Да и заявки будут писать может пару раз в месяц.
Можете что-то посоветовать по вводу уникального номера в каждое сохранение файла?(привет, первая запись будет с id1 вторая с id2 третья с id3 и т.д)
И как лучше всего потом вытащить данные из файла?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
сообщение 23.9.2009, 13:44; Ответить: Licoric
Сообщение #5


Может проще создавать для каждой записи отдельный файл?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
сообщение 23.9.2009, 14:09; Ответить: MetSerp
Сообщение #6


в качестве имени файла используйте дату и время, вероятность повторения пренебрижительно мала

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужна ли плоская структура категорий в ИМ?
1 noviktamw 1064 26.3.2024, 21:50
автор: c4p1t4l15t
Открытая тема (нет новых ответов) Требуется помощь по сайту на "ВордПресс"
Закрылся доступ в панель администратора
12 Tia2 1533 25.3.2024, 6:54
автор: Skyworker
Открытая тема (нет новых ответов) требуется помощь с themasoftware (Темапостером)
0 Taylor 567 16.3.2024, 18:41
автор: Taylor
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыСостояние после ампутации - нужна помощь
благотворительный топик
46 vitvirtual 5560 12.3.2024, 21:52
автор: Гиппопотам
Открытая тема (нет новых ответов) Нужна рассылка по емаил базе сео-студий
0 kasey7 622 2.3.2024, 23:13
автор: kasey7


 



RSS Текстовая версия Сейчас: 29.3.2024, 9:00
Дизайн