我正在尝试通过将用户用户名/ id传递给模式进行识别来将消息表单创建为引导模式。
这是一个html / php代码,它列出了注册用户。
<div class="col-lg-4 col-md-4 col-sm-4 mb">
<div class="content" style="margin-bottom:5px;">
<ul class=" extended inbox">
<div class="notify-arrow notify-arrow-green"></div>
<li>
<p class="green">People you can follow</p>
</li>
<?php
//Show all users
foreach ($users as $row) {
?>
<li style="padding:3px; margin-bottom:3px; width:100%; background:#CF9;">
<a href="index.html#">
<span class="photo" style="float:left; padding:4px;"><img alt="avatar" src="uploads/<?php echo $row['pix']; ?>" width="50" height="50"></span>
<span class="subject" style="float:left;">
<span class="from">
<?php
echo '<a href="#">'.$row['user_lastname']. ' '.$row['user_firstname'].'</a>';
?>
<a class="" data-toggle="modal" data-target="#profile_pic_modal"><span class="glyphicon glyphicon-comment"></span></a>
</span><br>
<span class="time">
<?php
echo (($row['receiver'] === $row['user_id'] && $row['sender'] === $user_id)
? '<button class="btn follow following " rel="'.$row['user_id'].'">Following</button>'
:' <button class="btn follow" rel="'.$row['user_id'].'">
<i class="fa fa-user-plus alert-info"></i> Follow </button>');
?>
</span>
</span>
</a>
</li><br>
<?php
}
?>
</ul>
</div>
当用户点击其他用户的消息图标时,他/她应该能够发送消息。有人可以告诉我如何使用php / mysqli和ajax
这样做答案 0 :(得分:0)
用户名(登录?)和已登录用户的ID等信息应由Session处理,不像您有充分的理由不这样做。当用户进入系统时,您已经加载了一堆数据以确保它是有效的,因此实际的方法是不检索登录用户的所有数据,这些数据当前正在使用您的系统,它始终是好的使用SESSIONs来处理它(想象一下大量用户使用你的系统,并且你需要将每个用户检索到系统内的每次点击和例程)。
以实际的方式,只需打开您的模态并使用已启动的会话验证您的例程,并确定用户信息。
为了澄清OTHERS用户数据(当前用户点击发送消息所列出的数据),您可以使用以下方法:
您的HTML:
<a href="#" data-userid='<?= $row['user_id']; ?>'>
<span class="photo" style="float:left; padding:4px;"><img alt="avatar" src="uploads/<?php echo $row['pix']; ?>" width="50" height="50"></span>
<span class="subject" style="float:left;">
<span class="from">
<?php
echo '<a href="#">'.$row['user_lastname']. ' '.$row['user_firstname'].'</a>';
?>
<a class="" data-toggle="modal" data-target="#profile_pic_modal"><span class="glyphicon glyphicon-comment"></span></a>
</span><br>
<span class="time">
<?php
echo (($row['receiver'] === $row['user_id'] && $row['sender'] === $user_id)
? '<button class="btn follow following " rel="'.$row['user_id'].'">Following</button>'
:' <button class="btn follow" rel="'.$row['user_id'].'">
<i class="fa fa-user-plus alert-info"></i> Follow </button>');
?>
</span>
</span>
</a>
#Modal (Assuming you're using v4)
<div class="modal hide fade" id="user-message">
<div class="modal-header">
<button class="close" data-dismiss="modal">×</button>
<h3 class="hdrtitle">Hey <?= $_SESSION['login']; ?>, Send message to <span></span></h3>
</div>
<div class="modal-body">
<label for='msg'>Message:</label>
<textarea id='msg' rows="4" cols="50" name='msg'></textarea>
<button id='send-msg'>Send Msg</button>
</div>
</div>
然后显示:
$('a').on('click', function(){
//retrieve all other user data
$.get( "yourcode.php?userid=" + $(this).data('userid'), function( data ) {
$('.modal h3 span').html(data.username);
//FILL YOUR MODAL AS YOU WISH
$('.modal').modal('toggle');
});
});
但最好的方法是在局部视图中单击并安装模态,使已安装的HTML包含您想要触发模态例程的所有信息,从而避免用户在首次访问时并不真正需要的html结构页面。
$('a').on('click', function(){
//retrieve all other user data
$.get( "partialmodal-sendmsg.php?userid=" + $(this).data('userid'), function( data ) {
$('body').append(data);
//FILL YOUR MODAL AS YOU WISH
$('.modal').modal('toggle');
});
});
有些人必须阅读:
When should I use session variables instead of cookies?
http://cse.unl.edu/~riedesel/pub/cse413/Project%202/SESSION.pdf
答案 1 :(得分:0)
首先添加data-(anyName)
标记,如下所示
<?php $ID = 'The persons Username'; ?>
<a href='#' class='btn btn-warning btn-xs open-AddBookDialog' data-id='$ID' data-toggle='modal'>My Modal</a>
然后在模态正文中放入一个输入标记,其ID为example(MyID)
<input type="text" id="MyID">
然后使用下面的代码(jquery),这会将data-id的值传递给modal show上的输入标记。
$(document).on("click", ".open-AddBookDialog", function () {
var myId = $(this).data('id');
$(".modal-body #bMyID").val(myId);
$('#myModal').modal('show');
});