Во-первых, в моем коде запись в БД почему-то добавляется через форму, но не во все поля.
В таблице - поля id
, name
, email
, password
, balance
, ip_reg
и data_reg
, но записать их все в запрос query
не получается:
if (isset($_POST["reg"])) {
//$Name = $mysqli->real_escape_string(htmlspecialchars($_POST['name']));
$query = ("INSERT INTO `secret_users`
(`name`, `email`) VALUES ('".$_POST['name']."','".$_POST['email']."')");
$result = $mysqli->query($query);
}
$mysqli->close(
Если же добавить в VALUES поля таким образом, то тоже не работает:
VALUES ('$name', '$email', MD5('$password'), '$ip_reg', UNIX_TIMESTAMP())";
Во-вторых, само обращение к БД и создание нового пользователя не происходит:
$mysqli->query("INSERT INTO `secret_users`
( `name`, `email`, `password`, `balance`, `ip_reg`, `date_reg`)
VALUES ('Denis', '2@mail.ru', MD5('1234'), '0.00', INET_ATON('127.0.0.1'), UNIX_TIMESTAMP())");
$mysqli->close();
Код полностью:
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'mysite');
$mysqli = @new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if ($mysqli->connect_errno) exit('Ошибка соединения с БД');
$mysqli->set_charset('utf8');
/*$mysqli->query("INSERT INTO `secret_users`
( `name`, `email`, `password`, `balance`, `ip_reg`, `date_reg`)
VALUES ('Denis', '2@mail.ru', MD5('1234'), '0.00', INET_ATON('127.0.0.1'), UNIX_TIMESTAMP())");
$mysqli->close();
*/
//Если переменная Name передана
/*if (isset($_POST["reg"])) {
$name = $mysqli->real_escape_string(htmlspecialchars($_POST['name']));
$email = $mysqli->real_escape_string(htmlspecialchars($_POST['email']));
$password = $mysqli->real_escape_string(htmlspecialchars($_POST['password']));
$ip_reg = ip2long($_SERVER['REMOTE_ADDR']);
$query = ("INSERT INTO `secret_users`
(`name`, `email`, `password`)
VALUES ('$name', '$email', MD5('$password')");
$result = $mysqli->query($query);
}*/
if (isset($_POST["reg"])) {
//$Name = $mysqli->real_escape_string(htmlspecialchars($_POST['name']));
$query = ("INSERT INTO `secret_users`
(`name`, `email`) VALUES ('".$_POST['name']."','".$_POST['email']."')");
$result = $mysqli->query($query);
}
$mysqli->close();
//Вставляем данные, подставляя их в запрос
/* $sql = mysql_query("INSERT INTO `products` (`Name`, `Price`)
VALUES ('".$_POST['Name']."','".$_POST['Price']."')");*/
//Если вставка прошла успешно
/* if ($mysqli) {
echo "<p>Данные успешно добавлены в таблицу.</p>";
} else {
echo "<p>Произошла ошибка.</p>";
}
}*/
/*if (isset($_POST['reg'])) { // если форма пришла нач рег.
$name = $mysqli->real_escape_string(htmlspecialchars($_POST['name'])); // $mysqli->real_escape_string метод безопасности
$email = $mysqli->real_escape_string(htmlspecialchars($_POST['email']));
$password = $mysqli->real_escape_string(htmlspecialchars($_POST['password'])); // если в sql запросе
// $password = md5 (htmlspecialchars($_POST['password']); // 2 вар.
// далее необхпроверить входные данные - в этом коде этого нет
$ip_reg = ip2long($_SERVER['REMOTE_ADDR']);
$query = ("INSERT INTO `secret_users`
(`name`, `email`, `password`, `ip_reg`, `date_reg`)
VALUES ('$name', '$email', MD5('$password'), '$ip_reg', UNIX_TIMESTAMP()");
$result = $mysqli->query($query);
}
$mysqli->close();*/
?>
<?php if (isset($result)) { ?>
<?php if ($result) { ?>
<p>Регистрация прошла успешно!</p>
<?php } else { ?>
<p>Произошла ошибка</p>
<?php } ?>
<?php } ?>
<table>
<form name='reg' action='index.php' method='post'>
<p>
Имя: <input type='text' name='name' />
</p>
<p>
E-mail: <input type='text' name='email' />
</p>
<p>
Пароль: <input type='password' name='password' />
</p>
<p>
<input type='submit' name='reg' value='Зарегистрироваться' />
</p>
</table>
<?php
Cо 2 п. разобрался
$mysqli->query ("INSERT INTO `secret_users`
(`id`, `name`, `email`, `password`, `balance`, `ip_reg`, `data_reg`)
VALUES (NULL, 'Dinn', 'dinn@mail.ru', MD5('123'), '0.00', INET_ATON('127.0.0.1'), UNIX_TIMESTAMP())");
$mysqli->close();*/
1 вопрос:
//Если переменная reg передана
if (isset($_POST["reg"])) {
$name = $mysqli->real_escape_string(htmlspecialchars($_POST['name']));
$email = $mysqli->real_escape_string(htmlspecialchars($_POST['email']));
$password = $mysqli->real_escape_string(htmlspecialchars($_POST['password']));
$ip_reg = ip2long($_SERVER['REMOTE_ADDR']);
$query = ("INSERT INTO `secret_users`
(`id`, `name`, `email`, `password`, `ip_reg`, `data_reg`)
VALUES (NULL, '$name', '$email', MD5('$password'), '$ip_reg', UNIX_TIMESTAMP())");
$result = $mysqli->query($query);
if (isset($result)) {
echo "<p>Данные успешно добавлены в таблицу.</p>";
} else {
echo "<p>Произошла ошибка.</p>";
}
}
2 вопрос
$mysqli->query ("INSERT INTO `secret_users`
(`id`, `name`, `email`, `password`, `balance`, `ip_reg`, `data_reg`)
VALUES (NULL, 'Dinn', 'dinn@mail.ru', MD5('123'), '0.00', INET_ATON('127.0.0.1'), UNIX_TIMESTAMP())");
$mysqli->close();*/
Виртуальный выделенный сервер (VDS) становится отличным выбором
Допустим есть кубик рубика произвольного размера NxNxN
У меня есть главная страница с ссылкой-якорем #id и когда пытаюсь получить в if-e $_SERVER[REQUEST_URI] - получаю строку с адресом без #idкак получить ссылку...