salve ho creato un sito con registrazione e login l'utente loggato può creare una stanza dove può chattare mi riconosce ogni stanza creata ma non riesco a inserire i messaggi in chat chiedo aiuto grazie posto i codici
-----------------------------------------------
-----------------------------------------------
PHP:
pagina dove crea il nome stanza
</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
}
?>
</div>
</div>
</div>
</body>
</html>
---------------------------------
pagina chat
</div>
<?php
include('db.php');
$id = $_GET['id'];
$query=mysqli_query($con,"SELECT chatname FROM chat ORDER BY chatname='$id' ");
while($row=mysqli_fetch_array($query)){
?>
<?php
include ("db.php");
if(!$con)
{
die(mysqli_error());
}
if(isset($_POST['submit']))
{
$msg = trim($_POST['msg']);
$chatname = trim($_POST['chatname']);
$id = $_POST['id'];
$sql = "insert into `chat` (chatname, msg, name) values (chatname='$id', '$msg' , '".$_SESSION['name']."', NOW())";
$rs = mysqli_query($con, $sql);
$affectedRows = mysqli_affected_rows($con);
if($affectedRows == 1)
{
$successMsg = "Record has been saved successfully";
}
}
?>
</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;">
<?php
include('db.php');
$id = $_GET['id'];
$query=mysqli_query($con,"SELECT chatname, msg, name FROM chat WHERE chatname='$id'");
while($row=mysqli_fetch_array($query)){
{
echo '<td><a href="profile.php?name=' . $row['name'] . '"> Profilo </a></td>';
echo $row['name'] ." ". $row['msg'] ."<br />";
}
?>
</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" name="chatname">
<input type="hidden" value="<?= $_SESSION['name'] ?>">
<input type="submit" name="submit" value="invia">
</form>
</div>
</div>
</div>
<script>
const msg = document.getElementById('msg');
function appendMsg() {
const msg = document.getElementsByClassName('msg')[0];
const newMsg = msg.cloneNode(true);
msg.appendChild(newMsg);
}
function getMsg() {
// Prior to getting your msg.
shouldScroll = msg.scrollTop + msg.clientHeight === msg.scrollHeight;
/*
* Get your msg, we'll just simulate it by appending a new one syncronously.
*/
appendMsg();
// After getting your msg.
if (!shouldScroll) {
scrollToBottom();
}
}
function scrollToBottom() {
msg.scrollTop = msg.scrollHeight;
}
scrollToBottom();
setInterval(getMsg, 100);
</script>
<script>
$(function() {
// Initializes and creates emoji set from sprite sheet
window.emojiPicker = new EmojiPicker({
emojiable_selector: '[data-emojiable=true]',
assetsPath: 'lib/img/',
popupButtonClasses: 'fa fa-smile-o'
});
// Finds all elements with `emojiable_selector` and converts them to rich emoji input fields
// You may want to delay this step if you have dynamically created input fields that appear later in the loading process
// It can be called as many times as necessary; previously converted input fields will not be converted again
window.emojiPicker.discover();
});
</script>
<?php
}
?>
</div>
</div>
</div>
</div>
<?php
}
?>
</div>
</div>
</div>
</div>
</body>
</html>