Benim özel forumlarda bir kullanıcı adı tıkladığınızda küçük bir pencere açılır yapmak için jQuery ile birlikte Ajax kullanmaya çalışıyorum.
Script için benim geçerli kod:
$(document).ready(function () {
$('#profile_link').click(function () {
$.ajax({
type: 'POST',
url: 'viewuser.php',
dataType: 'html',
contentType: 'text/html',
data: {
username: $('#username').val()
},
success: function (html) {
$('#message').addClass('success');
$('#message').hide().append(html).fadeIn();
}
});
return false;
});
});
Ben html () kullanarak çalıştı, ama ben bile Firebug tepki görebiliyordu bile, tepki göstermek vermedi gibi, hiç işe yaramadı.
İşte viewuser.php için kod:
<?php
$docRoot = getenv("DOCUMENT_ROOT");
require_once $docRoot.'/settings.php';
loginMySQL();
selectDatabase();
$user = $_POST['username'];
$sql = mysql_query ("SELECT `UserName`,`Avatar`,`Biography`,`Birthday`,`UserLevel`,`BanStatus` FROM users WHERE `UserName` = '$user'");
$UserInfo = mysql_fetch_array($sql);
$UserAvatar = $UserInfo['Avatar'];
$UserBio = $UserInfo['Biography'];
$UserBirth = $UserInfo['Birthday'];
$UserLevel = $UserInfo['UserLevel'];
$BanStatus = $UserInfo['BanStatus'];
// additional code
...
?>
<div class="nav_space">
</div>
// additional code
<div class="user_profile_wrapper">
Hello
<?=$BanStatus;?>
<i>Username / Power level:</i>
<div class="user_profile_name" <?=$LevelColour;?>>
<?=$user;?> <i><?=$UserLevel;?></i>
</div>
<i>User avatar:</i>
<div class="user_profile_avatar">
<?
if (strlen($UserAvatar) > 1) {
?>
<img/ src="<?=$UserAvatar;?>" alt="" width="100" />
<?
}
?>
</div>
<i>Biography:</i><br />
<div class="user_profile_bio">
<?=$UserBio;?>
</div>
<i>Birthdate:</i>
<div class="user_profile_birthdate">
<?=$UserBirth;?>
</div>
<?=$AUserLevel;?>
</div>
<div class="nav_space">
</div>
Ve sorun kodu döndüğünde, aslında değişkenler ($ BanStatus, $ userlevel şey) herhangi göstermez vardır.
Herhangi bir fikir?