Вы находитесь на странице: 1из 12

Простая база данных на PHP и MySQL

Сделал на PHP для себя простенькую базу событий с напоминалкой о них на e-mail. Вполне сойдет как
пример для работы в PHP с базой данных.
В качестве базы данных конечно MySQL.
Таблички можно создать вручную через phpMyAdmin, как описано в примере создания опроса на PHP
здесь https://ds-release.ru/kak-sdelat-formu-dlya-oprosa-na-php/, но здесь таблички я буду создавать с помощью
запросов.
Файл для создания таблиц create.php (его запускаем 1 раз, потом удаляем после создания таблиц).
1
2
3 <?
/* Переменные для соединения с базой данных */
4 $hostname = "localhost";
5 $username = "user";
6 $password = "password";
7 $dbName = "database";
8 /* создать соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
9 /* выбрать базу данных. Если произойдет ошибка - вывести ее */
10 mysql_select_db($dbName) or die(mysql_error());
11
12 $query = "CREATE TABLE count (nn int(20))";
13 $res = mysql_query($query);
14
$query = "INSERT INTO count VALUES('0')";
15 $res = mysql_query($query);
16
17 $query = "CREATE TABLE count1 (nn int(20))";
18 $res = mysql_query($query);
19
20 $query = "INSERT INTO count1 VALUES('0')";
$res = mysql_query($query);
21
22 $query = "CREATE TABLE usvers (nn int(20), name VARCHAR(240), adres VARCHAR(240))";
23 $res = mysql_query($query);
24 $query = "CREATE TABLE sobbit (nn int(20), usver VARCHAR(240), sobit VARCHAR(240), o
25 DATETIME)";
26 $res = mysql_query($query);
/* Закрыть соединение */
27 mysql_close();
28
29 ?>
30
31
Форма регистрации пользователя add.php
1 <html>
<head>
2
<title>Напоминалка по событиям на PHP</title>
3 <meta https-equiv=”Content-Type” content=”text/html; charset=windows-
4 1251?>
5 <body>
6
7 <P>
<center>
8 <TABLE WIDTH = 400><TR><TD align = right>
9 <FORM ACTION="add1.php" METHOD="POST">
10 E-mail:<BR> <INPUT TYPE="text" NAME="name" SIZE="30" MAXLENGTH="240">
11 <P>
Пароль:<BR> <INPUT TYPE="text" NAME="adres" SIZE="30" MAXLENGTH="240">
12
13
14
15 <P>
16
17 <INPUT TYPE="submit" VALUE="Добавить">
</FORM>
18 </TD></TR></TABLE></CENTER>
19
20 </center>
21 </body>
22 </html>
23
Заносим в базу логин и пароль add1.php
1 <?
/* Этот скрипт получает переменные из add.php */
2
3 /* Переменные для соединения с базой данных */
4 $hostname = "localhost";
5 $username = "user";
6 $password = "password";
7 $dbName = "database";
8
/* Таблица MySQL, в которой хранятся данные */
9 $userstable = "count";
10 /* создать соединение */
11 mysql_connect($hostname,$username,$password) OR DIE("Не могу создать
12 соединение ");
/* выбрать базу данных. Если произойдет ошибка - вывести ее */
13 mysql_select_db($dbName) or die(mysql_error());
14 $name = mysql_real_escape_string($name);
15 $adres = mysql_real_escape_string($adres);
16 $query = "SELECT * FROM $userstable";
17 $res1 = mysql_query($query);
while ($row = mysql_fetch_row($res1))
18 $nn=$row[0]+1;
19
20 $query = "UPDATE $userstable SET nn=$nn";
21 mysql_query($query) or die(mysql_error());
22
23 /* Таблица MySQL, в которой хранятся данные */
$userstable = "usvers";
24 /* создать соединение */
25 mysql_connect($hostname,$username,$password) OR DIE("Не могу создать
26 соединение ");
27 /* выбрать базу данных. Если произойдет ошибка - вывести ее */
28 mysql_select_db($dbName) or die(mysql_error());
/* составить запрос для вставки информации о клиенте в таблицу */
29 $query = "INSERT INTO $userstable VALUES('$nn', '$name','$adres')";
30 /* Выполнить запрос. Если произойдет ошибка - вывести ее. */
31 mysql_query($query) or die(mysql_error());
32 echo "Информация о вас занесена в базу данных.";
33
/* Закрыть соединение */
34
mysql_close();
35 ?>
36
37 <a href="login.php" >Войти</a>
38
39
40
41
42
Зарегистрировались.
Теперь форма ввода логина и пароля login.php
1
2 <html>
3 <head>
4 <title>Напоминалка по событиям на PHP</title>
5 <meta https-equiv=”Content-Type” content=”text/html; charset=windows-
6 1251?>
<body>
7 <P>
8 <center>
9 <TABLE WIDTH = 400><TR><TD align = right>
10 <FORM ACTION="see.php" METHOD="POST">
E-mail:<BR> <INPUT TYPE="text" NAME="name" SIZE="30" MAXLENGTH="240">
11 <P>
12 Пароль:<BR> <INPUT TYPE="text" NAME="pass" SIZE="30" MAXLENGTH="240">
13
14 <P>
15
16 <INPUT TYPE="submit" VALUE="Вход">
17 </FORM>
</TD></TR></TABLE></CENTER>
18 <a href="add.php">Регистрация</a>
19
20 <P>
21 <a href="forgot.php">Напомнить пароль</a>
22 </center>
</body>
23 </html>
24
25
После правильного ввода логина и пароля отображаем список событий see.php
1 <html>
<head>
2
<title>Напоминалка по событиям на PHP</title>
3 <meta https-equiv=”Content-Type” content=”text/html; charset=windows-1251?>
4 <link rel="stylesheet" type="text/css" href="tcal.css" />
5 <script type="text/javascript" src="tcal.js"></script>
6 </head>
<body>
7
8 <?
9
10 /* Этот скрипт получает переменные из login.php */
11
12 /* Переменные для соединения с базой данных */
13 $hostname = "localhost";
$username = "user";
14 $password = "password";
15 $dbName = "database";
16 $today = getdate();
17
18 $toddi = "$today[year]-$today[mon]-$today[mday]";
19 $toddi0 = "12:00";
20
$date = $_POST['date'];
21
22 $userstable = "usvers";
23
24 /* создать соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "
25
/* выбрать базу данных. Если произойдет ошибка - вывести ее */
26 mysql_select_db($dbName) or die(mysql_error());
27 $query = "SELECT * FROM $userstable WHERE name = '".$name."' and adres = '".$pass
28 $res = mysql_query($query) or die(mysql_error());
29
30 $name = mysql_real_escape_string($name);
$adres = mysql_real_escape_string($adres);
31
32 $number1 = mysql_num_rows($res);
33
34 if ($number1 == 0) {
35 echo 'Пользователь '.$name." не найден либо пароль не верен!<BR><BR>";
36 } else {
37
echo 'Записи пользователя '.$name."<BR><BR>";
38 /* Таблица MySQL, в которой хранятся данные */
39 $userstable = "sobbit";
40 /* создать соединение */
41 mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "
42 /* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());
43
44 $query = "SELECT * FROM $userstable WHERE usver = '".$name."' ";
45 $res = mysql_query($query) or die(mysql_error());
46
47 /*получаем строки из базы данных MySQL */
48
49 while ($row=mysql_fetch_array($res)) {
echo $row['sobit'].' '.$row['opsobit'].' '.$row['kogda'];
50
51 /*Рисуем табличку с данными и с кнопкой редактирования записей */
52
53 echo '<FORM ACTION="change.php" METHOD="POST">';
54
55 echo '<INPUT TYPE="hidden" NAME="ann" VALUE="'.$row['nn'].'" SIZE="1" MAXLENGTH="
56
57 echo '<INPUT TYPE="hidden" NAME="asobit" VALUE="'.$row['sobit'].'" SIZE="1" MAXLE
echo '<textarea cols="50" rows="10" name="aopsobit" id="contact_text" class="inpu
58 echo '<INPUT TYPE="hidden" NAME="akogda" VALUE="'.$row['kogda'].'" SIZE="1" MAXLE
59 echo '<INPUT TYPE="hidden" NAME="name" VALUE="'.$name.'" SIZE="1" MAXLENGTH="240"
60 echo '<INPUT TYPE="hidden" NAME="pass" VALUE="'.$pass.'" SIZE="1" MAXLENGTH="240"
61 echo "<BR>";
62 }
63
/*Рисуем форму для ввода нового события */
64
65 echo '<P><center><TABLE WIDTH = 400><TR><TD align = right><FORM ACTION="seeadd.ph
66 MAXLENGTH="240"><P>';
67 echo 'Описание события:<BR> <textarea cols="50" rows="10" name="aopsobit" id="con
68
69 echo '<input type="text" name="akogda1" class="tcal" value="" SIZE="20" MAXLENGTH
echo '<INPUT TYPE="text" NAME="akogda2" VALUE="'.$toddi0.'" SIZE="20" MAXLENGTH="
70 MAXLENGTH="240"><P>';
71
72 echo '<INPUT TYPE="hidden" NAME="pass" VALUE="'.$pass.'" SIZE="30" MAXLENGTH="240
73 VALUE="Добавить!"></FORM></TD></TR></TABLE></CENTER>';
74 }
/* Закрыть соединение */
75 mysql_close();
76
77
78
79
80
81
82 ?>
83 </center>
84 </body>
</html>
85
86
87
88
89
90
Под табличкой событий форма для ввода нового события и кнопка Добавить, при нажатии на нее
открывается seeadd.php, событие добавляется и снова отображается табличка с новым событием и форма
ввода. Чтобы все корректно заносилось, надо обратить внимание на формат даты и кодировку.
1 <html>
<head>
2
<title>Напоминалка по событиям на PHP</title>
3 <meta https-equiv=”Content-Type” content=”text/html; charset=windows-1251?>
4 <body>
5
6 <?
7 /* Этот скрипт получает переменные из see.php */
/* Переменные для соединения с базой данных */
8 $hostname = "localhost";
9 $username = "user";
10 $password = "password";
11 $dbName = "database";
$akogda=$akogda1.' '.$akogda2
12
13 $userstable = "usvers";
14
15 /* создать соединение */
16 mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение
17 /* выбрать базу данных. Если произойдет ошибка - вывести ее */
18 mysql_select_db($dbName) or die(mysql_error());
$query = "SELECT * FROM $userstable WHERE name = '".$name."' and adres = '".$pass
19 $res = mysql_query($query) or die(mysql_error());
20
21 $name = mysql_real_escape_string($name);
22 $adres = mysql_real_escape_string($adres);
23
24 $number1 = mysql_num_rows($res);
25
if ($number1 == 0) {
26 echo 'Пользователь '.$name." не найден либо пароль не верен!<BR><BR>";
27 } else {
28 /* Таблица MySQL, в которой хранятся данные */
29 $userstable = "count1";
30 /* создать соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение
31 /* выбрать базу данных. Если произойдет ошибка - вывести ее */
32 mysql_select_db($dbName) or die(mysql_error());
33
34 $name = mysql_real_escape_string($name);
35 $asobit = mysql_real_escape_string($asobit);
36 $aopsobit = mysql_real_escape_string($aopsobit);
$akogda = mysql_real_escape_string($akogda);
37
$query = "SELECT * FROM $userstable";
38 $res1 = mysql_query($query);
39 while ($row = mysql_fetch_row($res1))
40 $nn=$row[0]+1;
41
42 $query = "UPDATE $userstable SET nn=$nn";
mysql_query($query) or die(mysql_error());
43
44 /* Таблица MySQL, в которой хранятся данные */
45 $userstable = "sobbit";
46 /* создать соединение */
47 mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение
/* выбрать базу данных. Если произойдет ошибка - вывести ее */
48 mysql_select_db($dbName) or die(mysql_error());
49 /* составить запрос для вставки информации о событии в таблицу */
50 $query = "INSERT INTO $userstable VALUES('$nn', '$name','$asobit','$aopsobit','$a
51 /* Выполнить запрос. Если произойдет ошибка - вывести ее. */
52 mysql_query($query) or die(mysql_error());
echo "Информация о событии занесена в базу данных.";
53 ?>
54 <P>
55 <P>
56 <?
57
echo 'Записи пользователя '.$name."<BR><BR>";
58
/* создать соединение */
59 mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение
60 /* выбрать базу данных. Если произойдет ошибка - вывести ее */
61 mysql_select_db($dbName) or die(mysql_error());
62
63 $query = "SELECT * FROM $userstable WHERE usver = '".$name."' ";
64
$res = mysql_query($query) or die(mysql_error());
65 while ($row=mysql_fetch_array($res)) {
66 echo $row['sobit'].' '.$row['opsobit'].' '.$row['kogda'];
67
68 echo '<FORM ACTION="change.php" METHOD="POST">';
69 echo '<INPUT TYPE="hidden" NAME="ann" VALUE="'.$row['nn'].'" SIZE="1" MAXLENGTH="
echo '<INPUT TYPE="hidden" NAME="asobit" VALUE="'.$row['sobit'].'" SIZE="1" MAXLE
70 echo '<textarea cols="50" rows="10" name="aopsobit" id="contact_text" class="inpu
71 echo '<INPUT TYPE="hidden" NAME="akogda" VALUE="'.$row['kogda'].'" SIZE="1" MAXLE
72 echo '<INPUT TYPE="hidden" NAME="name" VALUE="'.$name.'" SIZE="1" MAXLENGTH="240"
73 echo '<INPUT TYPE="hidden" NAME="pass" VALUE="'.$pass.'" SIZE="1" MAXLENGTH="240"
74 echo "<BR>";
75
}
76
77 echo '<P><center><TABLE WIDTH = 400><TR><TD align = right><FORM ACTION="seeadd.ph
78 MAXLENGTH="240"><P>';
79 echo 'Описание события:<BR> <textarea cols="50" rows="10" name="aopsobit" id="con
80 echo '<INPUT TYPE="text" NAME="akogda" SIZE="20" MAXLENGTH="19"><P><INPUT TYPE="h
echo '<INPUT TYPE="hidden" NAME="pass" VALUE="'.$pass.'" SIZE="30" MAXLENGTH="240
81 VALUE="Добавить!"></FORM></TD></TR></TABLE></CENTER>';
82 }
83 /* Закрыть соединение */
84 mysql_close();
85 ?>
86
</center>
87 </body>
88
89
90
91
92
93
94
95 </html>
96
97
98
99
100
101
102
В табличке у нас кнопка Изменить открывает change.php с формой изменения введенной ранее записи.
1 <html>
<head>
2
<title>Напоминалка по событиям на PHP</title>
3 <meta https-equiv=”Content-Type” content=”text/html; charset=windows-1251?>
4 <body>
5
6 <?
7 /* Этот скрипт получает переменные из see.php */
8
/* Переменные для соединения с базой данных */
9 $hostname = "localhost";
10 $username = "user";
11 $password = "password";
12 $dbName = "database";
$userstable = "usvers";
13
14 /* создать соединение */
15 mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "
16 /* выбрать базу данных. Если произойдет ошибка - вывести ее */
17 mysql_select_db($dbName) or die(mysql_error());
18 $query = "SELECT * FROM $userstable WHERE name = '".$name."' and adres = '".$pass
$res = mysql_query($query) or die(mysql_error());
19
20 $name = mysql_real_escape_string($name);
21 $adres = mysql_real_escape_string($adres);
22
23 $number1 = mysql_num_rows($res);
24
25 if ($number1 == 0) {
echo 'Пользователь '.$name." не найден либо пароль не верен!<BR><BR>";
26 } else {
27
28 echo '<FORM ACTION="seechange.php" METHOD="POST">';
29 echo '<INPUT TYPE="hidden" NAME="ann" VALUE="'.$ann.'" SIZE="1" MAXLENGTH="240"><
30 echo '<INPUT TYPE="text" NAME="asobit" VALUE="'.$asobit.'" SIZE="30" MAXLENGTH="2
31 echo '<textarea cols="50" rows="10" name="aopsobit" id="contact_text" class="inpu
echo '<INPUT TYPE="text" NAME="akogda" VALUE="'.$akogda.'" SIZE="20" MAXLENGTH="2
32 echo '<INPUT TYPE="hidden" NAME="name" VALUE="'.$name.'" SIZE="1" MAXLENGTH="240"
33 echo '<INPUT TYPE="hidden" NAME="pass" VALUE="'.$pass.'" SIZE="1" MAXLENGTH="240"
34 VALUE="Сохранить!"></FORM>';
35
36 }
/* Закрыть соединение */
37
38
39
40 mysql_close();
41
42 ?>
43
44 </center>
45 </body>
</html>
46
47
48
49
Изменяем событие, и нажимаем Сохранить, после чего открывается seechange.php, новая информации о
событии сохраняется.
1 <html>
<head>
2
<title>Напоминалка по событиям на PHP</title>
3 <meta https-equiv=”Content-Type” content=”text/html; charset=windows-1251?>
4 <body>
5
6 <?
7 /* Этот скрипт получает переменные из change.php */
/* Переменные для соединения с базой данных */
8 $hostname = "localhost";
9 $username = "user";
10 $password = "password";
11 $dbName = "database";
$userstable = "usvers";
12
13 /* создать соединение */
14 mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "
15 /* выбрать базу данных. Если произойдет ошибка - вывести ее */
16 mysql_select_db($dbName) or die(mysql_error());
17 $query = "SELECT * FROM $userstable WHERE name = '".$name."' and adres = '".$pass
$res = mysql_query($query) or die(mysql_error());
18
19 $name = mysql_real_escape_string($name);
20 $adres = mysql_real_escape_string($adres);
21
22 $number1 = mysql_num_rows($res);
23
24 if ($number1 == 0) {
echo 'Пользователь '.$name." не найден либо пароль не верен!<BR><BR>";
25 } else {
26 /* Таблица MySQL, в которой хранятся данные */
27
28 /* создать соединение */
29 mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "
30 /* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());
31
32 $name = mysql_real_escape_string($name);
33 $asobit = mysql_real_escape_string($asobit);
34 $aopsobit = mysql_real_escape_string($aopsobit);
35 $akogda = mysql_real_escape_string($akogda);
36
/* Таблица MySQL, в которой хранятся данные */
37 $userstable = "sobbit";
38
39 /* создать соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "
40
/* выбрать базу данных. Если произойдет ошибка - вывести ее */
41 mysql_select_db($dbName) or die(mysql_error());
42 /* составить запрос для изменения информации в таблице */
43 $query = "UPDATE $userstable SET sobit='".$asobit."',opsobit='".$aopsobit."',kogd
44 /* Выполнить запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());
45 echo "Информация о событии изменена.";
46 ?>
47 <P>
48 <P>
49 <?
50
echo 'Записи пользователя '.$name."<BR><BR>";
51 /* создать соединение */
52 mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "
53 /* выбрать базу данных. Если произойдет ошибка - вывести ее */
54 mysql_select_db($dbName) or die(mysql_error());
55
$query = "SELECT * FROM $userstable WHERE usver = '".$name."' ";
56 //$query = "SELECT * FROM $userstable";
57 $res = mysql_query($query) or die(mysql_error());
58 while ($row=mysql_fetch_array($res)) {
59 echo $row['sobit'].' '.$row['opsobit'].' '.$row['kogda'];
60
echo '<FORM ACTION="change.php" METHOD="POST">';
61
echo '<INPUT TYPE="hidden" NAME="ann" VALUE="'.$row['nn'].'" SIZE="1" MAXLENGTH="
62 echo '<INPUT TYPE="hidden" NAME="asobit" VALUE="'.$row['sobit'].'" SIZE="1" MAXLE
63 echo '<textarea cols="50" rows="10" name="aopsobit" id="contact_text" class="inpu
64 echo '<INPUT TYPE="hidden" NAME="akogda" VALUE="'.$row['kogda'].'" SIZE="1" MAXLE
65 echo '<INPUT TYPE="hidden" NAME="name" VALUE="'.$name.'" SIZE="1" MAXLENGTH="240"
echo '<INPUT TYPE="hidden" NAME="pass" VALUE="'.$pass.'" SIZE="1" MAXLENGTH="240"
66 echo "<BR>";
67
68 }
69
70 echo '<P><center><TABLE WIDTH = 400><TR><TD align = right><FORM ACTION="seeadd.ph
71 MAXLENGTH="240"><P>';
echo 'Описание события:<BR><textarea cols="50" rows="10" name="aopsobit" id="cont
72
echo '<P>Когда произошло:<BR> <INPUT TYPE="text" NAME="akogda" SIZE="20" MAXLENGT
73 MAXLENGTH="240"><P>';
74 echo '<INPUT TYPE="hidden" NAME="pass" VALUE="'.$pass.'" SIZE="30" MAXLENGTH="240
75 VALUE="Добавить!"></FORM></TD></TR></TABLE></CENTER>';
76 }
/* Закрыть соединение */
77 mysql_close();
78 ?>
79
80 </center>
81 </body>
82 </html>
83
84
85
86
87
88
89
90
91
92
93
Снова отображается табличка с измененным событием и форма ввода.
Файл prover.php, который ставится в cron, и по времени проверяет базу на предмет просроченного событий,
если находит - высылает на e-mail пользователя напоминание.
1 <html>
<head>
2
<title>Напоминалка по событиям на PHP</title>
3 <meta https-equiv=”Content-Type” content=”text/html; charset=windows-1251?>
4 <body>
5
6 <?
7
8 /* Переменные для соединения с базой данных */
$hostname = "localhost";
9 $username = "user";
10 $password = "password";
11 $dbName = "database";
12 $today = getdate();
$toddi = "$today[year]-$today[mon]-$today[mday] $today[hours]:$today[minutes]:00"
13
14 /* Таблица MySQL, в которой хранятся данные */
15 $userstable = "sobbit";
16 /* создать соединение */
17 mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "
18 /* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());
19
20 $query = "SELECT * FROM $userstable";
21
22 $res = mysql_query($query) or die(mysql_error());
23 while ($row=mysql_fetch_array($res)) {
24
25 if ($row['kogda'] < $toddi ) {
26
$to = $row['usver'];
27 $subject = $row['sobit'];
28 $message = $row['opsobit']."<br />".$row['kogda']."<br />Внимание!<br /><i>Это пи
29 нужно!</i>";
30 $headers = "From: ".$row['usver']."<".$row['usver'].">\r\nContent-type: text/html
31 mail ($to, $subject, $message, $headers);
32
} else {
33 }
34
35 }
36
37 /* Закрыть соединение */
38 mysql_close();
39
?>
40
41 </center>
42 </body>
43 </html>
44
45
46
47
48
49
И напоследок, форма, которая высылает забытый пароль пользователю на e-mail.
Форма ввода логина для напоминания забытого пароля, , файл forgot.php.
1
2 <html>
3 <head>
<title>Напоминалка по событиям на PHP/title>
4 <meta https-equiv=”Content-Type” content=”text/html; charset=windows-
5 1251?>
6 <body>
7 <P>
8 <center>
<TABLE WIDTH = 400><TR><TD align = right>
9 <FORM ACTION="forgot1.php" METHOD="POST">
10 E-mail:<BR> <INPUT TYPE="text" NAME="name" SIZE="30" MAXLENGTH="240">
11 <P>
12
13 <INPUT TYPE="submit" VALUE="Выслать">
</FORM>
14 </TD></TR></TABLE></CENTER>
15
16 </center>
17 </body>
18 </html>
19
При нажатии на кнопку "Выслать" запускается файл forgot1.php, который высылает пароль на e-mail
пользователя.
1 <html>
<head>
2
<title>Напоминалка по событиям на PHP</title>
3 <meta https-equiv=”Content-Type” content=”text/html; charset=windows-1251?>
4 <body>
5
6 <?
7 /* Этот скрипт получает переменные из forgot.php */
8
/* Переменные для соединения с базой данных */
9 $hostname = "localhost";
10 $username = "user";
11 $password = "password";
12 $dbName = "database";
13
$userstable = "usvers";
14
15 /* создать соединение */
16 mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "
17 /* выбрать базу данных. Если произойдет ошибка - вывести ее */
18 mysql_select_db($dbName) or die(mysql_error());
19 $query = "SELECT * FROM $userstable WHERE name = '".$name."' ";
$res = mysql_query($query) or die(mysql_error());
20
21 $name = mysql_real_escape_string($name);
22 $adres = mysql_real_escape_string($adres);
23 $number1 = mysql_num_rows($res);
24 $row=mysql_fetch_array($res);
25
26
if ($number1 == 0) {
27 echo 'Пользователь '.$name." не найден либо пароль не верен!<BR><BR>";
28 } else {
29
30
31
32
33 $to = $row['name'];
34 $subject = 'Восстановление пароля для '.$row['name'];
35 $message = 'Логин: '.$row['name']."<br /><b>Пароль: </b>".$row['adres'];
$headers = "From: ".$row['name']."<".$row['name'].">\r\nContent-type: text/html;
36
1251 \r\n";
37 mail ($to, $subject, $message, $headers);
38 echo "Информация отправлена на указанный адрес.";
39 }
40 /* Закрыть соединение */
mysql_close();
41
42 ?>
43
44 <a href="login.php" >Войти</a>
45
46 </center>
47 </body>
</html>
48
49
50
51
В результате получается вот такая простая база данных по событиям с функцией уведомления о событиях на
e-mail пользователя:

Дополнительно список событий можно оформить в виде таблички, еще можно добавить кнопку "Удалить" в
таблицу для удаления строк, сделать возможность "закрывать" события, нажимая на ссылку сразу в письме с
напоминанием, сделать какое-нибудь шифрование пароля, который передается через адресную строку.
А так можно представленные выше куски кода вставить в шаблоны страниц, чтобы красиво было, залить на
сайт и будет он-лайн напоминалка о событиях на e-mail.

Вам также может понравиться