ciao ho creato usando xampp un sito con registrazione login e ogni utente può visitare il profilo altrui può anche creare una stanza ( chat ) dove può chattare e la lista delle stanza create si vedono e riconosce ogni stanza creata ma nel database inserisce solo il nome stanza la data di creazione e l'utente che l'ha creata chiedo aiuto grazie posto ciò che ho creato questo è il file sql
CREATE TABLE `chat` (
`id` int(11) NOT NULL,
`chatname` varchar(40) CHARACTER SET utf8 NOT NULL,
`msg` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
`name` varchar(40) CHARACTER SET utf8 NOT NULL,
`date` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Codice PHP:
questa è la pagina dove si può vedere la lista stanze e/o crearla
<form method="post" action="creachat.php">
Nome stanza:<br>
<input type="text" name="chatname">
<input type="hidden" value="<?= $_SESSION['name'] ?>">
<br><br>
<input type="submit" name="save" value="submit">
</form>
</div>
</div>
<?php
include_once 'db.php';
if(isset($_POST['save']))
{
$chatname = $_POST['chatname'];
$sql = "INSERT INTO chat (chatname, name)
VALUES ('$chatname','".$_SESSION['name']."')";
if (mysqli_query($con, $sql)) {
echo "New record created successfully !";
} else {
echo "Error: " . $sql . "
" . mysqli_error($con);
}
mysqli_close($con);
}
?>
</div>
</div>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, chatname, name, date FROM chat; ";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
?>
</div>
<div class="container">
<div class="card">
<table class="table">
<thead>
<tr>
<th scope="col">Creata da</th>
<th scope="col">Nome stanza</th>
<th scope="col">Data creata</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row"><?php echo $row['name']; ?></th>
<td><?php echo $row['chatname']; ?></td>
<td><?php echo $row['date']; ?></td>
<td><?php
echo '<td><a href="chatname.php?id=' . $row['chatname'] . '">Entra</a></td>';
?></td>
</tr>
</tr>
</tbody>
</table>
</div>
<?php
}
?>
--------------------------------------
questa è la pagina chat
<?php
include 'db.php';
$id = $_GET['id'];
$query=mysqli_query($con,"SELECT chatname, name, msg FROM chat where chatname='$id'")or die(mysqli_error());
while($row=mysqli_fetch_array($query)){
// Per stampare i dati
$chatname= $row['chatname'];
$name= $row['name'];
$msg= $row['msg'];
?>
</div>
<?php
include ("db.php");
if(!$con)
{
die(mysqli_error());
}
if(isset($_POST['submit'])){
$name=$_POST['name'];
$msg=$_POST['msg'];
$id = $_GET['id'];
mysqli_query($con,"insert into `chat` (chatname, msg, name) values (chatname='$id', '$msg' , '".$_SESSION['name']."', NOW())") or die(mysqli_error());
}
?>
</div>
<div>
<div class="panel panel-default" style="height: 400px;">
<div style="height:10px;"></div>
<span style="margin-left:10px;"><?php echo $row['chatname']; ?></span><br>
<span style="font-size:10px; margin-left:10px;"><i>---------------------------------------------</i></span>
<div style="height:10px;"></div>
<div id="msg" style="margin-left:10px; max-height:320px; overflow-y:scroll;">
</div>
</div>
<div class="container">
<form method="post" action="chatname.php">
<p class="lead emoji-picker-container">
<input type="text" name="msg" id="msg" class="form-control" placeholder="Di la tua"data-emojiable="true">
</p>
<input type="hidden" value="<?= $_SESSION['name'] ?>">
<input type="submit" name="submit" value="invia">
</form>
</div>