Salve ragazzi,cercando nel web ho trovato questo script per creare messaggi privati all'interno del proprio sito,metto qui cosi da capire come è strutturata e se puo servire ad'altri.Posso dire che lo script funziona,nel mandare i messaggi,registrarli nella tabella e nelle sue varie parti.
Problema che non riesco a decifrare è che la pagina chiamata "read_message.php" non visualizza i messaggi in box ma solo mostra:
Title:
From:
Message:
[button]
E niente messaggi,qualcuno riesce a capire perche non si vedono i messaggi,vedendo lo scrip dell'ultima pagina sotto,appunto "read_messagge.php"?
Grazie
CREATE TABLE `messages` (
`message_id` int(11) NOT NULL auto_increment,
`from_user` varchar(65) character set latin1 collate latin1_general_ci NOT NULL,
`to_user` varchar(65) character set latin1 collate latin1_general_ci NOT NULL,
`message_title` varchar(65) NOT NULL,
`message_contents` longtext NOT NULL,
`message_read` int(11) NOT NULL default '0',
PRIMARY KEY (`message_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=21;
inbox.php
Codice PHP:
<?php
session_start();
require "database.php";
$userfinal=$_SESSION['session_name'];
// get the messages from the table.
$get_messages = mysql_query("SELECT message_id FROM messages WHERE to_user='$userfinal' ORDER BY message_id DESC") or die(mysql_error());
$get_messages2 = mysql_query("SELECT * FROM messages WHERE to_user='$userfinal' ORDER BY message_id DESC") or die(mysql_error());
$num_messages = mysql_num_rows($get_messages);
// display each message title, with a link to their content
echo '<ul>';
for($count = 1; $count <= $num_messages; $count++)
{
$row = mysql_fetch_array($get_messages2);
//if the message is not read, show "(new)" after the title, else, just show the title.
if($row['message_read'] == 0)
{
echo '[url="read_message.php?messageid=' . $row['message_id'] . '"]' . $row['message_title'] . '[/url](New)
';
}else{
echo '[url="read_message.php?messageid=' . $row['message_id'] . '"]' . $row['message_title'] . '[/url]
';
}}
echo '[/list]';
echo '<form name="newmsgfrm" method="post" action="new_message.php">';
echo '<input type="submit" value="Send a New Message">';
echo '</form>';
echo '<form name="backfrm" method="post" action="index.php">';
echo '<input type="submit" value="Back to Home">';
echo '</form>';
?>
new_message.php
Codice PHP:
<?php
session_start();
require "database.php";
$userfinal=$_SESSION['session_name'];
$user=$userfinal;
?>
<form name="message" action="messageck.php"
method="post">
<input type="text" name="message_title"> Title:
<input type="text" name="message_to"> To:
Message:
<textarea rows="20" cols="50" name="message_content">
</textarea>
<?php
echo '<input type="hidden" name="message_from" value="'.$user.'">
';
?>
<input type="submit" value="Submit">
</form>
messageck.php
Codice PHP:
<?php
session_start();
require "database.php";
$title=$_POST['message_title'];
$to=$_POST['message_to'];
$content=$_POST['message_content'];
$from=$_POST['message_from'];
$time=$_POST['message_date'];
$ck_reciever = "SELECT username FROM user WHERE username = '".$to."'";
if( mysql_num_rows( mysql_query( $ck_reciever ) ) == 0 ){
die("The user you are trying to contact don't excist. Please go back and try again.
<form name=\"back\" action=\"new_message.php\"
method=\"post\">
<input type=\"submit\" value=\"Try Again\">
</form>
");
}
elseif(strlen($content) < 1){
die("Your can't send an empty message!
<form name=\"back\" action=\"new_message.php\"
method=\"post\">
<input type=\"submit\" value=\"Try Again\">
</form>
");
}
elseif(strlen($title) < 1){
die("You must have a Title!
<form name=\"back\" action=\"new_message.php\"
method=\"post\">
<input type=\"submit\" value=\"Try Again\">
</form>
");
}else{
mysql_query("INSERT INTO messages (from_user, to_user, message_title, message_contents, message_date) VALUES ('$from','$to','$title','$content','$time')") OR die("Could not send the message:
".mysql_error());
echo "The Message Was Successfully Sent!";
?>
<form name="back" action="inbox.php"
method="post">
<input type="submit" value="Back to The Inbox">
</form>
<?php
}
?>
read_message.php
Codice PHP:
<?php
session_start();
$userfinal=$_SESSION['session_name'];
require "database.php";
$messageid = $_GET['message'];
$message = mysql_query("SELECT * FROM messages WHERE message_id = '$message_id' AND to_user = '$userfinal'");
$message=mysql_fetch_assoc($message);
echo "<h1>Title: ".$message['message_title']."</h1>
";
echo "<h3>From: ".$message['from_user']."
</h3>";
echo "<h3>Message:
".$message['message_contents']."
</h3>";
echo '<form name="backfrm" method="post" action="inbox.php">';
echo '<input type="submit" value="Back to Inbox">';
echo '</form>';
?>