Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Nie wysyla zapytan do bazy
Forum PHP.pl > Forum > Przedszkole
andy1995
Witam. Mam od wczoraj taki problem, moj skrypt nie wysyla do bazy wszystkich zapytan. Pobiera dane ale od wczoraj nie da sie nadpisac,dodac nowych.

  1. require "db_connect.php";
  2. connection();
  3. $email = $_POST['email'];
  4. $stopa = "Recovery - Advanced Hacking System";
  5. $randompass = rand(10000, 90000);
  6. $lostpassword = "UPDATE `logowanie` SET `haslo`='.$randompass.' WHERE `email`=".$_POST['email']."";
  7. $getnamelosspass = "SELECT `login` FROM `logowanie` WHERE `email`=".$_POST['email']."";
  8. $lostpass = mysql_query($lostpassword);
  9. $getnameloss = mysql_query($getnamelosspass);
  10. $odbiorca = $_POST['email'];
  11. $temat = "Lost password - new password";
  12. $wysylane = "Hello! You requested for new password then there you are!\n";
  13. $wysylane .= "Your login: ".$getnameloss."\n";
  14. $wysylane .= "Your new password: ".$randompass."\n\n";
  15. $wysylane .= "Regards,\nandy" ;
  16. if(isset($_SESSION['zalogowany'])) {
  17. sleep(0.5);
  18. header("Location: gethacked.php");
  19. }
  20. else
  21. {
  22. if(isset($_POST['wyslij'])) {
  23. if(($email)) {
  24. if(mysql_num_rows(mysql_query("SELECT email FROM logowanie WHERE email = '".$_POST['email']."' ")) > 0) {
  25. if(isset($lostpass))
  26. mail($odbiorca, $temat, $wysylane, $stopa);


Pozdrawiam wink.gif)
redeemer
Pomijając błędy SQL injection to jedyne nadpisanie które tu widzę to
  1. ...
  2. $lostpassword = "UPDATE `logowanie` SET `haslo`='.$randompass.' WHERE `email`=".$_POST['email']."";
  3. $lostpass = mysql_query($lostpassword);
  4. ...
Każde hasło oprócz losowej liczby będzie zawierało w Twoim wypadku również dwie kropki - na początku i na końcu. Dodatkowo w zapytaniu stringi (łańcuchy tekstowe) umieszczamy między apostrofami. Zrobiłeś tak ze zmienną $randompass, ale o $_POST['email'] już zapomniałeś smile.gif
Całośc (bez kropek w haśle) może wyglądać tak:
  1. $lostpassword = "UPDATE `logowanie` SET `haslo`='{$randompass}' WHERE `email`='{$_POST['email']}'";
Zaraz po tym masz drugie zapytanie gdzie też brakuje apostrofów.

PS. Do sleepowania mniej niż sekundę służy funkcja usleep.
PS 2. Na początku robisz $email = $_POST['email'], chwilę później $odbiorca = $_POST['email'], a w zapytaniach i tak używasz $_POST['email'] wink.gif
andy1995
Dziekowa, dziala smile.gif) Tak juz mam, zjebany leb to zjebany leb ;D Usunalem duplicaty juz.

Nie chce zakladac nowego tematu a mam maly problem.

Moze ktos to skorygowac? O ile jest jakis blad.

  1. if(isset($_POST['send'])) {
  2. if({$_POST['oldpass]}) == ({$get['haslo']}) {
  3. if({$_POST['newpass']}) == ({$_POST['newpass1']}) {
  4. if({$_POST['oldpass']}) && ({$_POST['newpass']}) && ({$_POST['newpass1']}) {
  5. $changepass = @mysql_query("UPDATE logowanie SET haslo='{$_POST['newpass']}' WHERE login='{$get['login']}'");
  6. $changepass;
  7. else
  8. echo "Wypelnij wszystkie pola.";
  9. }
  10. else
  11. echo "Hasla sie od siebie roznia";
  12. }
  13. else
  14. echo "Stare haslo nie jest poprawne";
  15. }
  16. else
  17. echo "Wypelnij wszystkie pola.";
  18. }


Dreczy mnie taki blad syntax error, unexpected '{' in
Damonsson
Forum nie parser. Zamykam wink.gif
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.