sessione utente elimina chat

  • Creatore Discussione Creatore Discussione Imperor
  • Data di inizio Data di inizio

Imperor

Utente Attivo
25 Nov 2010
102
2
18
Roma
www.fcfclean.it
arieccomi :) sto tentando di eliminare 2 campi sql ho 2 tabelle una si chiama chats e l'altra conversations posto le tabelle tramite un form ho provato con questo codice ma non va :( chi può aiutarmi? Grazie
conversasion
Screenshot (48).png
Screenshot (49).png
chats
CREATE TABLE `chats` (
`chat_id` int(11) NOT NULL,
`from_id` int(11) NOT NULL,
`to_id` int(11) NOT NULL,
`message` text NOT NULL,
`opened` tinyint(1) NOT NULL DEFAULT 0,
`created_at` datetime NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- Table structure for table `conversations`
--

CREATE TABLE `conversations` (
`conversation_id` int(11) NOT NULL,
`user_1` int(11) NOT NULL,
`user_2` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Codice:
<?php

session_start();

#
if(isset($_POST['del'])){
 
    # database connection file
    include 'app/db.conn.php';

    #
    $user_id = $_SESSION['user_id'];
    $chat_id = $_POST['chat_id'];
    $conversation_id = $_POST['conversation_id'];

    $sql = "DELETE chats,conversations FROM chats
        INNER JOIN
    conversation_id ON conversations.ref = chats.chat_id
    WHERE
    chats.chat_id = 1;";
    $stmt= $conn->prepare($sql);
    $stmt->execute([$chat_id, $conversation_id]);


    header("Location: home.php");
    exit;
}

?>

 

<form action="delchat.php" method="post" enctype="multipart/form-data">
<input type="hidden" value="<?= $_SESSION['name'] ?>">
<input type="submit" name="del" value="Elimina chat">
</form>
 
Ultima modifica:
arieccomi :) sto tentando di eliminare 2 campi sql ho 2 tabelle una si chiama chats e l'altra conversations posto le tabelle tramite un form ho provato con questo codice ma non va :( chi può aiutarmi? Grazie
conversasion
Vedi l'allegato 8182Vedi l'allegato 8183chats
CREATE TABLE `chats` (
`chat_id` int(11) NOT NULL,
`from_id` int(11) NOT NULL,
`to_id` int(11) NOT NULL,
`message` text NOT NULL,
`opened` tinyint(1) NOT NULL DEFAULT 0,
`created_at` datetime NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- Table structure for table `conversations`
--

CREATE TABLE `conversations` (
`conversation_id` int(11) NOT NULL,
`user_1` int(11) NOT NULL,
`user_2` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Codice:
<?php

session_start();

#
if(isset($_POST['del'])){
 
    # database connection file
    include 'app/db.conn.php';

    #
    $user_id = $_SESSION['user_id'];
    $chat_id = $_POST['chat_id'];
    $conversation_id = $_POST['conversation_id'];

    $sql = "DELETE chats,conversations FROM chats
        INNER JOIN
    conversation_id ON conversations.ref = chats.chat_id
    WHERE
    chats.chat_id = 1;";
    $stmt= $conn->prepare($sql);
    $stmt->execute([$chat_id, $conversation_id]);


    header("Location: home.php");
    exit;
}

?>

 

<form action="delchat.php" method="post" enctype="multipart/form-data">
<input type="hidden" value="<?= $_SESSION['name'] ?>">
<input type="submit" name="del" value="Elimina chat">
</form>
Ciao @Imperor

Perdonami ma la tabella "conversations" a cosa serve le stesse informazioni le hai nella tabella "chats".
Non capisco bene cosa vuoi eliminare ma la variabile di sessione "$_SESSION['name']" non è stata mai creata o valorizzata.

Fammi sapere
 
  • Like
Reactions: Imperor
Ciao @Imperor

Perdonami ma la tabella "conversations" a cosa serve le stesse informazioni le hai nella tabella "chats".
Non capisco bene cosa vuoi eliminare ma la variabile di sessione "$_SESSION['name']" non è stata mai creata o valorizzata.

Fammi sapere
ciao la chat l'ho scaricata su YouTube e l'ho inserita nel sito che ho creato la chat è privata tra utente 1 e utente 2 il sito che ho creato è per l'amministratore del condominio funziona tutto reset password registrazione e login ho fatto anche un'area admin dove admin può modificare l'utente iscritto o eliminarlo l'iscritto può scaricare il doc pdf o word nella sua area privata inviato da l'amministratore e l'iscritto può inviare il doc a l'amministratore x fare i test ho aperto un dominio gratuito su netsons il link è
http://amministrazione.netsons.org/ se vuoi posso darti i dati di accesso sia da admin sia da utente la chat ha 4 tabelle :
admin chats conversations users la tabella conversation visualizza la conversazione nella home.php che sarebbe l'area privata de l'utente iscritto dimenticavo il modulo contatti ha l'antispam ho creato anche una pagina profilo.php dove l'iscritto può modificare la sua mail le foto sono dei screenshot :D mi manca solo l'opzione elimina chat ma credo che oltre ha elininare la tabella chats bisogna eliminare anche la tabella conversations e non riesco a fare ciò non riesco a capire dove sbaglio l'iscritto può cercare un'altro utente cliccando sul nome si apre la chat
 

Allegati

  • Screenshot (72).png
    Screenshot (72).png
    114 KB · Visite: 118
  • Screenshot (73).png
    Screenshot (73).png
    174,5 KB · Visite: 108
Ultima modifica:
Allora ti basta eseguire due query una per tabella dove $id_user è l'id dell'utente che vuoi eliminare

SQL:
DELETE FROM `chats` WHERE `charts`.`from_id` = '$id_user' OR `charts`.`to_id` = '$id_user'
DELETE FROM `conversations` WHERE `conversations`.`user_1` = '$id_user' OR `conversations`.`user_2` = '$id_user'
 
  • Like
Reactions: Imperor
Di nulla fammi sapere se hai problemi
Buongiorno sto provando a eliminare la chat dunque:
Codice:
questo è il file chat.php dove l'utente può chattare in privato con un altro utente

<?php
                     if (!empty($chats)) {
                     foreach($chats as $chat){
                         if($chat['from_id'] == $_SESSION['user_id'])
                         { ?>
                        <p class="rtext align-self-end
                                border rounded p-2 mb-1">
                           <?=$chat['message']?>
                            <small class="d-block">
                                <?=$chat['create_datetime']?>
                            </small>       
                        </p>
                    <?php }else{ ?>
                    <p class="ltext border
                             rounded p-2 mb-1">
                        <?=$chat['message']?>
                        <small class="d-block">
                            <?=$chat['create_datetime']?>
                        </small>       
                    </p>
                    <?php }
                     } 
                }else{ ?>
               <div class="btn btn-light
                                text-center">
                   <i class="fa fa-comments d-block fs-big"></i>
                   Ancora nessun messaggio, inizia la conversazione
               </div>
               <?php } ?>
           </div>
          </div>
           <div class="input-group mb-3">
                  <textarea cols="3"
                            id="message"
                            class="form-control"></textarea>
                  <button class="btn btn-primary"
                          id="sendBtn">
                        <i class="fa fa-paper-plane"></i>
                  </button>
                              
                                </div>
                             <a href="delchat.php<?=$chat['message']?><?=$chat['to_id']?>" class="btn btn-danger btn-       sm">Delete</a>
</div>
                --------------------------------------------------
                questo è il file delchat.php  ma non funziona sicuramente sbaglio qualcosa
              
              
<?php

include 'app/db.conn.php';
if (isset($_POST['from_id'])){
   
    if (isset($_SESSION['user_id']
   
$user_id=$_POST['user_id'];
       
mysqli_query($conn,"DELETE FROM `chats` WHERE `message`.`from_id` = '$user_id' OR `message`.`to_id` = '$user_id'");
mysqli_query($conn,"DELETE FROM `conversations` WHERE `conversation_id`.`user_1` = '$user_id' OR `conversation_id`.`user_2` = '$user_id'");
       
}

?>
 
Ultima modifica:
Ok allora vuoi eliminare tutti i record inviati da un utente X?
Ho capito bene?
ciao sono riuscito a eliminare sia la chat e la conversazione inserendo dei bottoni funziona alla grande ma non capisco il perché se l'utente a invia un messaggio utente b il messaggio lo può eliminare solo l'utente a ho fatto cosi
Codice:
                            </div>
                                <a href="delchat.php?to_id=<?=$chatWith['user_id']?>" class="btn btn-danger"><i class="fa fa-trash-o"></i> Elimina messaggi</a>       
                            </div>
                            ------------------
                            delchat.php
                            
                            <?php

  
                            include 'app/db.conn.php';


                            $to_id = $_GET['to_id'];
                            $conn->query("delete from chats where to_id = '$to_id'");

                        ?>
                        <?php
                        echo "<script> location.href='home.php'; </script>";
                        exit;
                         ?>
Codice:
 
ciao sono riuscito a eliminare sia la chat e la conversazione inserendo dei bottoni funziona alla grande ma non capisco il perché se l'utente a invia un messaggio utente b il messaggio lo può eliminare solo l'utente a ho fatto cosi
Codice:
                            </div>
                                <a href="delchat.php?to_id=<?=$chatWith['user_id']?>" class="btn btn-danger"><i class="fa fa-trash-o"></i> Elimina messaggi</a>      
                            </div>
                            ------------------
                            delchat.php
                           
                            <?php

 
                            include 'app/db.conn.php';


                            $to_id = $_GET['to_id'];
                            $conn->query("delete from chats where to_id = '$to_id'");

                        ?>
                        <?php
                        echo "<script> location.href='home.php'; </script>";
                        exit;
                         ?>
Codice:
risolto mi ero dimenticato della sessione utente :)
 

Discussioni simili