Помогите с маленьким скриптом
1.
Gorec (22.11.2011 / 15:18)
В Файле indwx.php находится форма для ввода данных, обработчик test.php.
Обработчик собирает переменные и записывает в файл test.txt
Добавлено через 00:29 сек.
indwx.php
<?php
$kz='<font color="#FF0000">*</font>';
?>
<form method="post" action="test.php">
<input type="text" size="10" maxlength="15" name="name"><?=$kz?> Имя <br>
<br>
<input type="text" size="10" name="number" value=""> Номер тел. <br>
<h6>Оставьте пустым, если не хотите писать свой номер.</h6>
<?=$kz ?>Комментарий: <br>
<textarea rows="3" cols="40" maxlength="10" name="comments" value="Bвeдитe тeкcт">
</textarea> <br>
Ищу: <br>
<input type="checkbox" name="men" value="Парня"> Парня <br>
<input type="checkbox" name="women" value="Девушку"> Девушку <br>
<br>
<?=$kz ?> Пол
<br>
<select name="pol">
<option valuе="Myжчинa">Myжчинa
<option value="Жeнщинa">Жeнщинa
</select>
<br>
<br>
<input type="submit" value="Coxpaнить">
</form>
2.
Gorec (22.11.2011 / 15:20)
test.php
<?php
$filename = 'test.txt';
$somecontent = $_POST['name']."\n".$_POST['number']."\n".$_POST['comments']."\n".$_POST['men']."\n".$_POST['women']."\n".$_POST['pol'];
// Bнaчaлe дaвaйтe yбeдимcя, чтo фaйл cyщecтвyeт и дocтyпeн для зaпиcи.
if (is_writable($filename)) {
// B нaшeм пpимepe мы oткpывaeм $filename в peжимe "дoпиcaть в кoнeц".
// Taким oбpaзoм, cмeщeниe ycтaнoвлeнo в кoнeц фaйлa и
// нaш $somecontent дoпишeтcя в кoнeц пpи иcпoльзoвaнии fwrite().
if (!$handle = fopen($filename, 'a')) {
echo "He мoгy oткpыть фaйл ($filename)";
exit;
}
// Зaпиcывaeм $somecontent в нaш oткpытый фaйл.
if (fwrite($handle, $somecontent) === FALSE) {
echo "He мoгy пpoизвecти зaпиcь в фaйл ($filename)";
exit;
}
echo "Cпacибo $_POST[name] зa Baш oтзыв.<br><br>";
fclose($handle);
} else {
echo "Фaйл $filename нeдocтyпeн для зaпиcи";
}
?>
Вы ввели:
<?php
include "test.txt";
?>
Добавлено через 01:26 сек.
Вопрос:
КАК Сделать так, чтобы переменные записались в файле test.txt в том месте, где мне нужно?
Например вот так:
<?php
$name = $_POST['name']
$number = $_POST['number']
$comments = $_POST['comments']
$men = $_POST['men']
$women = $_POST['women']
$pol = $_POST['pol']
?>
/* Ну и вывести их примерно так */
<?=$name?>
<?=$number?>
<?=$comments?>
<?=$men?>
<?=$women?>
<?=$pol?>
Добавлено через 08:10 сек.
нуууууу
3.
Владислав (22.11.2011 / 15:44)
Не совсем понял что тебе нужно.
<?
fwrite($handle,"<?
\$name = '{$_POST['name']}';
\$number = '{$_POST['number']}';
\$comments = '{$_POST['comments']}';
\$men = '{$_POST['men']}';
\$women = '{$_POST['women']}';
\$pol = '{$_POST['pol']}';
?>");
это? фильтровать не забывай....
4.
★☆ ИгRok™ ☆★ (22.11.2011 / 15:45)
а не проще ли на базе сделать? Если хочешь,напишу на базе,маленький пример. А нет,тогда не знаю. В файлах уже забыл все.
5.
Николай (22.11.2011 / 15:50)
2.
BOBO-95, <
<?
//собераем все данные
$name = htmlspecialchars($_POST['name']);
$number = htmlspecialchars($_POST['number']);
$comments = htmlspecialchars($_POST['comments']);
$pol = htmlspecialchars($_POST['pol']);
//выводим их
echo'
Имя '.$name.'
Номер тела '.$number.'
Комент '.$comments.'
Ищю: '.$pol.'
';
?>
6.
Wapuns (22.11.2011 / 15:56)
1.
BOBO-95, надо тебе на базы переходить! На файлох давно устарело, я вообще не знаю как работать таким образом)) Я сразу научился работать с MySQl например) И тебе советую...
7.
Gorec (22.11.2011 / 15:56)
ответы
На БД БЫЛО БЫ КУЛЬНО. щас домой зайду быстренько, и посмотрю.
8.
Николай (22.11.2011 / 15:57)
6.
RedFox, а я тоже теперь пытаюсь на базу перейти)
9.
Gorec (22.11.2011 / 16:02)
3.
mrUp,
А Куда именновставить то?
10.
юЮЮфюв (22.11.2011 / 16:02)
Тоже сразу с базы начал)
11.
Gorec (22.11.2011 / 16:05)
4.
Vep_Murifri,
Если тебя не затруднит
12.
Николай (22.11.2011 / 16:05)
5.
Конь в пальто,
я чуточку форму не разглядел вот переделал)
<?
//собераем все данные
$name = htmlspecialchars($_POST['name']);
$number = htmlspecialchars($_POST['number']);
$comments = htmlspecialchars($_POST['comments']);
$pol = htmlspecialchars($_POST['pol']);
$men = htmlspecialchars($_POST['men']);
$women = htmlspecialchars($_POST['women']);
//выводим их
echo'
Имя '.$name.' <br>
Номер тела '.$number.'<br>
Комент '.$comments.'<br>
Я: '.$pol.'<br>
Ищю';
if($status == "$men") { echo 'Парня'; } else { echo'Девушку'; }
?>
думаю так будет по лучше))
13.
Gorec (22.11.2011 / 16:07)
Конь в пальто (22 Ноября 2011 / 16:05)
5. Конь в пальто,
я чуточку форму не разглядел вот переделал)
<?
//собераем все данные
$name = htmlspecialchars($_POST['name']);
$number = htmlspecialchars($_POST['number']);
$comments = htmlspecialchars($_POST['comments']);
$pol = htmlspecialchars($_POST['pol']);
$men = htmlspecialchars($_POST['men']);
$women = htmlspecialchars($_POST['women']);
//выводим их
echo'
Имя '.$name.' <br>
Номер тела '.$number.'<br>
Комент '.$comments.'<br>
Я: '.$pol.'<br>
Ищю';
if($status == "$men") { echo 'Парня'; } else { echo'Девушку'; }
?>
думаю так будет по лучше))
Я так понял, это нужно вставить в test.php?
14.
Игорь (22.11.2011 / 16:08)
Эммм... Почитай еще раз насчет функций fopen....
<?php
if (is_writable('./путь_до файла/бла_бла_бла/'.$filename)) {
. . .
if (!$handle = fopen('./путь_до файла/бла_бла_бла/'.$filename, 'a')) {
15.
Wapuns (22.11.2011 / 16:09)
Конь в пальто (22 Ноября 2011 / 15:57)
6. RedFox, а я тоже теперь пытаюсь на базу перейти)
На базе легко! Запросы легкие, ты поковыряй скрипты простейшие) Я довольно хорошо научился работать с базами!
16.
Николай (22.11.2011 / 16:09)
13.
BOBO-95, да
Добавлено через 02:12 сек.
RedFox (22 Ноября 2011 / 16:09)
На базе легко! Запросы легкие, ты поковыряй скрипты простейшие) Я довольно хорошо научился работать с базами!
ну конечно, я только запросы не знал... и не знаю практически)))) а сам уже написал модуль новостей полностью на мускуле вот теперь пытаюсь приделать коментарии))
17.
Gorec (22.11.2011 / 16:13)
rezent (22 Ноября 2011 / 16:08)
Эммм... Почитай еще раз насчет функций fopen....
<?php
if (is_writable('./путь_до файла/бла_бла_бла/'.$filename)) {
. . .
if (!$handle = fopen('./путь_до файла/бла_бла_бла/'.$filename, 'a')) {
С путями проблем как бы и нету, но все равно спасиби за совет
кстате, оч полезный совет для дальнейшего, потом же пути по любому изменю
18.
Wapuns (22.11.2011 / 16:15)
ну конечно, я только запросы не знал... и не знаю практически)))) а сам уже написал модуль новостей полностью на мускуле вот теперь пытаюсь приделать коментарии))
Вооо...я тож пытаюсь комментарии приделать, думал как, но пока еще не пробовал)
19.
Игорь (22.11.2011 / 16:16)
17: BOBO-95, А, извиняюсь, не совсем понял вопроса.
20.
Николай (22.11.2011 / 16:17)
13.
BOBO-95, через минутку я дам тебе полный скрипт)
21.
Игорь (22.11.2011 / 16:18)
Суть вопроса? Ты не можешь вывести? Аль что?
22.
Gorec (22.11.2011 / 16:20)
Конь в пальто (22 Ноября 2011 / 16:17)
13. BOBO-95, через минутку я дам тебе полный скрипт)
Ты Арабский Жеребец а не конь
Добавлено через 04:23 сек.
21.
rezent, Я хочу, чтобы test.php записал переменные в test.txt в указанные места, например
Сюда
<?php
$name = $_POST['name']
$number = $_POST['number']
$comments = $_POST['comments']
$men = $_POST['men']
$women = $_POST['women']
$pol = $_POST['pol']
?>
test.txt в данном случае своего рода файл анкеты
Добавлено через 07:36 сек.
Если на MySQL ваше круто было бы. Я почти понял суть, умею выводить данные из таблицы, только вот редактировать их с помощью php не знаю как
23.
Николай (22.11.2011 / 16:33)
22.
BOBO-95,
<?
$mode = htmlspecialchars($_GET['mode']);
switch ($mode):
case 'index':
$kz='<font color="#FF0000">*</font>';
// поля данных
echo '<form action="?mode=add" method="post">';
echo'
'.$kz.' Имя <br>
<input type="text" size="10" maxlength="15" name="name"><br />
Номер тел. <br>
<input type="text" size="10" name="number" value=""> <br />
'.$kz.' Комментарий: <br>
<textarea rows="3" cols="40" maxlength="10" name="comments" value="">
</textarea> <br>
'.$kz.' Вы <br>
<select name="pol">
<option valuе="Myжчинa">Myжчинa </option>
<option value="Жeнщинa">Жeнщинa </option>
</select><br />
'.$kz.' Ищите <br>
<select name="kto">
<option valuе="Парня">Парня</option>
<option value="Девушку">Девушку</option>
</select><br />';
echo '<input type="submit" name="submit" value="Сохранить" /></form>';
break;
case 'add':
// изменение
$name = htmlspecialchars($_POST['name']);
$number = htmlspecialchars($_POST['number']);
$comments = htmlspecialchars($_POST['comments']);
$pol = htmlspecialchars($_POST['pol']);
$kto = htmlspecialchars($_POST['kto']);
$text .= "Имя: $name<br />
Номер телефона: $number<br />
Пол: $pol<br />
Ищет: $kto<br />
Коментарии:<br />
$comments
<hr>
";
if (!empty($name) && !empty($number) && !empty($comments) && !empty($pol) && !empty($kto)) //если переменные имеют значения выполняем запись в файл
{
$file = fopen ("test.txt", "a+"); //открываем для перезаписи файл test.txt лежаший в одной папке с текущей страницей
fwrite ($file,$text); // пишем в файл
fclose ($file); // закрываем файл
}
//..........//
echo'
Все прошло успешно) <br />
Вы написали:<br />
Имя: '.$name.'<br />
Номер телефона: '.$number.'<br />
Пол: '.$pol.'<br />
Ищет: '.$kto.'<br />
Коментарии:<br />
'.$comments.'<br />
';
break;
default:
header ('location: ?mode=index');
endswitch;
?>
Вроде так писал на скорую руку. так что не знаю работает или нет... но должен!
24.
Gorec (22.11.2011 / 16:36)
12.
Конь в пальто,
Этот кусок
if($status == "$men") { echo 'Парня'; } else { echo'Девушку'; }
Разве не выводит только переменную "$men" т.е. 'Парня'?
понимаю, если бы это было взято из формы типа
<select name="men">
<option valuе="Парня">Парня
<option value="Девушку">Девушку
</select>
...а у меня там две переменные: $men и $women)))
Добавлено через 01:11 сек.
23.
Конь в пальто,
ОГО
Щас проверим
Добавлено через 05:32 сек.
23.
Конь в пальто,
Обработка в одном файле
все работает, и даже вставку <br /> после каждой строчки написал
Спасибо большое!
25.
Николай (22.11.2011 / 16:44)
24.
BOBO-95, в строку 7 можешь вклинить
echo''.$kz.'- Обязательно к заполнению<br />';
26.
Игорь (22.11.2011 / 16:46)
Что за велосипед? о_0 Если к примеру захотите сменить название полей и т.п.
<?php
# Записывать в таком виде.
$somecontent = $_POST['name'].':||:'.$_POST['number'].':||:'.$_POST['comments'].':||:'.$_POST['men'].':||:'.$_POST['women'].':||:'.$_POST['pol']; // :||: В данном случае разделитель данных, можно использовать любой другой.
.....
# Вывод
$dump = file('test.txt');
$dump = explode(':||:', $dump[0]);
$name = $dump[0];
$number = $dump[1];
$comments = $dump[2];
$men = $dump[3];
$women = $dump[4];
$pol = $dump[5];
echo ' ' . $name . ' ' . $number . ' ' . $comments . ' ' . $men . ' ' . $women . ' ' . $pol; // Заместо пробела можно прописать наименование ячейки данных.
Так более расширяемое = )
ЗЫ Переходи на БД
27.
Николай (22.11.2011 / 16:48)
26.
rezent, парень с ней не разу не работал а ты уже переходи)))))
28.
Игорь (22.11.2011 / 16:49)
27: Конь в пальто, Начинать все равно придется = )
29.
Gorec (22.11.2011 / 16:51)
25.
Конь в пальто,
Вклеил))) А как проверить, ввел ли человек данные или нет? Ну чтобы нельзя было записать пустую форму?
30.
Игорь (22.11.2011 / 16:52)
29: BOBO-95,
<?php if (!empty($name) && !empty($number) && !empty($comments) && !empty($pol) && !empty($kto)) //если переменные имеют значения выполняем запись в файл
31.
Николай (22.11.2011 / 16:55)
29.
BOBO-95, там уже все проверяется
32.
Gorec (22.11.2011 / 16:58)
rezent (22 Ноября 2011 / 16:52)
29: BOBO-95,<?php if (!empty($name) && !empty($number) && !empty($comments) && !empty($pol) && !empty($kto)) //если переменные имеют значения выполняем запись в файл
Заметил, но когда просто нажимаю сохранить, отвечает:
Все прошло успешно)
Вы написали:
Имя:
Номер телефона:
Пол: Myжчинa
Ищет: Парня
Коментарии:
А в фай не записывает. Наверно в таком случае нужен какойто else вывести, типа ошибка, введите данные...
Добавлено через 02:27 сек.
27.
Конь в пальто,
Почему же, работал)))
просто еще только-только начал ету работу)))
Хотите приведу маленьки пример?
впрочем это мой единственный
Добавлено через 06:06 сек.
31.
Конь в пальто,
Респект тебе за труд
33.
Николай (22.11.2011 / 17:06)
32.
BOBO-95, щас тебе сделаю если не ведено что то
34.
Gorec (22.11.2011 / 17:06)
26.
rezent,
А какая должна быть таблица?
35.
Gorec (22.11.2011 / 17:23)
36.
Николай (22.11.2011 / 17:29)
32.
BOBO-95,
замени
if (!empty($name) && !empty($number) && !empty($comments) && !empty($pol) && !empty($kto)) //если переменные имеют значения выполняем запись в файл
{
$file = fopen ("test.txt", "a+"); //открываем для перезаписи файл test.txt лежаший в одной папке с текущей страницей
fwrite ($file,$text); // пишем в файл
fclose ($file); // закрываем файл
}
//..........//
echo'
Все прошло успешно) <br />
Вы написали:<br />
Имя: '.$name.'<br />
Номер телефона: '.$number.'<br />
Пол: '.$pol.'<br />
Ищет: '.$kto.'<br />
Коментарии:<br />
'.$comments.'<br />
';
на
if (!empty($name) && !empty($number) && !empty($comments)) //если переменные имеют значения выполняем запись в файл
{
$file = fopen ("test.txt", "a+"); //открываем для перезаписи файл test.txt лежаший в одной папке с текущей страницей
fwrite ($file,$text); // пишем в файл
fclose ($file); // закрываем файл
} else {
echo'<font color=red>Не все поля заполнены!</font><input type="hidden" value="';
}
echo'
Все прошло успешно) <br />
Вы написали:<br />
Имя: '.$name.'<br />
Номер телефона: '.$number.'<br />
Пол: '.$pol.'<br />
Ищет: '.$kto.'<br />
Коментарии:<br />
'.$comments.'<br />" />';
больше другово способа я не нашел)
37.
Gorec (22.11.2011 / 17:33)
36.
Конь в пальто,
СУПЕР
38.
Николай (22.11.2011 / 17:37)
37.
BOBO-95, если же тебе надо что бы мобильный телефон могли и не писать(т.е. не обязательное поле) замени
if (!empty($name) && !empty($number) && !empty($comments)) //если переменные имеют значения выполняем запись в файл
на
if (!empty($name) && !empty($comments)) //если переменные имеют значения выполняем запись в файл
39.
Gorec (22.11.2011 / 17:38)
СПАСИБО ОГРОМНОЕ
Теперь по мучаюсь, чтобы понять, как редактировать зти данные из test.txt.
А тебя просить совесть не позволит
и так написал мне целый скрипт
40.
Игорь (22.11.2011 / 17:39)
Он все равно будет выводить пустые значения) Вывод значений вбей в условие:
<?php
if (!empty($name) && !empty($number) && !empty($comments)) //если переменные имеют значения выполняем запись в файл
{
$file = fopen ("test.txt", "a+"); //открываем для перезаписи файл test.txt лежаший в одной папке с текущей страницей
fwrite ($file,$text); // пишем в файл
fclose ($file); // закрываем файл
echo'
Все прошло успешно) <br />
Вы написали:<br />
Имя: '.$name.'<br />
Номер телефона: '.$number.'<br />
Пол: '.$pol.'<br />
Ищет: '.$kto.'<br />
Коментарии:<br />
'.$comments.'<br />" />';
} else {
echo'<font color=red>Не все поля заполнены!</font><input type="hidden" value="';
}
41.
Gorec (22.11.2011 / 17:40)
38.
Конь в пальто,
Спасибо
42.
Николай (22.11.2011 / 17:40)
rezent (22 Ноября 2011 / 17:39)
Он все равно будет выводить пустые значения) Вывод значений вбей в условие:
<?php
if (!empty($name) && !empty($number) && !empty($comments)) //если переменные имеют значения выполняем запись в файл
{
$file = fopen ("test.txt", "a+"); //открываем для перезаписи файл test.txt лежаший в одной папке с текущей страницей
fwrite ($file,$text); // пишем в файл
fclose ($file); // закрываем файл
echo'
Все прошло успешно) <br />
Вы написали:<br />
Имя: '.$name.'<br />
Номер телефона: '.$number.'<br />
Пол: '.$pol.'<br />
Ищет: '.$kto.'<br />
Коментарии:<br />
'.$comments.'<br />" />';
} else {
echo'<font color=red>Не все поля заполнены!</font><input type="hidden" value="';
}
выше читай я выложил как избавится от этой проблемы)))
43.
Игорь (22.11.2011 / 17:41)
39: BOBO-95, Вот один из примеров кривой структуры) Посмотри шаблон записи данных в 26 посту.
44.
Gorec (22.11.2011 / 17:43)
40.
rezent,
не, все работае.
45.
Николай (22.11.2011 / 17:43)
rezent (22 Ноября 2011 / 17:39)
Он все равно будет выводить пустые значения) Вывод значений вбей в условие:
<?php
if (!empty($name) && !empty($number) && !empty($comments)) //если переменные имеют значения выполняем запись в файл
{
$file = fopen ("test.txt", "a+"); //открываем для перезаписи файл test.txt лежаший в одной папке с текущей страницей
fwrite ($file,$text); // пишем в файл
fclose ($file); // закрываем файл
echo'
Все прошло успешно) <br />
Вы написали:<br />
Имя: '.$name.'<br />
Номер телефона: '.$number.'<br />
Пол: '.$pol.'<br />
Ищет: '.$kto.'<br />
Коментарии:<br />
'.$comments.'<br />" />';
} else {
echo'<font color=red>Не все поля заполнены!</font><input type="hidden" value="';
}
хотя ты прав так легче будет)
Добавлено через 01:40 сек.
32.
BOBO-95, вот то что я тебе писал про замену...изменяй снова)
ИЗменить на
if (!empty($name) && !empty($comments)) //если переменные имеют значения выполняем запись в файл
{
$file = fopen ("test.txt", "a+"); //открываем для перезаписи файл test.txt лежаший в одной папке с текущей страницей
fwrite ($file,$text); // пишем в файл
fclose ($file); // закрываем файл
echo'
Все прошло успешно) <br />
Вы написали:<br />
Имя: '.$name.'<br />
Номер телефона: '.$number.'<br />
Пол: '.$pol.'<br />
Ищет: '.$kto.'<br />
Коментарии:<br />
'.$comments.'<br />';
} else {
echo'<font color=red>Не все поля заполнены!</font>';
}
46.
Игорь (22.11.2011 / 17:45)
42: Конь в пальто, Смотри:
<?php
if (!empty($name) && !empty($number) && !empty($comments)) // Если поля не пустые то переходим к записи. "Начало условия"
$file = fopen ("test.txt", "a+");
fwrite ($file,$text); // пишем в файл
fclose ($file); // закрываем файл
} else { // Если не пустые, то выводим сообщение.
echo'<font color=red>Не все поля заполнены!</font><input type="hidden" value="';
} // как бы это "конец" условия))) А ниже идет вывод)))
echo'
Все прошло успешно) <br />
Вы написали:<br />
Имя: '.$name.'<br />
Номер телефона: '.$number.'<br />
Пол: '.$pol.'<br />
Ищет: '.$kto.'<br />
Коментарии:<br />
'.$comments.'<br />
';
47.
Gorec (22.11.2011 / 17:45)
Vep_Murifri (22 Ноября 2011 / 15:45)
а не проще ли на базе сделать? Если хочешь,напишу на базе,маленький пример. А нет,тогда не знаю. В файлах уже забыл все.
А где этот чувак?
48.
Николай (22.11.2011 / 17:47)
BOBO-95 (22 Ноября 2011 / 17:45)
А где этот чувак?
c таблицей немного тяжелей)
но случий тот же) могу канеш пример привести...
49.
Gorec (22.11.2011 / 17:48)
45.
Конь в пальто,
сделал
50.
Игорь (22.11.2011 / 17:51)
48: Конь в пальто, С таблицей легче))
Вот что бы реализовать не геморройное редактирование, надо структуру данных изменить... Хотя бы так:
$text = $name.':||:$number.':||:'.$comments.':||:'.$men.':||:'.women.':||:'.$pol;
51.
Gorec (22.11.2011 / 17:54)
Конь в пальто (22 Ноября 2011 / 17:47)
c таблицей немного тяжелей)
но случий тот же) могу канеш пример привести...
Если ты о таблице, например вот моя
-- Структура таблицы `userlist`
CREATE TABLE IF NOT EXISTS `userlist` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`user` varchar(255) NOT NULL,
`pass` varchar(255) NOT NULL,
`email` varchar(2555) NOT NULL,
`icq` varchar(2555) NOT NULL,
`name` varchar(2555) NOT NULL,
`pol` varchar(255) NOT NULL,
`gor` varchar(255) NOT NULL,
`phone` varchar(255) NOT NULL,
`os` varchar(2555) NOT NULL,
`photo` varchar(255) DEFAULT NULL,
`datereg` date DEFAULT NULL,
`view` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
--
-- Дамп данных таблицы `userlist`
--
INSERT INTO `userlist` (`id`, `user`, `pass`, `email`, `icq`, `name`, `pol`, `gor`, `phone`, `os`, `photo`, `datereg`, `view`) VALUES
(1, 'admin', '123456', 'y-menya@maila.net', '123456789', 'bobo', 'Мужской', 'grzny', '89899117386', 'wndws', 'gif', '2011-10-01', 5985491),
(2, 'vhncfvn', 'cxvhnxvfh', '', '', 'xcvhnxvbn', 'Мужской', '', '', '', '0', '2011-10-27', 1);
то это мне понятно, и выводить из таблицы могу, только как редактировать ее содержимое нема
52.
Николай (22.11.2011 / 17:55)
51.
BOBO-95, именно редактировать или добавлять?
53.
Gorec (22.11.2011 / 17:58)
52.
Конь в пальто,
этот код как инсталятор? ну сам таблицу создает
Запишука
54.
Николай (22.11.2011 / 17:59)
BOBO-95 (22 Ноября 2011 / 17:58)
52. Конь в пальто,
этот код как инсталятор? ну сам таблицу создает
Запишука
ды я думал у тебя таблицы еще нету)
55.
Gorec (22.11.2011 / 18:00)
52.
Конь в пальто,
И то и другое. Добавить могу только SQL запросом.
А где твой пример? не успел записать)))
Добавлено через 01:41 сек.
Хочу показать тебе скрипт, с которым я давно вожусь. написал по примерам с инета.
56.
Николай (22.11.2011 / 18:03)
--------------------Работа c Mysql----------------------
install.php (заливает таблицу в БД)
<?
//данные о хосте, пользователе и базе данных
$host = 'localhost';
$user = '';
$pass = '';
$dbname = '';
// подключаемся и выбираем бд, которую указали выше
if(!mysql_connect($host,$user,$pass))
die('Не удалось подключиться к серверу MySql!');
elseif(!mysql_select_db($dbname))
die('Не удалось выбрать БД!');
//////
// sql-скрипт для создания таблицы
$sql='CREATE TABLE usersinfo(
id INT NOT NULL AUTO_INCREMENT,
name TEXT,
mobil TEXT,
comm TEXT,
you TEXT,
search TEXT,
PRIMARY KEY(id)
);';
//выполняем sql-запрос
if(!mysql_query($sql)){
echo 'Ошибка при создании таблицы в БД!';
} else {
echo 'Всё прошло отлично, таблица создана!Удалите install.php!!!!';
}
?>
57.
Gorec (22.11.2011 / 18:08)
фвторизация
auth.php
<?php
##Определяем константы
define('USERS_TABLE','users');
define('SID',session_id());
##Определяем функции
//Функция выхода.
//Пользователь считается авторизированым, если в сессии присутствует uid
//см. "Действия - если пользователь авторизирован".
function logout() {
unset($_SESSION['uid']); //Удаляем из сессии ID пользователя
die(header('Location: '.$_SERVER['PHP_SELF']));
}
//Функция входа.
//Все выбраные поля записываются в сессию.
//Таким образом, при каждом просмотре страницы не надо выбирать их заново.
//Для обновления информации из БД можно пользоваться этой же функцией - имя и пароль
//хранятся в сессиях
function login($username,$password) {
$result = mysql_query("SELECT * FROM `".USERS_TABLE."` WHERE `username`='$username' AND `password`='$password';")
or die(mysql_error());
$USER = mysql_fetch_array($result,1); //Генерирует удобный массив из результата запроса
if(!empty($USER)) { //Если массив не пустой (это значит, что пара имя/пароль верная)
$_SESSION = array_merge($_SESSION,$USER); //Добавляем массив с пользователем к массиву сессии
mysql_query("UPDATE `".USERS_TABLE."` SET `sid`='".SID."' WHERE `uid`='".$USER['uid']."';")
or die(mysql_error());
return true;
}
else {
return false;
}
}
58.
Gorec (22.11.2011 / 18:11)
<?php
//Функция проверки залогинности пользователя.
//При входе, ID сессии записывается в БД.
//Если ID текущей сессии и SID из БД не совпадают, производится logout.
//Благородя этому нельзя одновременно работать под одним ником с разных браузеров.
function check_user($uid) {
$result = mysql_query("SELECT `sid` FROM `".USERS_TABLE."` WHERE `uid`='$uid';") or die(mysql_error());
$sid = mysql_result($result,0);
return $sid==SID ? true : false;
}
##Действия - если пользователь авторизирован
if(isset($_SESSION['uid'])) { //Если была произведена авторизация, то в сессии есть uid
//Константу удобно проверять в любом месте скрипта
define('USER_LOGGED',true);
//Создаём удобные переменные
//Все поля таблицы пользователей записываются в сесси (см. стр. 35-37)
//Таким образом, после добавления нового поля в таблицу надо дописть лишь одну строку
$UserName = $_SESSION['username'];
$UserPass = $_SESSION['password'];
$UserID = $_SESSION['uid'];
$UserInfo = $_SESSION['info'];
$UserTime = $_SESSION['time_reg'];
$UserNick = $_SESSION['nick_name'];
}
else {
define('USER_LOGGED',false);
}
##Действия при попытке входа
if (isset($_POST['login'])) {
if(get_magic_quotes_gpc()) { //Если слеши автоматически добавляются
$_POST['user']=stripslashes($_POST['user']);
$_POST['pass']=stripslashes($_POST['pass']);
}
$user = mysql_real_escape_string($_POST['user']);
$pass = mysql_real_escape_string($_POST['pass']);
if(login($user,$pass)) {
header('Refresh: 0');
}
else {
header('Refresh: 2;');
die('Пароль неправильный!');
}
}
##Действия при попытке выхода
if(isset($_GET['logout'])) {
logout();
}
?>
Подключается в самом верху, на те файлы, которые нужно закрыть от незареганных.
Щас пример index.php напишу
59.
Gorec (22.11.2011 / 18:15)
index.php
<?php
session_start();
mysql_connect('localhost','admin','123') or die(mysql_error());
mysql_select_db('admin') or die(mysql_error());
mysql_query('SET NAMES cp1251');
include('inc/auth.php');
include("inc/cfg.dat");
include_once"theme/$theme/head.php";
if(USER_LOGGED) {
if(!check_user($UserID)) logout();
?>
<!--Content-->
<h4><a href="?logout">Выход</h4>
<?=$th;?>
<?=$linkimgnews;?>
<br />
Новости
<?=$tf;?>
<br />
<?=$img;?>
<a href="pages/mypage.php">Анкета</a>
<br />
<?=$imgforum;?><?=$forum;?>
<br />
<?=$imgguest;?>
<a href="/gbook">Гостевая</a>
<br />
<?=$imglib;?>
<a href="/lib">Библиотекак</a>
<br />
<?=$img;?>
<a href="/stranicaoshibok">Несуществующая страница</a>
<br />
<?=$img;?>
<a href="/pages">pages</a>
<!--End Content-->
<?php
}
else { ?>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table>
<tr>
<td>Имя:</td><td><input type="text" name="user"></td>
</tr>
<tr>
<td>Пароль:</td><td><input type="password" name="pass"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="login" value="Войти"></td>
</tr>
</table>
</form>
<?php
}
?>
<?
include_once"theme/$theme/foot.php";
?>
60.
Николай (22.11.2011 / 18:16)
56.
Конь в Пальто,
add.php (добавляет новые данные в БД)
<?
//данные о хосте, пользователе и базе данных
$host = 'localhost';
$user = '';
$pass = '';
$dbname = '';
// подключаемся и выбираем бд, которую указали выше
if(!mysql_connect($host,$user,$pass))
die('Не удалось подключиться к серверу MySql!');
elseif(!mysql_select_db($dbname))
die('Не удалось выбрать БД!');
//////
$mode = htmlspecialchars($_GET['mode']);
switch ($mode):
case 'index':
$kz='<font color="#FF0000">*</font>';
// поля данных
echo''.$kz.'- Обязательно к заполнению<br />';
echo '<form action="?mode=add" method="post">';
echo'
'.$kz.' Имя <br>
<input type="text" size="10" maxlength="15" name="name"><br />
Номер тел. <br>
<input type="text" size="10" name="number" value=""> <br />
'.$kz.' Комментарий: <br>
<textarea rows="3" cols="40" maxlength="10" name="comments" value="">
</textarea> <br>
'.$kz.' Вы <br>
<select name="pol">
<option valuе="Myжчинa">Myжчинa </option>
<option value="Жeнщинa">Жeнщинa </option>
</select><br />
'.$kz.' Ищите <br>
<select name="kto">
<option valuе="Парня">Парня</option>
<option value="Девушку">Девушку</option>
</select><br />';
echo '<input type="submit" name="submit" value="Сохранить" /></form>';
break;
часть 2 ниже
61.
Николай (22.11.2011 / 18:17)
часть 2 файла add.php
case 'add':
$name = htmlspecialchars($_POST['name']);
$number = htmlspecialchars($_POST['number']);
$comments = htmlspecialchars($_POST['comments']);
$pol = htmlspecialchars($_POST['pol']);
$kto = htmlspecialchars($_POST['kto']);
if (!empty($name) && !empty($comments)) //если переменные имеют значения выполняем запись в файл
{
$file = fopen ("base.txt", "w+"); //открываем для перезаписи. лежаший в одной папке с текущей страницей
fwrite ($file,$text); // пишем в файл
fclose ($file); // закрываем файл
/////////////
$sql = 'INSERT INTO usersinfo(name, mobil, comm, you, search)
VALUES("'.$name.'", "'.$number.'", "'.$comments.'", "'.$pol.'", "'.$kto.'")';
if(mysql_query($sql)) { else { echo'Успех!'; }// выполняем скрипт
////////////
} else {
echo'<font color=red>Не все поля заполнены!</font><input type="hidden" value="" />';
}
break;
default:
header ('location: ?mode=index');
endswitch;
?>
62.
Gorec (22.11.2011 / 18:19)
Не могу регистрацию написать. Авторизация успеш проходит. Вот пока пишу это, пришла мысль, может переменные из формы регистрации записать в SQL запрос, по твоему примеру? понятно, что в таблицу
Пока я это писал, ты уже код написал
Добавлено через 04:21 сек.
61.
Конь в пальто,
ну ты чувак
во
63.
Николай (22.11.2011 / 18:25)
61.
Конь в Пальто,
Admin.php (редактируем данные кого то)
<?
//данные о хосте, пользователе и базе данных
$host = 'localhost';
$user = '';
$pass = '';
$dbname = '';
// подключаемся и выбираем бд, которую указали выше
if(!mysql_connect($host,$user,$pass))
die('Не удалось подключиться к серверу MySql!');
elseif(!mysql_select_db($dbname))
die('Не удалось выбрать БД!');
//////
$kto = htmlspecialchars($_POST['kto']);
$parol = htmlspecialchars($_POST['parol']);
$sector = htmlspecialchars($_POST['sector']);
$mode = htmlspecialchars($_GET['mode']);
switch ($mode):
case 'index':
// поля данных
echo '<form action="?mode=edit" method="post">';
echo'Меняем:<br />
<select name="sector">
<option value="name">Имя</option>
<option value="mobil">Номер</option>
<option value="comm">Коментарии</option>
<option value="you">Кто он</option>
<option value="search">Кого ищет</option>
</select><br />'
;
echo 'Меняем ID (1,2,3,4 и т.д.))';
echo '<input type="text" name="kto" value="" />';
echo 'Новые данные:<br />';
echo '<input type="text" name="parol" /><br />';
echo '<input type="submit" name="submit" value="Изменить" /></form>';
break;
case 'edit':
// изменение
$sql = "UPDATE `usersinfo` SET `$sector` = '$parol' WHERE `id` = $kto;";
if(mysql_query($sql)) {// выполняем скрипт
echo'Новые данные были успешно изменены!<br />
<a href=/user/login.php>Продолжить</a>';
} else {
echo'Ошибка! Изменить данные не получилось! повторите попытку!<br />
<a href=?mode=index>Продолжить</a>';
}
break;
default:
header ('location: ?mode=index');
endswitch;
?>
Добавлено через 02:03 сек.
вот тебе простой пример(ну я так думаю простой) типа добавление в базу нового чувака + админка где можно редактировать)
64.
Gorec (22.11.2011 / 18:31)
63.
Конь в пальто,
Вот спасибо тебе человечечкое
где только не искал, кого только не просил. именно то, что мне нужно на данном этапе моего учения
Добавлено через 05:53 сек.
Конь в пальто (22 Ноября 2011 / 18:17)
часть 2 файла add.php
case 'add':
$name = htmlspecialchars($_POST['name']);
$number = htmlspecialchars($_POST['number']);
$comments = htmlspecialchars($_POST['comments']);
$pol = htmlspecialchars($_POST['pol']);
$kto = htmlspecialchars($_POST['kto']);
if (!empty($name) && !empty($comments)) //если переменные имеют значения выполняем запись в файл
{
$file = fopen ("base.txt", "w+"); //открываем для перезаписи. лежаший в одной папке с текущей страницей
fwrite ($file,$text); // пишем в файл
fclose ($file); // закрываем файл
/////////////
$sql = 'INSERT INTO usersinfo(name, mobil, comm, you, search)
VALUES("'.$name.'", "'.$number.'", "'.$comments.'", "'.$pol.'", "'.$kto.'")';
if(mysql_query($sql)) { else { echo'Успех!'; }// выполняем скрипт
////////////
} else {
echo'<font color=red>Не все поля заполнены!</font><input type="hidden" value="" />';
}
break;
default:
header ('location: ?mode=index');
endswitch;
?>
Тут ошибка
on line 56
VALUES("'.$name.'", "'.$number.'", "'.$comments.'", "'.$pol.'", "'.$kto.'")';
Добавлено через 06:45 сек.
кажется понял
65.
Николай (22.11.2011 / 18:40)
64.
BOBO-95, вроде все должно работать я писал не проверяя....
66.
Gorec (22.11.2011 / 18:43)
пишет Parse error: syntax error, unexpected T_ELSE in E:\home\test1.ru\www\DB\add.php on line 56
Добавлено через 01:38 сек.
base.txt
67.
Николай (22.11.2011 / 18:46)
BOBO-95 (22 Ноября 2011 / 18:43)
пишет Parse error: syntax error, unexpected T_ELSE in E:\home\test1.ru\www\DB\add.php on line 56
Добавлено через 01:38 сек.
base.txt
мой касяк подправь
$sql = 'INSERT INTO usersinfo(name, mobil, comm, you, search)
VALUES("'.$name.'", "'.$number.'", "'.$comments.'", "'.$pol.'", "'.$kto.'")';
if(mysql_query($sql)) { echo'Успех!'; } else { echo'Провал!'; }
68.
Gorec (22.11.2011 / 18:47)
извиняюсь, вот 56 строка
if(mysql_query($sql)) { else { echo'Успех!'; }// выполняем скрипт
69.
Николай (22.11.2011 / 18:48)
BOBO-95 (22 Ноября 2011 / 18:43)
base.txt
это если хочешь в тхт сохранять, можешь вырезать)
70.
Gorec (22.11.2011 / 18:49)
теперь фарму видно, но провал
71.
Николай (22.11.2011 / 18:50)
70.
BOBO-95, к бд подключение сделал? таблицу инсталом создал?
72.
Gorec (22.11.2011 / 18:52)
69.
Конь в пальто,
Да не, я понял, просто у меня небыло там файла base.txt, и я думал поэтому ошибка
73.
Николай (22.11.2011 / 18:54)
BOBO-95 (22 Ноября 2011 / 18:52)
69. Конь в пальто,
Да не, я понял, просто у меня небыло там файла base.txt, и я думал поэтому ошибка
стоит w+ а это означает если нет файла то его создаст,если файл есть он его перезапишет
74.
Gorec (22.11.2011 / 18:54)
71.
Конь в пальто,
Да, таблицу инсталом создал, соединение есть
Добавлено через 01:23 сек.
73.
Конь в пальто,
Я же не знал
а туда тоже не пишет
75.
Николай (22.11.2011 / 19:01)
74.
BOBO-95, потому что я переменую убрал )
76.
Gorec (22.11.2011 / 19:06)
А что с ошибкой то?
77.
Игорь (22.11.2011 / 19:16)
Косяк очевиден: if(mysql_query($sql)) {
else { echo'Успех!'; }
78.
Gorec (22.11.2011 / 19:21)
77.
rezent,
Все равно ошибка
79.
Игорь (22.11.2011 / 19:22)
if(mysql_query($sql)) { echo'Успех!'; }
80.
Gorec (22.11.2011 / 19:29)
install.php создавало таблицу "reclama" а нужно было "usersinfo"
теперь все работает
81.
Николай (22.11.2011 / 20:45)
80.
BOBO-95, да не ты путаешь)
// sql-скрипт для создания таблицы
$sql='CREATE TABLE usersinfo(
id INT NOT NULL AUTO_INCREMENT,
name TEXT,
mobil TEXT,
comm TEXT,
you TEXT,
search TEXT,
PRIMARY KEY(id)
);';
Добавлено через 02:06 сек.
77.
rezent, в посте 67 указано правельное исправление)
82.
Игорь (22.11.2011 / 20:49)
Да уже разобрались)
83.
Gorec (22.11.2011 / 21:04)
81.
Конь в пальто,
Я в install.php изменил на usersinfo и запустил, сол создала новую таблицу и все заработало:-)
84.
Николай (22.11.2011 / 21:09)
83.
BOBO-95, просто ты наверно самый мой первый пример списал а там я reclama писал) смотри пост 56 там usersinfo стоит)
85.
Gorec (22.11.2011 / 21:15)
84.
Конь в пальто,
Я значит сразу скопировал твой первый вариант:-)
86.
★☆ ИгRok™ ☆★ (23.11.2011 / 01:08)
BOBO-95 (22 Ноября 2011 / 17:45)
А где этот чувак?
Не вечно мне же тут сидеть,так? Ты не дал мне внятного ответа,плюс,мог бы напомнить в приват. Правда,тебе уже все разжували,остается только проглатить ))) правда громоздко как-то получилось,но главное что получилось
87.
Gorec (27.11.2011 / 06:46)
86.
Vep_Murifri,
Благодаря этои теме и всем хорошим людям, которые откликнулись на мой зов помощи, теперь я знаю как все это работает:-) и сразу перешел к изучению мускул, уже умею записывать, удалять, почти умею изменять, выводить на страницу данные из таблицы БД :-) УЖЕ ПИШУ СВОЮ ПЕРВУЮ СМS
88.
★☆ ИгRok™ ☆★ (27.11.2011 / 08:01)
87.
BOBO-95, ну молодец,что сказать ))) а люди здесь все хорошие )) что касается базы,хорошо что сразу начал осваивать,она на много проще,чем на файлах.
89.
Gorec (28.11.2011 / 02:26)
88.
Vep_Murifri, верно, теперь и я понял это
URL:
https://visavi.net/topics/26729