Был хороший сайт Анны Котельниковой .Были там замечательные статьи
о том как создавать базу данных , как добавлять информацию в базу , как изменить информацию через свой сайт итд.
К сожалению что-то там изменилось и теперь ссылки ведут на какой-то другой сайт.
У меня сохранились эти программы адаптированные на Mysqli.
В первую очередь создаём базу данных на phpMyadmin и назовём new_db.
Там создаём таблицу из 5 столбцов и назовём users .
Столбцы назовём :
1) id,(int ,auto increment)
2)first_name,
3)last_name,
4)email,
5)facebook
Задаём пароль (в данном случае 12345). Вносим данные первого пользователя с правами администратора (в данном примере Anna Kotelnikova).
В папке htdocs(xampp) создаём папку db1. В этой папке создаём ещё одну папку
и назовём scripts , туда помещаем файлы : connect.php , form.php, update.php .
Остальные файлы все в папке db1 .
Вот работающие на XAMPP коды .
connect.php :
<?php
$con = mysqli_connect("localhost","anna","12345","new_db");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
?>
form.php:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
</head>
<body>
<?php
require 'connect.php';
$first_name = trim($_REQUEST['first_name']);
$last_name = trim($_REQUEST['last_name']);
$email = trim($_REQUEST['email']);
$facebook = trim($_REQUEST['facebook']);
$position = true;
if(preg_match("/^http:\/\/www.facebook.com\//", $facebook))
{$position = false;}
else if(preg_match("/^www.facebook.com\//", $facebook))
{$position = false;
$facebook = "http://" . $facebook;}
else if($position)
{$facebook = "http://www.facebook.com/" . $facebook;}
$insert_sql = "INSERT INTO users (first_name, last_name, email, facebook)" .
"VALUES('{$first_name}', '{$last_name}', '{$email}', '{$facebook}');";
mysqli_query($con,$insert_sql);
echo "<p>Новая запись вставлена в базу!</p>";
?>
</body>
</html>
select_user.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<title>Selected User</title>
</head>
<body>
<?php
require 'scripts/connect.php';
$first_name = trim($_REQUEST['first_name']);
$last_name = trim($_REQUEST['last_name']);
$sql_select = "SELECT * FROM users WHERE first_name='$first_name' && last_name='$last_name'";
$result = mysqli_query($con,$sql_select);
$row = mysqli_fetch_array($result);
if($row)
{
printf("<p>Пользователь: " .$row['first_name'] . " " .$row['last_name'] ."</p>
<p><i>Контактные данные </i>:</p><p>E-mail: " .$row['email'] . "</p><p>Facebook: " .$row['facebook'] . "</p>-------------------------------------------------------<br/>"
);
}
else{echo ("Пользователя с таким именем в базе нет<br/><br/>");}
?>
<a href="search_user.html">Вернуться к поиску</a><br/><br/>
<a href="info_form.html">Добавить пользователя</a></br>
<a href="select_change.php">Редактировать запись базы данных</a><br/>
</body>
</html>
edit.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<title>Вносим изменеиния</title>
</head>
<body>
<?php
require 'scripts/connect.php';
$id = $_REQUEST['user'];
$select_sql = "SELECT * FROM users WHERE id= $id";
$result = mysqli_query($con,$select_sql);
$row = mysqli_fetch_array($result);
printf("<form action='scripts/update.php' method='post' name='forma'>
<fieldset>
<input type='hidden' name='id' value='%s'><br/>
<label for='first_name'>Имя:</label><br/>
<input type='text' name='first_name' size='30' value='%s'><br/>
<label for='last_name'>Фамилия:</label><br/>
<input type='text' name='last_name' size='30' value='%s'><br/>
<label for='email'>Email:</label><br/>
<input type='text' name='email' size='30' value='%s'><br/>
<label for='facebook'>Facebook</label><br/>
<input name='facebook' type='text' size='30' value='%s'>
</fieldset>
<br/>
<fieldset>
<input id='submit' type='submit' value='Редактировать запись'><br/>
</fieldset>
</form>",$row['id'], $row['first_name'], $row['last_name'], $row['email'], $row['facebook']);
?>
<a href="info_form.html">Добавить пользователя</a><br/><br/>
<a href="search_user.html">Вернуться к поиску</a><br/><br/>
<a href="select_change.php">Вернуться к выбору записей для редактирования</a><br/><br/>
</body>
</html>
all-users.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset=utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<title>Selected User</title>
</head>
<body>
<?php
require 'scripts/connect.php';
$sql_select = "SELECT * FROM users";
$result = mysqli_query($con,$sql_select);
$row = mysqli_fetch_array($result);
do
{
printf("<p>Пользователь: " .$row['first_name'] . " " .$row['last_name'] ."</p>
<p><i>Контактные данные</i></p><p>E-mail: " .$row['email'] . "</p><p>Facebook: " .$row['facebook'] . "</p>---------<br/>"
);
}
while($row = mysqli_fetch_array($result));
?>
<a href="search_user.html">Вернуться к поиску</a><br/><br/>
<a href="info_form.html">Добавить пользователя</a>
</body>
</html>
select_change.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css" type="text/css">
<title>Выбор пользователя для редактирования.</title>
</head>
<body>
<form action="edit.php" method="post">
<fieldset>
<?php
require 'scripts/connect.php';
$select_sql = "SELECT id, first_name, last_name FROM users";
$result = mysqli_query($con,$select_sql);
$row = mysqli_fetch_array($result);
do
{
printf("<input type='radio' name='user' value='%s'>%s %s<br/><br/>", $row['id'], $row['first_name'], $row['last_name']);
}
while($row = mysqli_fetch_array($result))
?>
</fieldset>
<fieldset>
<input type="submit" value="Выбрать элемент">
</fieldset>
</form>
<a href="info_form.html">Добавить пользователя</a><br/><br/>
<a href="search_user.html">Вернуться к поиску</a><br/><br/>
</body>
</html>
info_form.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="style.css" type="text/css">
<title>Untitled Document</title>
</head>
<body>
<form action="scripts/form.php" method="post" name="forma">
<fieldset>
<label for="first_name">Имя:</label><br>
<input type="text" name="first_name" size="30"><br/>
<label for="last_name">Фамилия:</label><br/>
<input type="text" name="last_name" size="30"><br/>
<label for="email">Email:</label><br/>
<input type="text" name="email" size="30"><br/>
<label for="facebook">Facebook</label><br/>
<input name="facebook" type="text" value="" size="30">
</fieldset>
<br/>
<fieldset>
<input id="submit" type="submit" value="Отправить данные"><br/>
</fieldset>
</form>
<a href="search_user.html">Вернуться к поиску</a><br/><br/>
<a href="all-users.php">Добавить пользователя</a></br>
<a href="select_change.php">Редактировать запись базы данных</a><br/
</body>
</html>
search_user.html
<html>
<head>
<meta charset="utf-8">
<title>
найти пользователя
</title>
<link rel="stylesheet" href="style.css" type="text/css">
<body>
<fieldset>
<form action="select_user.php" method="post">
<label for="first_name">Имя:</label><br/>
<input type="text" name="first_name" size="30"><br/>
<label for="last_name">Фамилия:</label><br/>
<input type="text" name="last_name" size="30"><br/><br><br>
<input type="submit" value="найти">
</fieldset>
</form>
<a href="all-users.php">все пользователи</a></br>
<a href="select_change.php">Редактировать запись базы данных</a><br/
</body>
</html>
update.php
<!DOCTYPE html>
<html>
<head>
<title>update </title>
<meta charset="utf-8" />
</head>
<body>
<?php
require 'connect.php';
$id=$_REQUEST['id'];
$first_name = trim($_REQUEST['first_name']);
$last_name = trim($_REQUEST['last_name']);
$email = trim($_REQUEST['email']);
$facebook = trim($_REQUEST['facebook']);
$position = true;
if(preg_match("/^http:\/\/www.facebook.com\//", $facebook))
{$position = false;}
else if(preg_match("/^www.facebook.com\//", $facebook))
{$position = false;
$facebook = "http://" . $facebook;}
else if($position)
{$facebook = "http://www.facebook.com/" . $facebook;}
$sql = "UPDATE users SET first_name='$first_name',last_name='$last_name' , email ='$email' WHERE id=$id";
if (mysqli_query($con, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($conn);
}
?>
</body>
</html>
style.css
body{width:400px; margin:0 auto; background:#F8F4B6;}
label{display: block; float: left; width: 150px;
padding: 0 10px; margin: 18px 0 0; text-align: right;}
submit{float:right; margin:5px 50px 10px 0;}
Здесь только коды которые работают на xampp .
При работе с базами данных MySql возникает проблема с кодировками ,
вместо кириллицы появляются какие то непонятные символы , как говорят кракозябры . Я это исправил таким образом : во первых везде в программах проставил кодировку utf-8 , когда создавал базу данных и таблицы -utf8_general_ci (как все рекомендуют). Но на этом ещё не всё , при просмотре таблиц через phpMyAdmin чтобы кириллица правильно отображалась включил строку на config .my.ini (убрал символ решётки ) как на этих скриншотах
На панели управления xampp нажимаем кнопку Config затем my.ini , находим раздел UTF 8 settings и убираем решётки как на скриншоте ниже .
мне кажется другие одинарные тоже можно убрать , но пока не проверял .
Продолжение можете найти здесь https://zen.me/1tyZIu .
Удачи !
