Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Możliwość edycji profilu
wiktor000
post 23.02.2018, 17:46:55
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.02.2018

Ostrzeżenie: (10%)
X----


Witam mam stronę na której jest logowanie + rejestracja. Skończyłem właśnie robić kod na profil użytkownika [kod poniżej]
lecz niestestety nie potrafię zrobić możliwości edycji profilu
  1. <?php require('includes/config.php');
  2.  
  3.  
  4. if(!$user->is_logged_in()){ header('Location: login.php'); exit(); }
  5.  
  6.  
  7. $title = 'Profile Page';
  8.  
  9.  
  10. require('layout/header.php');
  11. ?>
  12.  
  13. <?php
  14. $sql = "select * from members where memberID='".$_SESSION['memberID']."';";
  15.  
  16. try{
  17. $rs = $db->query($sql);
  18. if($rs != null){
  19. $result = $rs->fetch(PDO::FETCH_ASSOC);
  20. }
  21. } catch (Exception $ex) {
  22. echo '<p class="bg-danger">'.$e->getMessage().'</p>';
  23. }
  24.  
  25. if(isset($result)){
  26. echo "<table>";
  27.  
  28. echo "<tr><th>Nick użytkownika: </th><td>".$result['username']."</td></tr>";
  29.  
  30. echo "<tr><th>Email: </th><td>".$result['email']."</td></tr>";
  31. echo "<tr><th>Aktywowane konto: </th><td>".$result['active']."</td></tr>";
  32.  
  33. echo "</table>";
  34. }
  35.  
  36. ?>
  37. <?php
  38.  
  39. require('layout/footer.php');
  40. ?>


  1. CREATE TABLE `members` (
  2. `memberID` int(11) NOT NULL,
  3. `username` varchar(255) COLLATE utf8mb4_bin NOT NULL,
  4. `password` varchar(255) COLLATE utf8mb4_bin NOT NULL,
  5. `email` varchar(255) COLLATE utf8mb4_bin NOT NULL,
  6. `active` varchar(255) COLLATE utf8mb4_bin NOT NULL,
  7. `resetToken` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
  8. `resetComplete` varchar(3) COLLATE utf8mb4_bin DEFAULT 'No',
  9. `pimie` varchar(255) COLLATE utf8mb4_bin NOT NULL,
  10. `dimie` varchar(255) COLLATE utf8mb4_bin NOT NULL,
  11. `omnie` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,
  12. `urodziny` varchar(255) COLLATE utf8mb4_bin NOT NULL,
  13. `kraj` varchar(255) COLLATE utf8mb4_bin NOT NULL,
  14. `miasto` varchar(255) COLLATE utf8mb4_bin NOT NULL
  15. PRIMARY KEY (`memberID`)
  16. ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;


POZDRAWIAM Lkingsmiley.png
Go to the top of the page
+Quote Post
b4rt3kk
post 23.02.2018, 18:01:32
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


No i w czym problem? Zamiast tabeli formularz:

  1. echo '<form action="" method="POST">';
  2. echo "<table>";
  3. echo "<tr><th>Nick użytkownika: </th><td>".'<input type="text" value="' . $result['username'] . '" />'."</td></tr>";
  4. echo "<tr><th>Email: </th><td>".'<input type="text" value="' . $result['email'] . '" />'."</td></tr>";
  5. echo "</table>";
  6. echo '<input type="submit" />';
  7. echo '</form>;


Później przechwytujesz request POST i wykonujesz UPDATE na bazie:

  1. if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  2. // walidacja, zapis do bazy
  3. var_dump($_POST);
  4. }


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
wiktor000
post 23.02.2018, 18:10:23
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.02.2018

Ostrzeżenie: (10%)
X----


b4rt3kk możesz ten mój kod edytować i to jakoś skleić w całość ? .Nie za bardzo ogarniam wkleiłem ten
  1. echo '<form action="" method="POST">';
  2. echo "<table>";
  3. echo "<tr><th>Nick użytkownika: </th><td>".'<input type="text" value="' . $result['username'] . '" />'."</td></tr>";
  4. echo "<tr><th>Email: </th><td>".'<input type="text" value="' . $result['email'] . '" />'."</td></tr>";
  5. echo "</table>";
  6. echo '<input type="submit" />';
  7. echo '</form>;


i potem
  1. if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  2. // walidacja, zapis do bazy
  3. var_dump($_POST);
  4. }



ale wyskakuje błąd : Parse error: syntax error, unexpected 'if' (T_IF), expecting ',' or ';' in C:\xampp\htdocs\profile.php on line 49
Go to the top of the page
+Quote Post
mrk9109
post 23.02.2018, 19:41:21
Post #4





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

Ostrzeżenie: (0%)
-----


musisz jak kolega pisze zrobić formularz który prześle dane za pomocą POST poczytaj a następnie podam ci przykład poniżej z moich aktualności że jak klikniesz input edytuj to wykona wtedy to

  1. if (isset($_POST['edytujID']))
  2. {
  3. $tytul = $_POST['tytul'];
  4. $tresc = $_POST['tresc'];
  5.  
  6. $zapytanie = $polaczenie->query("UPDATE `aktualnosci` SET
  7. `tytul`='".$tytul."',
  8. `tresc`='".$tresc."'
  9. WHERE id = '". $id."';");
  10.  
  11. header('Location: admin.php?pa=aktualnosci');
  12. }


Poczytaj i popróbuj nie dawno byłem w tej samej sytuacji i pisałem na forum jak zaczynałem przygodę z nauką smile.gif najlepiej uczy się jak posklejasz sam nasze rady
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 10:08