Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem z update
jaca121212
post
Post #1





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


Tak jak w temacie.
Problem polega na tym że jak ktoś wpiszę np. 123 lub cokolwiek to i tak potwierdzi mu konto.
Dodam że kod aktywacyjny przychodzi na maila.
Chce przerobić ten skrypt tak aby sprawdzało mi jaki kod podał użytkownik i czy jest zgodny z kodem w bazie.
Ewentualnie myślałem o przerobieniu tego kodu tak aby użytkownik najpierw wpisał ten kod potwierdzający a następnie mógł by się już normalnie zalogował na swoje utworzone konto. Tylko nie wiem jak zrobić właśnie porównanie czy kod w bazie i kod wpisany zgadzają się ze sobą .
  1. <form method="POST">
  2. <p class="nazwa"><i class="icon-person">Potwiedzenie rejestracji.</i></br></p>
  3. <input type="text" class="btn_input" name="potwierdz" placeholder="Kod potwierdzający" />
  4. <input type="submit" class="btn" name="pot" value="Potwierdź!"/>
  5. </form>
  6. <?php
  7. require_once "polaczenie.php";
  8. $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
  9. if ($polaczenie->connect_errno != 0) {
  10. echo "Error: " . $polaczenie->connect_errno . "Opis: " . $polaczenie->connect_error;
  11. die();
  12. }
  13. $potwierdzenie=$_post['potwierdz'];
  14. if(isset($_POST['pot']) && !empty($_POST['potwierdz']))
  15. {
  16. $result=$polaczenie->query("Select kod_aktywacyjny from uzytkownicy where kod_aktywacyjny='{$_post['potwierdz']}'");
  17. $wiersz = mysqli_fetch_array($result);
  18.  
  19. if($wiersz['kod_aktywacyjny'] == $_post['potwierdz']){
  20. $aktualizacja = $polaczenie->query(sprintf("UPDATE uzytkownicy SET aktywacja='aktywne' where id=(%d)",
  21. $_SESSION['id']));
  22. }
  23. echo"Konto aktywne";
  24. echo $wiersz['kod_aktywacyjny'];
  25. }else{
  26. echo"Nieaktywne konto";
  27. }
  28. ?>

Ktoś nakieruje mnie jak to zrobić.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jaca121212
post
Post #2





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


Zrobiłem to w ten sposób
ale nie zmienia się nic w bazie
  1. <?php
  2. require_once "polaczenie.php";
  3. $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
  4. if ($polaczenie->connect_errno != 0) {
  5. echo "Error: " . $polaczenie->connect_errno . "Opis: " . $polaczenie->connect_error;
  6. die();
  7. }
  8. $nick=$_GET['user'];
  9. $kod_aktywacyjny=$_GET['kod_aktywacyjny'];
  10. $resultat=$polaczenie->query("SELECT * FROM `uzytkownicy` WHERE `user`='$nick'");
  11. while($wynik=mysqli_fetch_assoc($resultat))
  12. {
  13. $pobierz_dane = $wynik['aktywacja'];
  14. }if($kod_aktywacyjny == $pobierz_dane)
  15. {
  16. $row=$polaczenie->query("UPDATE `uzytkownicy` SET `kod_aktywacyjny`='0'");
  17. $row=$polaczenie->query("UPDATE `uzytkownicy` SET `aktywacja`='1'");
  18. echo"Konto zostało aktywowane. Zaloguj się.";
  19. }else
  20. {
  21. echo "konto nie aktywowane";
  22. }
  23. ?>

ten kod jest w pliku potwierdzenie.php
a przy rejestracji wysyłam w ten sposób
  1. http://www.darmowememy.esy.es/nowywyglad/potwierdzenie.php?user=$nick&kod_aktywacyjny=$kod_aktywacyjny

gdzie zmiene
$kod='1234';
$kod_aktywacyjny=md5(sha1($kod));
$nick = $_POST['nick'];
zdjęcie z tabeli wygląda tak
(IMG:http://iv.pl/images/36985716339778748641.png)
Gdzie robię w tym kodzie błąd

Ten post edytował jaca121212 18.02.2016, 12:08:01
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 17.10.2025 - 16:55