PHP - hola necesito un poco de ayuda con ajax y al mandar por GET

 
Vista:
sin imagen de perfil
Val: 15
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

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
error

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 157
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

hola necesito un poco de ayuda con ajax y al mandar por GET

Publicado por Andres (67 intervenciones) el 14/03/2020 04:19:41
En el archivo chat.php, línea 10. Al verlo usando el inspector de código del navegador, ¿si s aparece el id del usuario que se almacena en $usuario?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 15
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

hola necesito un poco de ayuda con ajax y al mandar por GET

Publicado por Manuel (8 intervenciones) el 14/03/2020 05:16:14
Sin-titulo

si se almacena como podras ver el la imagen hice un acho a $usuario y tambien en la barra de direcciones se muestra es lo que no entiendo por que sucede, si no uso ajax si funciona el chat pero para ver la actualizcion de el chat debo estar actualizando la pagina, lo que note es que en la consola no muestra el id

esto es lo que aparece en la consola

chats.php?usuario=13&leido=1:1 A cookie associated with a cross-site resource at http://fontawesome.com/ was set without the `SameSite` attribute. It has been blocked, as Chrome now only delivers cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.


en conclusion se que no esta mandando el dato pero no se por que
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar