Witam. Jestem w trakcie tworzenia strony, na której nie bd odświeżania i ładowania stron. Stoję ja edycji profilu.
POsiadam plik index.php w ktorym posiadam diva. Do diva ładuję plik editprofile.php poprzez menu:
li>
<a href="#" onClick="callAHAH('profile.php', 'tresc', 'Trwa ładowanie zawartości ...')"><span>Profil
</span></a></li>
Teraz chcę po wpisaniu danych aktualizować do bazy:
<script type="text/javascript" src="jquery-1.7.1.min.js"></script> <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);
}
});
});
});
// wyświetlamy prosty formularz
<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"
if(isset($_POST['email'])) { // 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
if(!empty($_POST['new_password']) || $_POST['email'] != $user_data['user_email']) { // sprawdzamy czy zostało podane aktualne hasło
if(empty($_POST['password'])) { $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
if(!empty($_POST['new_password'])) { // 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...
echo '<p>Twój profil został poprawnie zaktualizowany.</p>'; // 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ć ?