Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Edycja danych w bazie z poziomu strony.
Forum PHP.pl > Forum > Przedszkole
Croos22
Witam.
Chciałem aby na mojej stronie każdy użytkownik miał możliwość edycji danych takich jak np. imię,wiek.Zależało by mi aby to było w postaci formularza na którym widać obecne dane wyciągane z bazy.
Proszę was o jakiekolwiek pomoce za które serdecznie dziękuje.



PS.Nie zakładając nowego tematu na błahostkę.Czy jeśli hasło podczas rejestracji jest wysyłane do bazy danych nie zakodowane tylko w normalnej postaci czy to jest bezpieczne?
krispak
Oczekujesz skryptu czy co?

Rozumiem ze masz rejestracje a potem logowanie sie uzytkownikow..

Wyciagasz dane o zalogowanym uzytkowniku - czyli o danym Id, wrzucasz je do formularza, uzytkownik sobie edytuj wciska submit i zapisujesz do bazy.
nospor
Cytat
PS.Nie zakładając nowego tematu na błahostkę.Czy jeśli hasło podczas rejestracji jest wysyłane do bazy danych nie zakodowane tylko w normalnej postaci czy to jest bezpieczne?
oczywiscie ze nie. Juz chociazby przez sam fakt ze jest jawne.
Croos22
Coś nie tak...
Chodzi mi o to aby można było edytować imię ale jak mam to zrobić aby każdy zalogowany miał swoje dane?
Co do kodu to się chyba nie popisałem?Kawałek znalazłem w necie kawałem sam skrobnąłem.

index.php
  1. <?php
  2. $connection = @mysql_connect('', '', '')
  3. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  4. echo "Udało się połączyć z serwerem!<br />";
  5. $db = @mysql_select_db('', $connection)
  6. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  7. echo "Udało się połączyć z bazą dancych!";
  8.  
  9. $zapytanie = "SELECT * FROM `users`";
  10. $wynik = mysql_query($zapytanie);
  11. $ilosc = mysql_num_rows($wynik);
  12. for ($i=0; $i<$ilosc; $i++)
  13. {
  14. $see = mysql_fetch_array($wynik);
  15. $imie = $see['user_login'];
  16.  
  17. echo "<form method=\"post\" action=\"edit.php\">
  18. <input type=\"text\" name=\"user_login\" value=\"$imie\" />
  19. <input type=\"submit\" value=\"Zmien\" />";
  20. }
  21. ?>


edit.php

  1. <?php
  2. if ($_POST['user_login']) {
  3. $imie_zm = $_POST['user_login'];
  4. $imie_zm = htmlspecialchars("$imie_zm", ENT_QUOTES);
  5.  
  6. $imie_zm = mysql_real_escape_string($imie_zm);
  7. $zapytanie= "UPDATE `user_login` set imie='$imie_zm'";
  8. $wynik = mysql_query($zapytanie);
  9. echo "Imie zostało zmienione poprawnie.";
  10. }
  11. ?>



Ma edytować user_login tak dla przykładu.
  1. CREATE TABLE `users` (
  2. `user_id` INT NOT NULL AUTO_INCREMENT ,
  3. `user_login` VARCHAR( 30 ),
  4. `user_haslo` VARCHAR( 30 ),
  5. PRIMARY KEY ( `user_id` )
  6. );
krispak
Masz system logowania oparty na sesjach? Jesli tak to ustaw po poprawnym zalogowaniu w sesji id uzytkownika (np. $_SESSION['user_id']), a pozniej na tej podstawie robisz warunek Where gdzie users = $_SESSION['user_id'] i wyciagane sa z bazy dane uzytkownika zalogowanego.
Croos22
W jaki sposób mam to przypisać?
Tak:
  1. <?php
  2. session_register("zalogowany");
  3.  
  4. mysql_connect("pl", "", "");
  5.  
  6. if(!isset($_SESSION["zalogowany"]) || $_SESSION["zalogowany"]==0)$_SESSION["zalogowany"]=0 || $_SESSION["user_id"];
  7. else{
  8. $_SESSION["zalogowany"]=intval($_SESSION["zalogowany"]);
  9. mysql_query("select id from users where user_id=".$_SESSION["zalogowany"]." and user_haslo='".htmlspecialchars($_SESSION["haslo"])."'");
  10. }
  11.  
  12.  
  13. if($_POST["haslo"] && $_POST["login"]){
  14. $wynik=mysql_query("select * from users where user_login='".htmlspecialchars($_POST["login"])."' and user_haslo='".htmlspecialchars($_POST["haslo"])."'");
  15. if(!mysql_num_rows($wynik))Header("Location: index.php?err=1");
  16. else{
  17. $rekord=mysql_fetch_array($wynik);
  18. $_SESSION["zalogowany"]=$rekord["user_id"];
  19. $_SESSION["haslo"]=$rekord["user_haslo"];
  20. Header("Location: index.php");
  21. }
  22. }
  23.  
  24. if($_GET["ak"]=="wyl"){$_SESSION["zalogowany"]=0;$_SESSION["haslo"]="";Header("Location: index.php");}
  25.  
  26. function logowanie_okno($komunikat=""){
  27. if($komunikat)echo "<br>$komunikat<br>";
  28. echo "<form action='sesje.php' method=post>";
  29. echo "Login: <input name=login>";
  30. echo "<br>Hasło: <input type=password name=haslo>";
  31. echo "<br><input type=submit value='zaloguj'>";
  32. echo "</form>";
  33. echo "Nie masz jeszcze konta? <a href='rejestruj.php'>Zarejestruj się!</a>";
  34. }
  35. ?>
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.