An unexpected Warning of mysql_fetch_array() in my php file

Post May 17th, 2007, 11:52 am

Hi!
i'm working on a simple site. I have already write some php pages like login.php, register.php.....
In my pages i have included the pages header.html, left.html, right.html and footer.html.
The left.html page is a simple select query which is used for my left menu.
When i run a page wich include a form (like login.php), and the form is not submitted correctly, i have an error on the left.html page! The error is:
mysql_fetch_array(): supplied argument is not a valid MySQL result resource in left.html (in the two bold lines in the code)
If the form submitted correctly i don't have any warning. If it is not, the previous error displayed instead of my menu (left.htm)
I can't understand what is going on...
please help!

left.html code:
Code: [ Download ] [ Select ]
<!--left.html-->
<table border="0" cellspacing="0" cellpadding="0" width="150">
<tr>
<td class="minfo" style=" background: url('./images/bckbanner.gif') no-repeat; " height="35">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ταινίες</td>
</tr>
<tr>
<td align="left">
<table background = "./images/banner.gif" valign="bottom" width="150" border="0">


<?php
require_once ('../mysql_connect.php'); // Connect to the db.
$query = "SELECT categories.category AS category, categories.cat_id AS id
FROM categories
GROUP BY id";
$result = @mysql_query ($query); // Run the query.
[b]while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {[/b]
// Start defining the URL.
$url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);
// Check for a trailing slash.
if ((substr($url, -1) == '/') OR (substr($url, -1) == '\\') ) {
$url = substr ($url, 0, -1); // Chop off the slash.
}
// Add the page.
$url .= '/movies.php';
$cat= "-" . $row[category];
$url .= '?name=' . urldecode("$row[id] $cat");
// Display each record.
if ($row[id] != "12" and $row[id] != "13" and $row[id] != "14" ) {
echo " <tr><td><a href='$url'>&nbsp;&nbsp;&nbsp;&nbsp;$row[category]</a></td> </tr>";
}
}// End of while loop.
?>

<tr>
<td height="3" background="./images/btitle.gif" valign="bottom" width="150"></td>
</tr>
<tr>
<td height="3" valign="bottom" width="150"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="mbanner" bgcolor="#ffffff" height="4">&nbsp;</td>
</tr>
<tr>
<td class="minfo" style=" background: url('./images/bckbanner.gif') no-repeat; " height="35">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Παιχνίδια</td>
</tr>
<tr>
<td align="left">
<table background = "./images/banner.gif" valign="bottom" width="150" border="0">
<?php
require_once ('../mysql_connect.php'); // Connect to the db.
$query = "SELECT categories.category AS category, categories.cat_id AS id
FROM categories
WHERE
(categories.cat_id=12 or categories.cat_id=13 or categories.cat_id=14)
GROUP BY id";
$result = @mysql_query ($query); // Run the query.
[b]while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {[/b]
// Start defining the URL.
$url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);
// Check for a trailing slash.
if ((substr($url, -1) == '/') OR (substr($url, -1) == '\\') ) {
$url = substr ($url, 0, -1); // Chop off the slash.
}
// Add the page.
$url .= '/movies.php';
$cat= "-" . $row[category];
$url .= '?name=' . urldecode("$row[id] $cat");
// Display each record.
echo " <tr><td><a href='$url'>&nbsp;&nbsp;&nbsp;&nbsp;$row[category]</a></td> </tr>";

}// End of while loop.
?>
<tr>
<td height="3" background="./images/btitle.gif" valign="bottom" width="150"></td>
</tr>
<tr>
<td height="3" valign="bottom" width="150"></td>
</tr>
</table>
</td>
</tr>
</table>
<!-- Content starts here! -->
  1. <!--left.html-->
  2. <table border="0" cellspacing="0" cellpadding="0" width="150">
  3. <tr>
  4. <td class="minfo" style=" background: url('./images/bckbanner.gif') no-repeat; " height="35">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ταινίες</td>
  5. </tr>
  6. <tr>
  7. <td align="left">
  8. <table background = "./images/banner.gif" valign="bottom" width="150" border="0">
  9. <?php
  10. require_once ('../mysql_connect.php'); // Connect to the db.
  11. $query = "SELECT categories.category AS category, categories.cat_id AS id
  12. FROM categories
  13. GROUP BY id";
  14. $result = @mysql_query ($query); // Run the query.
  15. [b]while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {[/b]
  16. // Start defining the URL.
  17. $url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);
  18. // Check for a trailing slash.
  19. if ((substr($url, -1) == '/') OR (substr($url, -1) == '\\') ) {
  20. $url = substr ($url, 0, -1); // Chop off the slash.
  21. }
  22. // Add the page.
  23. $url .= '/movies.php';
  24. $cat= "-" . $row[category];
  25. $url .= '?name=' . urldecode("$row[id] $cat");
  26. // Display each record.
  27. if ($row[id] != "12" and $row[id] != "13" and $row[id] != "14" ) {
  28. echo " <tr><td><a href='$url'>&nbsp;&nbsp;&nbsp;&nbsp;$row[category]</a></td> </tr>";
  29. }
  30. }// End of while loop.
  31. ?>
  32. <tr>
  33. <td height="3" background="./images/btitle.gif" valign="bottom" width="150"></td>
  34. </tr>
  35. <tr>
  36. <td height="3" valign="bottom" width="150"></td>
  37. </tr>
  38. </table>
  39. </td>
  40. </tr>
  41. <tr>
  42. <td class="mbanner" bgcolor="#ffffff" height="4">&nbsp;</td>
  43. </tr>
  44. <tr>
  45. <td class="minfo" style=" background: url('./images/bckbanner.gif') no-repeat; " height="35">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Παιχνίδια</td>
  46. </tr>
  47. <tr>
  48. <td align="left">
  49. <table background = "./images/banner.gif" valign="bottom" width="150" border="0">
  50. <?php
  51. require_once ('../mysql_connect.php'); // Connect to the db.
  52. $query = "SELECT categories.category AS category, categories.cat_id AS id
  53. FROM categories
  54. WHERE
  55. (categories.cat_id=12 or categories.cat_id=13 or categories.cat_id=14)
  56. GROUP BY id";
  57. $result = @mysql_query ($query); // Run the query.
  58. [b]while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {[/b]
  59. // Start defining the URL.
  60. $url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);
  61. // Check for a trailing slash.
  62. if ((substr($url, -1) == '/') OR (substr($url, -1) == '\\') ) {
  63. $url = substr ($url, 0, -1); // Chop off the slash.
  64. }
  65. // Add the page.
  66. $url .= '/movies.php';
  67. $cat= "-" . $row[category];
  68. $url .= '?name=' . urldecode("$row[id] $cat");
  69. // Display each record.
  70. echo " <tr><td><a href='$url'>&nbsp;&nbsp;&nbsp;&nbsp;$row[category]</a></td> </tr>";
  71. }// End of while loop.
  72. ?>
  73. <tr>
  74. <td height="3" background="./images/btitle.gif" valign="bottom" width="150"></td>
  75. </tr>
  76. <tr>
  77. <td height="3" valign="bottom" width="150"></td>
  78. </tr>
  79. </table>
  80. </td>
  81. </tr>
  82. </table>
  83. <!-- Content starts here! -->



login.php code:
Code: [ Download ] [ Select ]
<?php # login.php
// Send NOTHING to the Web browser prior to the session_start() line!

// Check if the form has been submitted.
if (isset($_POST['submitted'])) {

require_once ('../mysql_connect.php'); // Connect to the db.

$errors = array(); // Initialize error array.

// Check for an email address.
if (empty($_POST['email'])) {
$errors[] = 'email address';
} else {
$email = escape_data($_POST['email']);
}

// Check for a password.
if (empty($_POST['password'])) {
$errors[] = 'password';
} else {
$password = escape_data($_POST['password']);
}

if (empty($errors)) { // If everything's OK.

/* Retrieve the user_id and first_name for
that email/password combination. */
$query = "SELECT user_id, firstName FROM users WHERE email='$email' AND password=md5('$password')";
$result = @mysql_query ($query); // Run the query.
$row = mysql_fetch_array ($result, MYSQL_NUM); // Return a record, if applicable.

if ($row) { // A record was pulled from the database.

// Set the session data & redirect.
session_name ('YourVisitID');
session_start();
$_SESSION['user_id'] = $row[0];
$_SESSION['firstName'] = $row[1];
$_SESSION['email'] = $row[2];
$_SESSION['agent'] = md5($_SERVER['HTTP_USER_AGENT']);

// Redirect the user to the loggedin.php page.
// Start defining the URL.
$url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);
// Check for a trailing slash.
if ((substr($url, -1) == '/') OR (substr($url, -1) == '\\') ) {
$url = substr ($url, 0, -1); // Chop off the slash.
}
// Add the page.
$url .= '/loggedin.php';

header("Location: $url");
exit(); // Quit the script.

} else { // No record matched the query.
$errors[] = ' <br /> Δεν υπάρχει τέτοιος συνδυασμός e-mail και password';
}

} // End of if (empty($errors)) IF.

mysql_close(); // Close the database connection.

} else { // Form has not been submitted.

$errors = NULL;

} // End of the main Submit conditional.

// Begin the page now.
?>
<table width="940" height="100%" border="0" cellpadding="0" cellspacing="0" align="center">
<tr>
<td>
<?php
// Set the page title and include the HTML header.
$page_title = 'Login';
include ('./includes/header.html');
?>
</td>
</tr>
<tr><td>
<table width="940" height="100%" border="0" cellpadding="0" cellspacing="0" align="left">
<tr><td height="3" colspan="2">&nbsp;</td></tr>
<tr>
<td valign="top">
<?php // Include the HTML left file.
include ('./includes/left.html');
?>
</td>
<td valign="top">
<table width="784" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td align="left" valign="top" width="100%">
<table class="mtable" border="0" cellpadding="0" cellspacing="0" width="100%" valign="top">
<tr>
<td height="14" class="minfot" background="./images/btitle.gif" cellpadding="0" cellspacing="0" valign="middle">&nbsp;&nbsp;&nbsp;Login</td>
<td height="14" class="minfot" background="./images/btitle.gif" cellpadding="0" cellspacing="0" align="right" valign="middle">Guest&nbsp;</td>
</tr>
<tr>
<td colspan="2">
<form action="login.php" method="post">
<table align="center">
<tr>
<td class="minfos">&nbsp;</td>
<td></td>
</tr>
<tr>
<td class="minfos">Email Address: </td>
<td><input type="text" name="email" size="20" maxlength="40" class="inpblue2" /></td>
</tr>
<tr>
<td class="minfos">Password: </td>
<td><input type="password" name="password" size="20" maxlength="20" class="inpblue" /></td>
</tr>
<tr>
<td class="minfos">&nbsp;</td>
<td class="minfos" align="center">
<input type="submit" name="submit" value="Login" class="inpblue" />
<input type="hidden" name="submitted" value="TRUE" />
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="minfos2" align="center"><br>
<a href="remind.php">Ξέχασα τoν κωδικό μου</a>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="minfos2" align="center"><br>
<a href="register.php">Eγγραφή</a>
</td>
</tr>
</form>
<tr>
<td colspan="2" >
<?php
if (!empty($errors)) { // Print any error messages.
echo '<p class="text"><b>ΠΡΟΣΟΧΗ!</b></p>
<p class="text" >Δεν έχετε συμπληρώσει σωστά τα πεδία &nbsp; <p />';
foreach ($errors as $msg) { // Print each error.
    echo " <font class='text'>$msg &nbsp; </font>";
}
echo '<p class="text">Προσπαθείστε ξανά!</p>';
}
// Create the form.
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td class="mrtable" valign="top" width="120">
<?php // Include the HTML right file.
include ('./includes/right.html');
?>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<?php // Include the HTML footer file.
include ('./includes/footer.html');
?>
</td>
</tr>
</table>
</td></tr>
</table>
  1. <?php # login.php
  2. // Send NOTHING to the Web browser prior to the session_start() line!
  3. // Check if the form has been submitted.
  4. if (isset($_POST['submitted'])) {
  5. require_once ('../mysql_connect.php'); // Connect to the db.
  6. $errors = array(); // Initialize error array.
  7. // Check for an email address.
  8. if (empty($_POST['email'])) {
  9. $errors[] = 'email address';
  10. } else {
  11. $email = escape_data($_POST['email']);
  12. }
  13. // Check for a password.
  14. if (empty($_POST['password'])) {
  15. $errors[] = 'password';
  16. } else {
  17. $password = escape_data($_POST['password']);
  18. }
  19. if (empty($errors)) { // If everything's OK.
  20. /* Retrieve the user_id and first_name for
  21. that email/password combination. */
  22. $query = "SELECT user_id, firstName FROM users WHERE email='$email' AND password=md5('$password')";
  23. $result = @mysql_query ($query); // Run the query.
  24. $row = mysql_fetch_array ($result, MYSQL_NUM); // Return a record, if applicable.
  25. if ($row) { // A record was pulled from the database.
  26. // Set the session data & redirect.
  27. session_name ('YourVisitID');
  28. session_start();
  29. $_SESSION['user_id'] = $row[0];
  30. $_SESSION['firstName'] = $row[1];
  31. $_SESSION['email'] = $row[2];
  32. $_SESSION['agent'] = md5($_SERVER['HTTP_USER_AGENT']);
  33. // Redirect the user to the loggedin.php page.
  34. // Start defining the URL.
  35. $url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);
  36. // Check for a trailing slash.
  37. if ((substr($url, -1) == '/') OR (substr($url, -1) == '\\') ) {
  38. $url = substr ($url, 0, -1); // Chop off the slash.
  39. }
  40. // Add the page.
  41. $url .= '/loggedin.php';
  42. header("Location: $url");
  43. exit(); // Quit the script.
  44. } else { // No record matched the query.
  45. $errors[] = ' <br /> Δεν υπάρχει τέτοιος συνδυασμός e-mail και password';
  46. }
  47. } // End of if (empty($errors)) IF.
  48. mysql_close(); // Close the database connection.
  49. } else { // Form has not been submitted.
  50. $errors = NULL;
  51. } // End of the main Submit conditional.
  52. // Begin the page now.
  53. ?>
  54. <table width="940" height="100%" border="0" cellpadding="0" cellspacing="0" align="center">
  55. <tr>
  56. <td>
  57. <?php
  58. // Set the page title and include the HTML header.
  59. $page_title = 'Login';
  60. include ('./includes/header.html');
  61. ?>
  62. </td>
  63. </tr>
  64. <tr><td>
  65. <table width="940" height="100%" border="0" cellpadding="0" cellspacing="0" align="left">
  66. <tr><td height="3" colspan="2">&nbsp;</td></tr>
  67. <tr>
  68. <td valign="top">
  69. <?php // Include the HTML left file.
  70. include ('./includes/left.html');
  71. ?>
  72. </td>
  73. <td valign="top">
  74. <table width="784" border="0" cellspacing="0" cellpadding="0" align="center">
  75. <tr>
  76. <td align="left" valign="top" width="100%">
  77. <table class="mtable" border="0" cellpadding="0" cellspacing="0" width="100%" valign="top">
  78. <tr>
  79. <td height="14" class="minfot" background="./images/btitle.gif" cellpadding="0" cellspacing="0" valign="middle">&nbsp;&nbsp;&nbsp;Login</td>
  80. <td height="14" class="minfot" background="./images/btitle.gif" cellpadding="0" cellspacing="0" align="right" valign="middle">Guest&nbsp;</td>
  81. </tr>
  82. <tr>
  83. <td colspan="2">
  84. <form action="login.php" method="post">
  85. <table align="center">
  86. <tr>
  87. <td class="minfos">&nbsp;</td>
  88. <td></td>
  89. </tr>
  90. <tr>
  91. <td class="minfos">Email Address: </td>
  92. <td><input type="text" name="email" size="20" maxlength="40" class="inpblue2" /></td>
  93. </tr>
  94. <tr>
  95. <td class="minfos">Password: </td>
  96. <td><input type="password" name="password" size="20" maxlength="20" class="inpblue" /></td>
  97. </tr>
  98. <tr>
  99. <td class="minfos">&nbsp;</td>
  100. <td class="minfos" align="center">
  101. <input type="submit" name="submit" value="Login" class="inpblue" />
  102. <input type="hidden" name="submitted" value="TRUE" />
  103. </td>
  104. </tr>
  105. <tr>
  106. <td>&nbsp;</td>
  107. <td class="minfos2" align="center"><br>
  108. <a href="remind.php">Ξέχασα τoν κωδικό μου</a>
  109. </td>
  110. </tr>
  111. <tr>
  112. <td>&nbsp;</td>
  113. <td class="minfos2" align="center"><br>
  114. <a href="register.php">Eγγραφή</a>
  115. </td>
  116. </tr>
  117. </form>
  118. <tr>
  119. <td colspan="2" >
  120. <?php
  121. if (!empty($errors)) { // Print any error messages.
  122. echo '<p class="text"><b>ΠΡΟΣΟΧΗ!</b></p>
  123. <p class="text" >Δεν έχετε συμπληρώσει σωστά τα πεδία &nbsp; <p />';
  124. foreach ($errors as $msg) { // Print each error.
  125.     echo " <font class='text'>$msg &nbsp; </font>";
  126. }
  127. echo '<p class="text">Προσπαθείστε ξανά!</p>';
  128. }
  129. // Create the form.
  130. ?>
  131. </td>
  132. </tr>
  133. </table>
  134. </td>
  135. </tr>
  136. </table>
  137. </td>
  138. <td class="mrtable" valign="top" width="120">
  139. <?php // Include the HTML right file.
  140. include ('./includes/right.html');
  141. ?>
  142. </td>
  143. </tr>
  144. </table>
  145. </td>
  146. </tr>
  147. <tr>
  148. <td colspan="2">
  149. <?php // Include the HTML footer file.
  150. include ('./includes/footer.html');
  151. ?>
  152. </td>
  153. </tr>
  154. </table>
  155. </td></tr>
  156. </table>


mysql_connect.php code:

Code: [ Download ] [ Select ]
<?php # mysql_connect.php

// This file contains the database access information.
// This file also establishes a connection to MySQL and selects the database.
// This file also defines the escape_data() function.

// Set the database access information as constants.
DEFINE ('DB_USER', 'xxxxxxxxxx');
DEFINE ('DB_PASSWORD', 'xxxxxxxxxx');
DEFINE ('DB_HOST', 'xxxxxxxxxxxxxxx');
DEFINE ('DB_NAME', 'xxxxxxxxxx');

// Make the connection.
$dbc = @mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) OR die ('Could not connect to MySQL: ' . mysql_error() );

// Select the database.
@mysql_select_db (DB_NAME) OR die ('Could not select the database: ' . mysql_error() );

mysql_query('set names greek;');

// Create a function for escaping the data.
function escape_data ($data) {

// Address Magic Quotes.
if (ini_get('magic_quotes_gpc')) {
$data = stripslashes($data);
}

// Check for mysql_real_escape_string() support.
if (function_exists('mysql_real_escape_string')) {
global $dbc; // Need the connection.
$data = mysql_real_escape_string (trim($data), $dbc);
} else {
$data = mysql_escape_string (trim($data));
}

// Return the escaped value.
return $data;

} // End of function.
?>
  1. <?php # mysql_connect.php
  2. // This file contains the database access information.
  3. // This file also establishes a connection to MySQL and selects the database.
  4. // This file also defines the escape_data() function.
  5. // Set the database access information as constants.
  6. DEFINE ('DB_USER', 'xxxxxxxxxx');
  7. DEFINE ('DB_PASSWORD', 'xxxxxxxxxx');
  8. DEFINE ('DB_HOST', 'xxxxxxxxxxxxxxx');
  9. DEFINE ('DB_NAME', 'xxxxxxxxxx');
  10. // Make the connection.
  11. $dbc = @mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) OR die ('Could not connect to MySQL: ' . mysql_error() );
  12. // Select the database.
  13. @mysql_select_db (DB_NAME) OR die ('Could not select the database: ' . mysql_error() );
  14. mysql_query('set names greek;');
  15. // Create a function for escaping the data.
  16. function escape_data ($data) {
  17. // Address Magic Quotes.
  18. if (ini_get('magic_quotes_gpc')) {
  19. $data = stripslashes($data);
  20. }
  21. // Check for mysql_real_escape_string() support.
  22. if (function_exists('mysql_real_escape_string')) {
  23. global $dbc; // Need the connection.
  24. $data = mysql_real_escape_string (trim($data), $dbc);
  25. } else {
  26. $data = mysql_escape_string (trim($data));
  27. }
  28. // Return the escaped value.
  29. return $data;
  30. } // End of function.
  31. ?>
  • Anonymous
  • Bot
  • No Avatar
  • Joined: 25 Feb 2008
  • Posts: ?
  • Loc: Ozzuland
  • Status: Online

Post May 17th, 2007, 11:52 am

  • cometmall
  • Student
  • Student
  • No Avatar
  • Joined: Apr 27, 2007
  • Posts: 78
  • Status: Offline

Post May 17th, 2007, 10:58 pm

========================================
$result = @mysql_query ($query); // Run the query.
while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {
========================================
I think the problem is that $result maybe not an array sometimes, try to remove the @ sign from mysql_query, and check the result
  • cometmall
  • Student
  • Student
  • No Avatar
  • Joined: Apr 27, 2007
  • Posts: 78
  • Status: Offline

Post May 17th, 2007, 10:59 pm

$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
die('Invalid query: ' . mysql_error());
}
  • itsmani1
  • Novice
  • Novice
  • User avatar
  • Joined: Feb 02, 2005
  • Posts: 19
  • Loc: Islamabad, Pakistan
  • Status: Offline

Post May 17th, 2007, 11:39 pm

try:
$qry = 'SELECT * WHERE 1=1';
$result = mysql_query($qry) or die(mysql_error($qry));
if(mysql_num_rows($result) > 0)
{
if (!$result) {
die('Invalid query: ' . mysql_error());
}
}
else
{
echo "no result.";
}

Post May 18th, 2007, 4:36 pm

You have right. i did this and the error message changed to:
Query failed: Access denied for user.....

But i can't understand why...
the same code run ok in all other pages which include the left.html.
Also it run ok if the form in the login.php submitted correctly...
i'm so confused...
  • cometmall
  • Student
  • Student
  • No Avatar
  • Joined: Apr 27, 2007
  • Posts: 78
  • Status: Offline

Post May 19th, 2007, 1:58 am

I think you are including the left after you close the connection
mysql_close(); // Close the database connection.

and in left you specified : require_once ('../mysql_connect.php');
because you already included the file, it will not be included again.

Warning: i wouldnt write PHP files with .html, any1 can see your source

Post May 21st, 2007, 8:48 am

you have absolutelly right.
i haven't realized that. I think that just now understand the difference between require() and require_once().
thank you very much...

Post Information

  • Total Posts in this topic: 7 posts
  • Users browsing this forum: No registered users and 349 guests
  • You cannot post new topics in this forum
  • You cannot reply to topics in this forum
  • You cannot edit your posts in this forum
  • You cannot delete your posts in this forum
  • You cannot post attachments in this forum
 
 

© 2010 Unmelted, LLC. Driven by phpBB © 2010 phpBB Group.