POsiadam plik index.php w ktorym posiadam diva. Do diva ładuję plik editprofile.php poprzez menu:
Teraz chcę po wpisaniu danych aktualizować do bazy:
<head> <script type="text/javascript"> jQuery(document).ready(function() { $("#guzik").click(function() { var website = $('input[name=website]').val(); var 'from' = $('input[name=from]').val(); var new_password = $('input[name=new_password]').val(); var new_password2 = $('input[name=new_password2]').val(); var email = $('input[name=new_email]').val(); var password = $('input[name=password]').val(); $.ajax({ url: "php1.php", type: "POST", data: "indeks="+website,"indeks="+'from',"indeks="+new_password,"indeks="+new_password2,"indeks="+email,"indeks="+password, success: function(msg) { $("#kontener").text(msg); } }); }); }); </script> </head>
// wyświetlamy prosty formularz echo '<form action=""> <p> Login:<br> <input type="text" value="'.$user_data['user_name'].'" disabled="true"> </p> <p> Strona WWW:<br> <input type="text" value="'.$user_data['user_website'].'" name="website"> </p> <p> Skąd:<br> <input type="text" value="'.$user_data['user_from'].'" name="from"> </p> <p> Nowe hasło (pozostaw puste jeśli nie chcesz zmieniać):<br> <input type="password" value="" name="new_password" autocomplete="off"> </p> <p> Powtórz nowe hasło:<br> <input type="password" value="" name="new_password2" autocomplete="off"> </p> <p> E-mail:<br> <input type="text" value="'.$user_data['user_email'].'" name="email"> </p> <p> Aktualne hasło (wymagane przy zmianie emaila lub hasła):<br> <input type="password" value="" name="password" autocomplete="off"> </p> <p> <input type="submit" id="guzik" value="Edytuj profil"> </p> </form> <div id="kontener"></div>';
Plik php1.php
include 'config.php'; db_connect(); check_login(); $user_data = get_user_data(); // jeśli zostanie naciśnięty przycisk "Edytuj profil" // filtrujemy dane $_POST['website'] = clear($_POST['website']); $_POST['from'] = clear($_POST['from']); $_POST['new_password'] = clear($_POST['new_password']); $_POST['new_password2'] = clear($_POST['new_password2']); $_POST['password'] = clear($_POST['password']); $_POST['email'] = clear($_POST['email']); // zmienne tymczasowe na treść błędu $err = ''; // i zapytanie sql $up2 = ''; // jeśli zostanie podane nowe hasło lub inny email // sprawdzamy czy zostało podane aktualne hasło $err = '<p>Jeśli chcesz zmienić hasło lub adres email musisz podać aktualne hasło.</p>'; // jeśli zostało podane to sprawdzamy czy jest poprawne } elseif(codepass($_POST['password']) != $user_data['user_password']) { $err = '<p>Podane aktualne hasło jest nieprawidłowe.</p>'; } else { // jeśli wszystko jest ok... // sprawdzamy czy user chce zmienić hasło // jeśli podane dwa hasła są różne to wyświetlamy błąd if($_POST['new_password'] != $_POST['new_password2']) { $err = '<p>Podane hasła nie są takie same.</p>'; // jeśli wszystko jest ok, dopisujemy do zmiennej tymczasowej zapytanie do zaktualizowania hasła } else { $up2.= ", `user_password` = '".codepass($_POST['new_password'])."'"; } } // sprawdzamy czy user chce zmienić email (czy ten podany jest różny od aktualnego) if($_POST['email'] != $user_data['user_email']) { // sprawdzamy czy podany email jest prawidłowy if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) { $err = '<p>Podany email jest nieprawidłowy.</p>'; } else { // sprawdzamy czy istnieje taki email w bazie przy czym omijamy usera który jest zalogowany $result = mysql_query("SELECT Count(user_id) FROM `users` WHERE `user_id` != '{$user_data['user_id']}' AND `user_email` = '{$_POST['email']}'"); if($row[0] > 0) { $err = '<p>Już istnieje użytkownik z takim loginem lub adresem e-mail.</p>'; } else { // jeśli wszystko jest ok to dopisujemy zapytanie do zaktualizowania emaila $up2.= ", `user_email` = '{$_POST['email']}'"; } } } } } // jeśli są jakieś błędy z powyższych działań to je wyświetlamy } else { // jeśli nie ma błędów to wykonujemy zapytanie dopisując te na aktualizacje hasła oraz emaila - $up2 $result = mysql_query("UPDATE `users` SET `user_website` = '{$_POST['website']}', `user_from` = '{$_POST['from']}'{$up2} WHERE `user_id` = '{$user_data['user_id']}'"); if($result) { // jeśli zapytanie się wykonało to wyświetlamy komunikat... // i pobieramy od nowa dane usera aby w poniższym formularze się one zaktualizowały $user_data = get_user_data(); } else { // jeśli zapytanie będzie błędne to wyświetlamy treść errora } } } ?>
Jedyne co się dzieje to odświeża mi się strona. Jak to naprawić ?