Помогите с маленьким скриптом

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 сек.
sad нуууууу

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 например) И тебе советую... hello

7. Gorec (22.11.2011 / 15:56)
ответы infat На БД БЫЛО БЫ КУЛЬНО. щас домой зайду быстренько, и посмотрю.

8. Николай (22.11.2011 / 15:57)
6. RedFox, а я тоже теперь пытаюсь на базу перейти)

9. Gorec (22.11.2011 / 16:02)
3. mrUp,


А Куда именновставить то? smile

10. юЮЮфюв (22.11.2011 / 16:02)
Тоже сразу с базы начал)

11. Gorec (22.11.2011 / 16:05)
4. Vep_Murifri,
Если тебя не затруднит klass

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? smile

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, а я тоже теперь пытаюсь на базу перейти)
На базе легко! Запросы легкие, ты поковыряй скрипты простейшие) Я довольно хорошо научился работать с базами! smile

16. Николай (22.11.2011 / 16:09)
13. BOBO-95, да

Добавлено через 02:12 сек.
RedFox (22 Ноября 2011 / 16:09)
На базе легко! Запросы легкие, ты поковыряй скрипты простейшие) Я довольно хорошо научился работать с базами! smile
ну конечно, я только запросы не знал... и не знаю практически)))) а сам уже написал модуль новостей полностью на мускуле вот теперь пытаюсь приделать коментарии))

17. Gorec (22.11.2011 / 16:13)
rezent (22 Ноября 2011 / 16:08)
Эммм... Почитай еще раз насчет функций fopen....
<?php
if (is_writable('./путь_до файла/бла_бла_бла/'.$filename)) {
. . .
if (!$handle = fopen('./путь_до файла/бла_бла_бла/'.$filename, 'a')) { 


С путями проблем как бы и нету, но все равно спасиби за совет smile кстате, оч полезный совет для дальнейшего, потом же пути по любому изменю klass

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, через минутку я дам тебе полный скрипт)

Ты Арабский Жеребец а не коньD D

Добавлено через 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 не знаю как cry

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. Конь в пальто,

ОГО obana Щас проверим E

Добавлено через 05:32 сек.
23. Конь в пальто,

Обработка в одном файле krut все работает, и даже вставку <br /> после каждой строчки написал smile

Спасибо большое!

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; // Заместо пробела можно прописать наименование ячейки данных.
Так более расширяемое = )
ЗЫ Переходи на БД E

27. Николай (22.11.2011 / 16:48)
26. rezent, парень с ней не разу не работал а ты уже переходи))))) E

28. Игорь (22.11.2011 / 16:49)
27: Конь в пальто, Начинать все равно придется = )

29. Gorec (22.11.2011 / 16:51)
25. Конь в пальто,

Вклеил))) А как проверить, ввел ли человек данные или нет? Ну чтобы нельзя было записать пустую форму? smile

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. Конь в пальто,
Почему же, работал)))

просто еще только-только начал ету работу)))


Хотите приведу маленьки пример? smile


впрочем это мой единственный E

Добавлено через 06:06 сек.
31. Конь в пальто,
Респект тебе за труд klass

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)
hello

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. Конь в пальто,
СУПЕР klass

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)
СПАСИБО ОГРОМНОЕ smile

Теперь по мучаюсь, чтобы понять, как редактировать зти данные из test.txt.

А тебя просить совесть не позволит smile и так написал мне целый скрипт klass

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. Конь в пальто,
Спасибо smile

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)
а не проще ли на базе сделать? Если хочешь,напишу на базе,маленький пример. А нет,тогда не знаю. В файлах уже забыл все.

А где этот чувак? E

48. Николай (22.11.2011 / 17:47)
BOBO-95 (22 Ноября 2011 / 17:45)

А где этот чувак? E
c таблицей немного тяжелей)
но случий тот же) могу канеш пример привести...

49. Gorec (22.11.2011 / 17:48)
45. Конь в пальто,
сделал E

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);


то это мне понятно, и выводить из таблицы могу, только как редактировать ее содержимое нема smile

52. Николай (22.11.2011 / 17:55)
51. BOBO-95, именно редактировать или добавлять?

53. Gorec (22.11.2011 / 17:58)
52. Конь в пальто,

этот код как инсталятор? ну сам таблицу создает smile
Запишука klass

54. Николай (22.11.2011 / 17:59)
BOBO-95 (22 Ноября 2011 / 17:58)
52. Конь в пальто,

этот код как инсталятор? ну сам таблицу создает smile
Запишука klass
ды я думал у тебя таблицы еще нету)

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 запрос, по твоему примеру? понятно, что в таблицу E

Пока я это писал, ты уже код написалE E E




Добавлено через 04:21 сек.
61. Конь в пальто,
krut ну ты чувак klass во

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. Конь в пальто,

Вот спасибо тебе человечечкое smile где только не искал, кого только не просил. именно то, что мне нужно на данном этапе моего учения klass

Добавлено через 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 E

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 E
мой касяк подправь
  $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 E
это если хочешь в тхт сохранять, можешь вырезать)

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, и я думал поэтому ошибка E

73. Николай (22.11.2011 / 18:54)
BOBO-95 (22 Ноября 2011 / 18:52)
69. Конь в пальто,
Да не, я понял, просто у меня небыло там файла base.txt, и я думал поэтому ошибка E
стоит w+ а это означает если нет файла то его создаст,если файл есть он его перезапишет

74. Gorec (22.11.2011 / 18:54)
71. Конь в пальто,
Да, таблицу инсталом создал, соединение есть

Добавлено через 01:23 сек.
73. Конь в пальто,
Я же не знал E а туда тоже не пишет

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" smile теперь все работает

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)

А где этот чувак? E
Не вечно мне же тут сидеть,так? Ты не дал мне внятного ответа,плюс,мог бы напомнить в приват. Правда,тебе уже все разжували,остается только проглатить ))) правда громоздко как-то получилось,но главное что получилосьsmile

87. Gorec (27.11.2011 / 06:46)
86. Vep_Murifri,
Благодаря этои теме и всем хорошим людям, которые откликнулись на мой зов помощи, теперь я знаю как все это работает:-) и сразу перешел к изучению мускул, уже умею записывать, удалять, почти умею изменять, выводить на страницу данные из таблицы БД :-) УЖЕ ПИШУ СВОЮ ПЕРВУЮ СМS D

88. ★☆ ИгRok™ ☆★ (27.11.2011 / 08:01)
87. BOBO-95, ну молодец,что сказать ))) а люди здесь все хорошие )) что касается базы,хорошо что сразу начал осваивать,она на много проще,чем на файлах.

89. Gorec (28.11.2011 / 02:26)
88. Vep_Murifri, верно, теперь и я понял это smile

URL: https://visavi.net/topics/26729