sessione utente elimina chat

Imperor

Utente Attivo
25 Nov 2010
90
2
8
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:

alankanz

Lupacchiotto
Membro dello Staff
MOD
18 Giu 2014
147
5
18
Roma
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

Imperor

Utente Attivo
25 Nov 2010
90
2
8
Roma
www.fcfclean.it
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: 53
  • Screenshot (73).png
    Screenshot (73).png
    174,5 KB · Visite: 50
Ultima modifica:

alankanz

Lupacchiotto
Membro dello Staff
MOD
18 Giu 2014
147
5
18
Roma
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

Imperor

Utente Attivo
25 Nov 2010
90
2
8
Roma
www.fcfclean.it
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:

Imperor

Utente Attivo
25 Nov 2010
90
2
8
Roma
www.fcfclean.it
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:
 

Imperor

Utente Attivo
25 Nov 2010
90
2
8
Roma
www.fcfclean.it
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
Autore Titolo Forum Risposte Data
I carica foto profilo sessione utente PHP 2
zighy php sessione per singolo utente PHP 7
F Sessione Utente con Database PHP 4
R Creare Sessione per ogni utente PHP 2
D Sessione e nome utente PHP 2
MarcoGrazia Riprendere una sessione interrotta PHP 0
I sessione username PHP 1
I sessione username scarica file PHP 1
I aggiungere la sessione PHP 8
L Sessione e array per utenti PHP 0
N Variabile di sessione è un array PHP7 PHP 3
R probema con la sessione PHP 0
S Utilizzo variabili di sessione tra PC e server PHP 0
M [PHP] Passare variabile di sessione con metodo GET PHP 10
R SESSIONE PERSISTENTE Programmazione 0
L [PHP] Suggerimento su sessione PHP 6
Cosina [PHP] Chiudere sessione quando la pagina viene riaggiornata PHP 4
cattivic72 [PHP] Durata sessione PHP 1
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
I [PHP] login con sessione singola PHP 1
otto9due [PHP] id di sessione "session_id()" a cosa serve e come utilizzarlo? PHP 4
K [PHP] Unica sessione login forum/sito PHP 1
L [PHP] Sessione tra sottodominio PHP 1
M [PHP] Sessione Login PHP 15
gandalf1959 [PHP] variabile di sessione si azzera ricaricando la pagina? PHP 3
Emix Sessione strana... PHP 16
P dati da tenere in sessione PHP 2
M durata sessione php PHP 1
L Sessione php PHP 6
G Uso variabili di sessione PHP 4
N warning su sessione PHP 2
Emix Problema sessione PHP 6
M Problemi col settare variabile di sessione PHP 3
S sessione di login che non dura nullaaa Supporto Mr.Webmaster 0
otto9due Eeliminare tabella db a sessione scaduta.. Possibile? PHP 0
L eliminare un prodotto dal carrello tramite l'id della sessione PHP 1
T Passare dati (ID di sessione) tra le varie activity di un app android Sviluppo app per Android 1
O Mantenere una sessione PHP 20
E file di sessione non si aggiornano PHP 5
A estrarre il ciclo while in una sessione e spedire l'array in un db PHP 2
D Sessione PHP 11
P Problema con id di sessione PHP 4
L Query con sessione PHP 3
asevenx mantenere sessione login attiva anche in altre pagine PHP 8
Y mantenere sessione login? PHP 5
L problema variabile per creare sessione PHP 5
A Variabile di sessione perde il valore PHP 2
C cancellare un elemento in un array memorizzato in una sessione PHP 12
C E' possibile salvare array tramite sessione o cookie? PHP 5
darkjoker Sessione di bug hunting Sicurezza e Virus 1

Discussioni simili