Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Po aktualizacji nazwy użytkownika na stronie w bazie danych zmienia się nazwa na nową, ale na stronie wyświetla starą
Forum PHP.pl > Forum > Przedszkole
marsoonn
Siema, mam taki problem użytkownik loguje się na strone -> wchodzi w swój profil -> klika "edytuj dane"
-> zmienia nazwę użytkownika -> klika submit i przekierowuj go z powrotem do jego profilu(profil.php)
i UWAGA w bazie danych nazwa się zmienia poprawnie, ale po tym przekierowaniu na górze wyświetla się stara nazwa użytkownika
a tam gdzie są dane inne jest pusto, może taki miszmasz napisałem, ale zaraz to wszystko wyjaśnie zdjęciami i kodem,
no i tu właśnie pytanko zdjęcia wrzuce ale kodu jest dużo czy znajdzie się jakaś dobra dusza która podbije na teamviewera i pomoże? BĘDĘ MEGA WDZIĘCZNY

Poniżej wszystkie zdjęcia po kolei jak działa strona:

https://imgur.com/a/2OmHbog

Jak widać na ostatnim zdjęciu u góry jest wyświetlana nazwa a dane poniżej w ogóle nie są wyświetlane sadsmiley02.gif
W bazie danych jest nowa nazwa użytkownika!!! (ostatnie zdjęcie)

Poniżej cały kod programu:

index.php

  1. <?php
  2. require_once 'header.php';
  3. error_reporting(E_ALL);
  4. ini_set('display_errors','1');
  5. ?>
  6.  
  7. <div class="mainpage">
  8. <div id="welcomemessage">
  9. <?php
  10. if(isset($_SESSION["useruid"]))
  11. {
  12. echo "<p>Witamy " . $_SESSION["useruid"] . "</p>";
  13. }
  14. ?>
  15. </div>
  16. </div>
  17.  
  18. <div class="omnie">
  19. siemano
  20. </div>
  21.  
  22. <script>
  23. // Get the modal
  24. var modal = document.getElementById('id01');
  25. var modal2 = document.getElementById('id02');
  26.  
  27. // When the user clicks anywhere outside of the modal, close it
  28. window.onclick = function(event) {
  29. if (event.target == modal) {
  30. modal.style.display = "none";
  31. }
  32. if (event.target == modal2) {
  33. modal.style.display = "none";
  34. }
  35. }
  36.  
  37. </script>
  38.  
  39. </body>
  40.  
  41. </html>


update.php

  1. <?php
  2. require "header.php";
  3. ?>
  4. <h1>Update Profile</h1>
  5. <form class="form-signup" action="includes/update.inc.php" method="post">
  6. <input type="text" name="uid" placeholder="Username">
  7. <button type="submit" name="update-submit">Update</button>
  8. </form>
  9. <?php
  10. require "footer.php";
  11. ?>


update.inc.php

  1. <?php
  2.  
  3. if(isset($_POST['update-submit'])) {
  4. require 'dbh.inc.php';
  5.  
  6. $usersUid = $_POST['uid'];
  7. $id = $_SESSION["userid"];
  8.  
  9. $update = "UPDATE users SET usersUid='$usersUid' WHERE usersId='$id'";
  10. $run = mysqli_query($conn, $update);
  11.  
  12. if($run) {
  13. header("Location: ../profil.php");
  14. }
  15. else
  16. {echo "Błędne dane proszę spróbuj ponownie";}
  17. }
  18. ?>


profil.php

  1. <?php
  2. include_once 'includes/dbh.inc.php';
  3. ?>
  4.  
  5. <!DOCTYPE html>
  6. <html lang="en">
  7.  
  8. <head>
  9. <meta charset="UTF-8">
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  11. <title>Document</title>
  12. <link rel="stylesheet" href="css/style.css">
  13. <link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"
  14. integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
  15. crossorigin=""/>
  16. </head>
  17.  
  18. <body>
  19.  
  20. <nav>
  21.  
  22. <!-- LOGO -->
  23. <div class="logocontainer">
  24. <a href="index.php"><img src="../img/logo9.jpg" alt="Logo"></a>
  25. </div>
  26.  
  27. <!-- MENU -->
  28. <div class="menucontainer">
  29. <a href="index.php" class="button1">Start</a>
  30. <a href="something" class="button1">O mnie</a>
  31. <a href="find.php" class="button1">Katalog motocykli</a>
  32. <a href="mapa.php" class="button1">Moto Mapa</a>
  33. <a href="something" class="button1">Forum</a>
  34. </div>
  35.  
  36. <!-- KOD PHP SPRAWDZA CZY UZYTKOWNIK JEST ZALOGOWANY -->
  37. <!-- <div class="logrejcontainer"> -->
  38.  
  39. <?php
  40. echo "<div class='logrejcontainer'>";
  41. if(isset($_SESSION["useruid"]))
  42. {
  43. echo "<button class='logrejbutt' onclick=\"window.location.href='../profil.php';\" >Profil</button>";
  44. echo "<button class='logrejbutt' id='rejbutt' onclick=\"window.location.href='../includes/logout.inc.php';\" >Wyloguj sie</button>";
  45. }
  46. else
  47. {
  48. echo "<button class='logrejbutt' onclick=\"window.location.href='../login.php';\" >Logowanie</button>";
  49. echo "<button class='logrejbutt' id='rejbutt' onclick=\"window.location.href='../signup.php';\" >Rejestracja</button>";
  50. }
  51. echo "</div>";
  52. ?>
  53.  
  54. </nav>
  55.  
  56. <div id="welcomemessage">
  57. <?php
  58. if(isset($_SESSION["useruid"]))
  59. {
  60. echo "<p><center>Witamy " . $_SESSION["useruid"] . ", na twoim profilu</center></p>";
  61. }
  62. ?>
  63. </div>
  64.  
  65. <div class="mainprofilepage">
  66. <div class="profilephotocontainer">
  67. <p><b>Zdjecie profilowe</b></p>
  68. <img src="../img/fotoo.png" alt="Zdjecie profilowe">
  69. <hr>
  70. <button>Zmien zdjecie</button><br><p></p>
  71. <button onclick="window.location.href='../update.php'">Edytuj swoje dane</button>
  72. <p></p>
  73.  
  74. </div>
  75.  
  76. <div class="profiledatacontainer">
  77. <div class="up">
  78. <p><b>Twoje dane:</b></p>
  79. </div>
  80.  
  81. <div class="down">
  82.  
  83. <div class="pdc_insideleft">
  84. <?php
  85. $zmienna1 = $_SESSION["useruid"];
  86. // $sql = "SELECT * FROM users WHERE usersEmail='treski@o2.pl';";
  87. $sql = "SELECT * FROM users WHERE usersUid='$zmienna1';";
  88. $result = mysqli_query($conn,$sql);
  89. $resultCheck = mysqli_num_rows($result);
  90.  
  91. if($resultCheck>0)
  92. {
  93. if($row = mysqli_fetch_assoc($result)){
  94. echo "<b>Nazwa uzytkownika: </b>"."<br><b>Imie i Nazwisko: </b>"."<br><b>Email: </b>"."<br>";
  95. }
  96. }
  97. ?>
  98.  
  99. </div>
  100.  
  101. <div class="pdc_insideright">
  102. <?php
  103. $zmienna1 = $_SESSION["useruid"];
  104. // $sql = "SELECT * FROM users WHERE usersEmail='treski@o2.pl';";
  105. $sql = "SELECT * FROM users WHERE usersUid='$zmienna1';";
  106. $result = mysqli_query($conn,$sql);
  107. $resultCheck = mysqli_num_rows($result);
  108.  
  109. if($resultCheck>0)
  110. {
  111. if($row = mysqli_fetch_assoc($result)){
  112. echo "<b>".$row['usersUid']."<br>".$row['usersName']."<br>".$row['usersEmail']."<br></b>";
  113. }
  114. }
  115.  
  116. ?>
  117. </div>
  118. </div>
  119. </div>
  120. </div>
  121. </body>
  122. </html>


viking
A gdzie podmieniasz nazwę w sesji po udanym update?
marsoonn
Cytat(viking @ 21.12.2020, 16:52:34 ) *
A gdzie podmieniasz nazwę w sesji po udanym update?


I to jest chyba ten problem, mógłbyś pomóc i przedstawić gotowe rozwiązanie? Nie za bardzo wiem jak to zrobić


Myślałem, że po naciśnięciu przycisku SUBMIT nazwa sama się podmienia,
skoro jest ona podmieniana w bazie danych, to dlaczego nie jest podmieniana na stronie

Już sobie poradziłęm wystarczyło dodać

$_SESSION["useruid"] = $_POST['uid'];
gino
Tak bez krytycznie dopuszczasz zmianę nazwy użytkownika? Sprawdź chociaż najpierw w bazie czy użytkownik o takiej nazwie przypadkiem nie istnieje, bo przy odrobinie szczęścia możesz mieć 2 userów o tych samych loginach hasłach.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.