hola necesito un poco de ayuda con ajax y al mandar por GET
Publicado por Manuel (8 intervenciones) el 13/03/2020 23:13:06
estoy haciendo un chat con ajax php y mysql y tengo problemas para mandarle una variable por GET

aqui el codigo :
aqui consulto y mando la variable por get inicio.php
aca esta my ajax chat.php
y finalmente la consulta que deberia mostrar ajax chats.php
no encuento la manera de mandar de nuevo por get el id de usuario si se manda de inicio.php a chat.php mediate url pero ya no pudo mandarlo de nuevo por ajax de chat.php a chats.php para que me muestre en tiempo real el chat ayuda porfavor!!!

aqui el codigo :
aqui consulto y mando la variable por get inicio.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
if($_SESSION["permiso"] == "Administrador"){
$usuario = $_SESSION["nombre"];
$sql= "SELECT * FROM usuarios WHERE nombre != '$usuario'";
$query = $con->query($sql); }
if($_SESSION["permiso"] == "Vendedor(a)"){
$usuario = $_SESSION["nombre"];
$admin = 'Administrador';
$sql= "SELECT * FROM usuarios WHERE nombre != '$usuario' AND permiso = '$admin' ";
$query = $con->query($sql); }
$id = $_SESSION["id"];
$consulta=$con->query("SELECT * FROM chats WHERE leido != 1 AND para = $id");
$contar=$consulta->num_rows;
?>
<?php if($query->num_rows>0):?>
<li class="dropdown messages-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-envelope-o"></i>
<?php
if($contar > 0){
echo "<span class='label label-success'>$contar</span>";
}else{
}
?>
</a>
<ul class="dropdown-menu">
<li class="header">Usted tiene <?php echo $contar; ?> mensajes sin leer.</li>
<li>
<ul class="menu">
<?php while ($r=$query->fetch_array()):?>
<li>
<a href="../vistas/chat.php?usuario=<?php echo $r["id"];?>&leido=1">
<div class="pull-left">
<img src="<?php echo $upload_dir.$r["imagen"];?>" class="img-circle" alt="User Image"></div>
<h4><b><?php echo $r["nombre"]; ?> <?php echo $r["apellido"]; ?>
<small><i class="fas fa-comment-dots" style=" color: Green;"></i></small>
</b></h4>
</a>
aca esta my ajax chat.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php $usuario = $_GET['usuario'];?>
<script type="text/javascript">
function ajax(){
var req = new XMLHttpRequest({
"url": "chats.php",
"method": "get",
"data": "$usuario",
"onSuccess": function(respuesta){
$("chat").set("html", respuesta);
}
});
req.onreadystatechange = function(){
if (req.readyState == 4 && req.status == 200) {
document.getElementById('chat').innerHTML = req.responseText;
}
}
req.open('GET', 'chats.php', true);
req.send();
}
//linea que hace que se refreseque la pagina cada segundo
setInterval(function(){ajax();}, 1000);
</script>
<!-- Default box -->
<!-- DIRECT CHAT -->
<div class="box box-warning direct-chat direct-chat-warning">
<div class="box-header with-border">
<a href="../vistas/inicio.php"><i class="fas fa-arrow-circle-left"></i></a>
<div class="box-tools pull-right">
</div>
</div>
<!-- /.box-header -->
<div class="box-body fff">
<!-- Conversations are loaded here -->
<div class="direct-chat-messages" style="overflow: scroll; height: 400px;">
<div id="chat"></div>
</div>
y finalmente la consulta que deberia mostrar ajax chats.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
session_start();
include '../fracmentos/conexion.php';
$user = ($_GET['usuario']);
$sess = $_SESSION['id'];
$chatssql = ("SELECT * FROM chats WHERE de = '$user' AND para = '$sess' OR de = '$sess' AND para = '$user' order by id_cha desc");
$chats = mysqli_query($con, $chatssql);
while($ch = mysqli_fetch_array($chats)) {
if($ch['de'] == $user) {$var = $user;} else {$var = $sess;}
$useresql = ("SELECT * FROM usuarios WHERE id = '$var'");
$usere = mysqli_query($con, $useresql);
$us = mysqli_fetch_array($usere);
?>
<?php if ($ch['de'] == $user) { ?>
<!-- Message. Default to the left -->
<div class="direct-chat-msg">
<div class="direct-chat-info clearfix">
<span class="direct-chat-name pull-left">A<?php echo $us['usuario']; ?></span>
<span class="direct-chat-timestamp pull-right"><?php echo $ch['fecha']; ?></span>
</div>
<!-- /.direct-chat-info -->
<img class="direct-chat-img" src="../dist/img/usuarios/<?php echo $us['imagen']; ?>" alt="message user image">
<!-- /.direct-chat-img -->
<div class="direct-chat-text">
<?php echo $ch['mensaje']; ?>
</div>
<!-- /.direct-chat-text -->
</div>
<!-- /.direct-chat-msg -->
<?php } elseif ($ch['para'] == $user) { ?>
<!-- Message to the right -->
<div class="direct-chat-msg right">
<div class="direct-chat-info clearfix">
<span class="direct-chat-name pull-right"><?php echo $us['usuario']; ?></span>
<span class="direct-chat-timestamp pull-left"><?php echo $ch['fecha']; ?></span>
</div>
<!-- /.direct-chat-info -->
<img class="direct-chat-img" src="../dist/img/usuarios/<?php echo $us['imagen']; ?>" alt="message user image">
<!-- /.direct-chat-img -->
<div class="direct-chat-text">
<?php echo $ch['mensaje']; ?>
</div>
<!-- /.direct-chat-text -->
</div>
<!-- /.direct-chat-msg -->
<?php } ?>
<?php } ?>
no encuento la manera de mandar de nuevo por get el id de usuario si se manda de inicio.php a chat.php mediate url pero ya no pudo mandarlo de nuevo por ajax de chat.php a chats.php para que me muestre en tiempo real el chat ayuda porfavor!!!
Valora esta pregunta


0