Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Пт 24 июл 2020, 15:49  Заголовок сообщения: Ошибка при создании пользователя в БД
 
Не в сети
Ковбой клавиатуры
Аватара пользователя

Автор темы
Зарегистрирован: Сб 03 апр 2004, 11:53
Сообщения: 170
Откуда: г.Волжский
Has thanked: 6 times
Have thanks: 2 times
Всем привет! Прошу помощи у вас ГУРУ программирования на php.
Суть такая скачал с интернета исходники где проходит авторизация пользователя плюс с кодировкой пароля в виде salt и добавление его в БД. отредактировал его на свой лад начинаю вводить в браузер ссылку чтобы записать в БД.
http://192.168.64.2/Mysql/CampusTalk/register.php?username=1&password=1&email=1&fullname=1
А в ответ получаю:
"400 Could not register with provided information" :(
Подскажите что не так? в видео ролике человека который все это пишет. Работает все ОК 8)
Ниже прикладываю код файлов
access.php
<?php
//decleare a class to access to this php file.
class access {
// connection global variables
var $host = null;
var $user = null;
var $pass = null;
var $name = null;
var $conn = null;
var $result = null;
// constructing class
function __construct($dbhost, $dbuser, $dbpass, $dbname) {
$this->host = $dbhost;
$this->user = $dbuser;
$this->pass = $dbpass;
$this->name = $dbname;
}
// connection function
public function connect() {
// establish connection and store it in $conn
$this->conn = new mysqli($this->host, $this->user, $this->pass, $this->name);
// if error
if (mysqli_connect_errno()) {
echo 'Could not connect to database';
}
// support all languages
$this->conn->set_charset("utf8");
}
// disconnection function
public function disconnect() {
if ($this->conn != null) {
$this->conn->close();
}
}
// Insert user details
public function registerUser($username, $password, $salt, $email, $fullname) {
// sql command
$sql = "INSERT INTO users SET username=?, password=?, salt=?, email=?, fullname=?";
// store query result in $statement
$statement = $this->conn->prepare($sql);
// if error
if (!$statement) {
throw new Exception($statement->error);
}
// bind 5 param of type string to be placed in $sql command
$statement->bind_param("sssss", $username, $password, $salt, $email, $fullname);
$returnValue = $statement->execute();
return $returnValue;
}
// Select user information
public function selectUser($username) {
$returArray = array();
// sql command
$sql = "SELECT * FROM users WHERE username='".$username."'";
// assign result we got from $sql to $result var
$result = $this->conn->query($sql);
// if we have at least 1 result returned
if ($result != null && (mysqli_num_rows($result) >= 1 )) {
// assign results we got to $row as associative array
$row = $result->fetch_array(MYSQLI_ASSOC);
if (!empty($row)) {
$returArray = $row;
}
}
return $returArray;
}
?>


register.php
<?php
// STEP 1. Declare parms of user inf
// if GET or POST are empty
if (empty($_REQUEST["username"]) || empty($_REQUEST["password"]) || empty($_REQUEST["email"]) || empty($_REQUEST["fullname"])) {
$returnArray["status"] = "400";
$returnArray["message"] = "Missing required information";
echo json_encode($returnArray);
return;
}

// Securing information and storing variables
$username = htmlentities($_REQUEST["username"]);
$password = htmlentities($_REQUEST["password"]);
$email = htmlentities($_REQUEST["email"]);
$fullname = htmlentities($_REQUEST["fullname"]);

// secure password
$salt = openssl_random_pseudo_bytes(20);
$secured_password = sha1($password . $salt);

// STEP 2. Build connection
// Secure way to build conn
$file = parse_ini_file("../CampusTalk.ini");

// store in php var inf from ini var
$host = trim($file["dbhost"]);
$user = trim($file["dbuser"]);
$pass = trim($file["dbpass"]);
$name = trim($file["dbname"]);

// include access.php to call func from access.php file
require ("secure/access.php");
$access = new access($host, $user, $pass, $name);
$access->connect();

// STEP 3. Insert user information
$result = $access->registerUser($username, $secured_password, $salt, $email, $fullname);

// successfully registered
if ($result) {

// get current registered user information and store in $user
$user = $access->selectUser($username);

// declare information to feedback to user of App as json
$returnArray["status"] = "200";
$returnArray["message"] = "Successfully registered";
$returnArray["id"] = $user["id"];
$returnArray["username"] = $user["username"];
$returnArray["email"] = $user["email"];
$returnArray["fullname"] = $user["fullname"];
$returnArray["ava"] = $user["ava"];

// STEP 4. Emailing

// include email.php
require ("secure/email.php");

// store all class in $email var
$email = new email();

// store generated token in $token var
$token = $email->generateToken(20);

// save inf in 'emailTokens' table
$access->saveToken("emailTokens", $user["id"], $token);

// refer emailing information
$details = array();
$details["subject"] = "Email confirmation on CampusTalk";
$details["to"] = $user["email"];
$details["fromName"] = "Erman Sahin Tatar";
$details["fromEmail"] = "ermansahintatar@gmail.com";

// access template file
$template = $email->confirmationTemplate();

// replace {token} from confirmationTemplate.html by $token and store all content in $template var
$template = str_replace("{token}", $token, $template);
$details["body"] = $template;
$email->sendEmail($details);
} else {
$returnArray["status"] = "400";
$returnArray["message"] = "Could not register with provided information";
}

// STEP 5. Close connection
$access->disconnect();

// STEP 6. Json data
echo json_encode($returnArray);
?>


Вернуться к началу
 Профиль  
СообщениеДобавлено: Пт 24 июл 2020, 16:12  Заголовок сообщения: Re: Ошибка при создании пользователя в БД
 
Не в сети
Старожил
Аватара пользователя

Зарегистрирован: Вт 16 ноя 2010, 01:40
Сообщения: 2052
Откуда: Волжский-Волгоград
Has thanked: 602 times
Have thanks: 334 times
Макс, привет :D я тебя по нику узнала :wink: давно тебя тут не было)

_________________
Металлоконструкции, лестницы.89093826968


Вернуться к началу
 Профиль  
СообщениеДобавлено: Пт 24 июл 2020, 16:35  Заголовок сообщения: Re: Ошибка при создании пользователя в БД
 
Не в сети
Ковбой клавиатуры
Аватара пользователя

Автор темы
Зарегистрирован: Сб 03 апр 2004, 11:53
Сообщения: 170
Откуда: г.Волжский
Has thanked: 6 times
Have thanks: 2 times
redcoffee писал(а):
Макс, привет :D я тебя по нику узнала :wink: давно тебя тут не было)

Привет Настюха. да вот же занесло сюда. Хочу проблему решить. Предполагаю что здесь мне помогут


Вернуться к началу
 Профиль  
СообщениеДобавлено: Пт 24 июл 2020, 19:44  Заголовок сообщения: Re: Ошибка при создании пользователя в БД
 
Не в сети
Сетевой маньяк
Аватара пользователя

Зарегистрирован: Ср 17 фев 2010, 20:21
Сообщения: 7245
Has thanked: 935 times
Have thanks: 1503 times
Ждём продолжения

_________________
0X


Вернуться к началу
 Профиль  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Мобильный вид

Поддержка и хостинг www.powernet.com.ru