PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 4
kremenchug Отправлено: 28 Июня, 2018 - 10:45:28 • Тема: Помогите с формой смены пароля • Форум: Вопросы новичков

Ответов: 3
Просмотров: 214
Спасибо большое, но при неверном старом пароле, все равно обновляется. может ли вы подсказать как это можно исправить?
kremenchug Отправлено: 26 Июня, 2018 - 23:56:33 • Тема: Помогите с формой смены пароля • Форум: Вопросы новичков

Ответов: 3
Просмотров: 214
Здравствуйте, помогите пожалуйста, нужно добавить обязательный ввод старого пароля и текущего, чтобы изменить пароль. Новичок в php и как осуществить, не понимаю, буду очень благодарен за помощь!

PHP:
скопировать код в буфер обмена
  1. <?PHP include('server.php')?>
  2. <?PHP
  3.  
  4. //PHP-код для обновления данных из базы mysql
  5. if(isset($_POST['update']))
  6. {
  7.    
  8.    $hostname = "localhost";
  9.    $username = "root";
  10.    $password = "";
  11.    $databaseName = "registration";
  12.    
  13.    $connect = mysqli_connect($hostname, $username, $password, $databaseName);
  14.    
  15.    // получать значения
  16.    
  17.    $id = $_POST['id'];
  18.    $password = $_POST['password'];
  19.  
  20.            
  21.    // запрос mysql для обновления данных
  22.    $query = "UPDATE `users` SET `password`= '".$password."'  WHERE `id` = $id";
  23.    
  24.    $result = mysqli_query($connect, $query);
  25.    
  26.    if($result)
  27.    {
  28.        echo 'Data Updated';
  29.    }else{
  30.        echo 'Data Not Updated';
  31.    }
  32.    mysqli_close($connect);
  33. }
  34.  
  35. ?>
  36.  
  37. <!DOCTYPE html>
  38.  
  39. <html>
  40.  
  41.     <head>
  42.  
  43.         <title> PHP UPDATE DATA </title>
  44.  
  45.         <meta charset="UTF-8">
  46.  
  47.         <meta name="viewport" content="width=device-width, initial-scale=1.0">
  48.  
  49.     </head>
  50.  
  51.     <body>
  52.     <div class="container">
  53.   <div class="frame">
  54.     <div class="nav">
  55.       <ul class"links">
  56.         <li class="signin-active"><a class="btn">Update inform</a></li>
  57.       </ul>
  58.     </div>
  59.         <form class="form-signin" action="change-password.php" method="post">
  60.  
  61.             ID To Update: <input class="form-styling" type="text" name="id" required value="<?PHP echo $id; ?>" readonly ><br><br>
  62.  
  63.             New Password:<input class="form-styling" type="text" name="password" required ><br><br>
  64.  
  65.          
  66.  
  67.      
  68.            
  69.  
  70.             <input class="btn-signin" type="submit" name="update" value="Update Data">
  71.  
  72.         </form>
  73.         <div class="forgot">
  74.         <a href="index.php">Back</a>
  75.       </div>
  76.   </div>
  77. </div>
  78.     </body>
  79.  
  80.  
  81. </html>
  82.  


server.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. // initializing variables
  4. $username = "";
  5. $email    = "";
  6. $phone = "";
  7. $errors = array();
  8.  
  9. // connect to the database
  10. $db = mysqli_connect('localhost', 'root', '', 'registration');
  11. //username
  12. if (isset($_GET['username'])){
  13.   $username = $_GET['username'];
  14.   $userquery = "SELECT * FROM users WHERE username = '$username'";
  15.   $result = mysqli_query($db,$userquery);
  16.   if(mysqli_num_rows($result) != 1)  {
  17.        die ("That username could not be found");
  18.        echo mysqli_error($db);
  19.   }
  20.   while($row = mysqli_fetch_assoc($result)){
  21.       $id = $row['id'];
  22.       $password = $row['password'];
  23.       $username = $row['username'];
  24.       $email = $row['email'];
  25.       $phone = $row['phone'];
  26.       $dbusername = $row['username'];
  27.   }
  28.   if($username != $dbusername){
  29.       die ("There has been a fatal error.");
  30.   }
  31. }
  32. // REGISTER USER
  33. if (isset($_POST['reg_user'])) {
  34.   // receive all input values from the form
  35.   $username = mysqli_real_escape_string($db, $_POST['username']);
  36.   $email = mysqli_real_escape_string($db, $_POST['email']);
  37.   $phone = mysqli_real_escape_string($db, $_POST['phone']);
  38.   $password_1 = mysqli_real_escape_string($db, $_POST['password_1']);
  39.   $password_2 = mysqli_real_escape_string($db, $_POST['password_2']);
  40.   $id = mysqli_real_escape_string($db, $_POST['id']);
  41.   // form validation: ensure that the form is correctly filled ...
  42.   // by adding (array_push()) corresponding error unto $errors array
  43.   if (empty($username)) { array_push($errors, "Username is required"); }
  44.   if (empty($email)) { array_push($errors, "Email is required"); }
  45.   if (empty($phone)) { array_push($errors, "Phone is required"); }
  46.   if (empty($password_1)) { array_push($errors, "Password is required"); }
  47.   if ($password_1 != $password_2) {
  48.         array_push($errors, "The two passwords do not match");
  49.   }
  50.  
  51.   // first check the database to make sure
  52.   // a user does not already exist with the same username and/or email
  53.   $user_check_query = "SELECT * FROM users WHERE username='$username' OR email='$email' LIMIT 1";
  54.   $result = mysqli_query($db, $user_check_query);
  55.   $user = mysqli_fetch_assoc($result);
  56.  
  57.   if ($user) { // if user exists
  58.     if ($user['username'] === $username) {
  59.       array_push($errors, "Username already exists");
  60.     }
  61.  
  62.     if ($user['email'] === $email) {
  63.       array_push($errors, "email already exists");
  64.     }
  65.   }
  66.  
  67.   // Finally, register user if there are no errors in the form
  68.   if (count($errors) == 0) {
  69.         $password = $password_1;//$password = md5($password_1)
  70.  
  71.         $query = "INSERT INTO users (username, email, phone, password)
  72.                           VALUES('$username', '$email', '$phone','$password')";
  73.         mysqli_query($db, $query);
  74.         $_SESSION['username'] = $username;
  75.         $_SESSION['success'] = "You are now logged in";
  76.         header('location: index.php');
  77.   }
  78. }
  79. if (isset($_POST['login_user'])) {
  80.     $username = mysqli_real_escape_string($db, $_POST['username']);
  81.     $password = mysqli_real_escape_string($db, $_POST['password']);
  82.  
  83.  
  84.     if (empty($username)) {
  85.         array_push($errors, "Username is required");
  86.     }
  87.     if (empty($password)) {
  88.         array_push($errors, "Password is required");
  89.     }
  90.  
  91.     if (count($errors) == 0) {
  92.         $password = $password; //$password = md5($password)
  93.         $query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
  94.         $results = mysqli_query($db, $query);
  95.         if (mysqli_num_rows($results) == 1) {
  96.           $_SESSION['username'] = $username;
  97.           $_SESSION['success'] = "You are now logged in";
  98.           header('location: index.php');
  99.         }else {
  100.             array_push($errors, "Wrong username/password combination");
  101.         }
  102.     }
  103.   }
  104.  
  105.  
  106.  
  107.   ?>
kremenchug Отправлено: 08 Июня, 2018 - 14:52:52 • Тема: Ошибка Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, string given • Форум: Вопросы новичков

Ответов: 3
Просмотров: 1200
Спасибо огромное!Вы просто чудо!Как бы странно это не звучало, вы правда помогли очень сильно!Еще раз спасибо!!!!
kremenchug Отправлено: 07 Июня, 2018 - 21:47:04 • Тема: Ошибка Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, string given • Форум: Вопросы новичков

Ответов: 3
Просмотров: 1200
Здравствуйте, помогите пожалуйста с данной ошибкой, только начал учить php.
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, string given
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3.  
  4. <title><?PHP echo $firstname; ?> <?PHP echo $lastname; ?>Portfolio</title>
  5. </head>
  6. <body>
  7.    
  8.  
  9. <?PHP
  10. if (isset($_GET['username'])){
  11.     $username = $_GET['username'];
  12.     $db = mysqli_connect("localhost", "root", "", 'users');
  13.     $userquery = "SELECT * FROM users WHERE username = '$username'";
  14.    if(mysqli_num_rows($userquery) != 1)  {
  15.         die ("That username could not be found");
  16.         echo mysqli_error();
  17.     }
  18.     while($row = mysqli_fetch_array($userquery, $db)){
  19.         $firstname = $row['firstname'];
  20.         $lastname = $row['lastname'];
  21.         $email = $row['email'];
  22.         $dbusername = $row['username'];
  23.     }
  24.     if($username != $dbusername){
  25.         die ("There has been a fatal error.");
  26.     }
  27.  
  28. ?>
  29. <h2><?PHP echo $firstname; ?> <?PHP echo $lastname; ?>profile</h2><br>
  30. <table>
  31.     <tr><td>Firstname</td><td><?PHP echo $firstname ?></td></tr>
  32.     <tr><td>Lastname</td><td><?PHP echo $lastname ?></td></tr>
  33.     <tr><td>Email</td><td><?PHP echo $email ?></td></tr>
  34.     <tr><td>Username</td><td><?PHP echo $dbusername ?></td></tr>
  35.  
  36.  
  37. </table>
  38.  
  39.  
  40.  
  41. <?PHP
  42. } else die ("You need to specify a username!");
  43. ?>
  44.  
  45.  
  46.  
  47. </body>
  48. </html>

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB