Salve a tutti. Praticamente, ogni utente che invia un messaggio privato ad un altro utente, si crea una chat privata con i messaggi che sono racchiusi in <div>. Siccome ho stabilito una lunghezza precisa per il <div>, ogni volta che supero questa lunghessa, invece di fuoriuscire i messaggi, viene creata la barra di scorrimento che porta i messaggi sotto. Solo che, appena supero questa lunghezza viene creata la barra di scorrimento, ma i messaggi li invia al centro del <div>. Come mai? Vi do il codice per ricevere i messaggi:
Codice PHP:
<?php
session_start();
include('settings.php');
if(!isset($_SESSION['username'])) {
header('Location: login.php');
} else {
session_regenerate_id();
}
?>
<head><body bgcolor="#6397D0">
<title>(c) Ysoolder - Messaggi</title>
</head>
<body>
<?php
$my_id = userId($_SESSION['username']);
?><?php include 'menu2.html';?></div>
</div></div>
</div></div>
<div id="content">
<?php
$my_username = realUsername($_SESSION['username']);
?>
<div style="position:absolute; right: 10px;">
</div><p><br><head><meta http-equiv="refresh" content="3600; url=messaggi.php"> </head>
<p><center><div style="border: 2px solid black;width: 350px; height: 350px; overflow-y: scroll;">
<?php
$sel_request = mysql_query("SELECT * FROM chat WHERE username LIKE '$my_username' ORDER BY username ASC");
if(mysql_num_rows($sel_request) == 0) {
echo "Nessun messaggio privato ricevuto.";
} else {
while($ref = mysql_fetch_row($sel_request)) {
$richiedente = $ref[1];
$messaggio = $ref[2];
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<span style="font-weight: bold; margin-right: 30px;">
Da: <?php echo $richiedente; ?> </span>
<p>
<?php echo $messaggio; ?></form>
<?php
}
}
?>
<p>
<?php
?>
</div>
</div>
</div>
<?php
include 'scrivi.php';
?>
</body>
</html>
Ho tolto lo script che crea una chat privagta per ogni nuovo messaggio perche molti utenti lo vogliono ed ho racchiuso tutto in un unico <div>. Ripeto il mio problema: ogni qual volta che supero il width di 350px e l' height di 350px, viene creata la barra di scorrimento, ma i messaggi li invia al centro. Come mai? Siccome non voglio postare lo script per inviare il messaggio, ne invio uno semplice semplice cosi capite il problema:
Codice PHP:
<?php
if(!isset($_POST['invia'])){
echo '<form action=# method=post>
Username:<input type="text" name="username">
<p>
Amico:<input type="text" name="amico">
<p>
Messaggio: <textarea name="messaggio"></textarea>
<p>
<input type="submit" name="invia" value="Invia messaggio!">
</form>';
} else{
$username = mysql_real_Escape_String($_POST['username']);
$amico = mysql_Real_escape_string($_POST['amico']);
$messaggio = mysql_real_escape_String($_POST['messaggio']);
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("my_ysoolder") or die(mysql_error());
$invia = mysql_query("INSERT INTO chat (username, amico, messaggio) VALUES ('$username','$amico','$messaggio')");
if($invia){
echo "Messaggio inviato.";
}
}
?>
Per provare lo script create una tabella "user" con username e password e una tabella "chat" con username, amico, messaggio per ricevere i messaggi.
Username: corrisponde all'username dell'utente che riceve il mex
Amico: Il vostro username
Spero che riusciate a sistemarmi lo script.. Grazie :)