Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsGeneralPHPASPPerlColdFusionFlashHTML, CSS, ScriptsBrowsers

Webmaster Forum / Flash / Data Integration / October 2008



Tip: Looking for answers? Try searching our database.

Guestbook Help Please

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
professorsr - 29 Aug 2008 03:42 GMT
I am currently putting together a web site for my niece that includes a
guestbook (w/php and mysql). For some reason, when you go to the guestbook and
click the view button, some computer connections II have ran into three so far)
cant connect to the database. BUT I created another page that is strictly php
(this page displays the same results as the guestbook) and the results are
displayed correctly - essentially confirming that there is a connection being
made to the database. Also, as I stated before this has only happened on three
computer connections so far, but i can't risk this happening when a visitor
gets to the site once we actually launch this site. the url to the site is as
follows:  http://oliviacourtney.net/html/index.html  
Click GUESTBOOK then click VIEW. This should populate the bottom box with
messages from database.

I will post the code

I have removed username and password for obvious reasons

flash actionscript code

this.onEnterFrame = function() {
    //shows the amount of messages showed right below the guestbook
   
    //display.startAmount is a variable located inside display mc
    //and that is sent to the readGuestbook.php
    from = display.startAmount;
    to = display.startAmount+5;
   
    //showing is a text field below the guestbook
    showing.text = from+" - "+to;
   
    //my way of rounding numbers to nearest tenth:
    //display.maxRows is a variable, sent from the php
    //it is the maximum amount of messages in the guestbook
    temp = display.maxrows;
    maxPages = Math.ceil(temp/10)*10;
};

form.onData = function() {
    //stuff that happens after information is sent to php:
    //sendInfo is a textfield next to the buttons
    sendInfo.text = "sent";
   
    //clearing the fields...
    form.name = "";
    form.location = "";
    form.email = "";
    form.message = "";
   
   
    //loading the guestbook again (with the new entry):
    //telling the display mc from which mesasge starting should the guestbook be
loaded
    display.startAmount = 0;
   
    //NOTE: here we're using "POST" to load variables. That's because we're both
sending
    //and receiving information from the php
    display.loadVariables("http://oliviacourtney.net/html/readGuestbook.php",
"POST");
    sendInfo.text = "receiving";
   
    //let's focus on the first line
    display.guestbook.scroll = 1;
};

display.onData = function() {
    sendInfo.text = "received";
};

//functions for the buttons
submit.onRelease = function() {
    form.loadVariables("http://oliviacourtney.net/html/writeGuestbook.php",
"POST");
    sendInfo.text = "sending";
};
view.onRelease = function() {
    display.startAmount = 0;
    display.loadVariables("http://oliviacourtney.net/html/readGuestbook.php",
"POST");
    sendInfo.text = "receiving";
};
next.onRelease = function() {
    //trying to make sure here that it doesn't try to load more entries than what
are stored
    if ((display.startAmount+5)<maxPages) {
        display.startAmount += 5;
        display.loadVariables("http://oliviacourtney.net/html/readGuestbook.php",
"POST");
        display.guestbook.scroll = 1;
        sendInfo.text = "receiving";
    }
};
prev.onRelease = function() {
    //making sure that we're not trying to view negative entries
    if (display.startAmount>0) {
        display.startAmount -= 5;
        display.loadVariables("http://oliviacourtney.net/html/readGuestbook.php",
"POST");
        display.guestbook.scroll = 1;
        sendInfo.text = "receiving";
    }
};

readGuestbook.php

<?
$host = "mysql4.freehostia.com";     // Name of machine mysql is running on
$user = "";        // Username to access mysql
$pass = "";    // Password to access mysql
$dbname = "zemcou_olivia";    // Name of the database where the guestbook is

$startAmount = $_POST["startAmount"];

$link = @mysql_connect($host, $user, $pass) or die("Could not connect to
database.");
mysql_select_db($dbname, $link) or die("Could not find database $dbname");

$query="SELECT *
FROM guestBook
WHERE view = 'Y'
ORDER BY id DESC";

$result = mysql_query($query);

while ($row = mysql_fetch_array($result)) :

$name=$row["name"];
$date=$row["date"];
$message=$row["message"];

$output .= "<font color=\"#000000\"><b>$name</b> wrote on $date</font><br>";

$output .= "$message<br>----------<br>";

endwhile;

$query2 = mysql_query("SELECT `id` FROM `guestBook` ORDER BY `id` DESC LIMIT
1")or die("Could not query");
$maxRows = mysql_fetch_row($query2);
$maxRows[0];

print "guestbook=$output&maxrows=$maxRows[0]";
?>

writeGuestbook.php

<?
$host = "mysql4.freehostia.com";     // Name of machine mysql is running on
$user = "";        // Username to access mysql
$pass = "";    // Password to access mysql
$dbname = "zemcou_olivia";    // Name of the database where the guestbook is

$name = $_POST["name"];
$location = $_POST["location"];
$email = $_POST["email"];
$message = $_POST["message"];

//<--- start time
$today = getdate();
$day = $today[mday];
if ($day < 10) {
$day = "0" . $day;
}
$month = $today[mon];
if ($month < 10) {
$month = "0" . $month;
}
$hrs = $today[hours];
if ($hrs < 10) {
$hrs = "0" . $hrs;
}
$mins = $today[minutes];
if ($mins < 10) {
$mins = "0" . $mins;
}
$timeStampTime = $hrs . ":" . $mins;
$timeStampDate = $day . "/" . $month . "/". $today[year];
//end time --->

$link = @mysql_connect($host, $user, $pass) or die("Could not connect to
database.");
mysql_select_db($dbname, $link) or die("Could not find database $dbname");
mysql_query("INSERT INTO guestBook (name,email,message,time,date,location)
VALUES ('$name', '$email', '$message', '$timeStampTime', '$timeStampDate',
'$location')");

?>

messages.php

<?php require_once('../Connections/olivia.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "",
$theNotDefinedValue = "")
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ?
mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" :
"NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$currentPage = $_SERVER["PHP_SELF"];

$maxRows_Recordset1 = 10;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
  $pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;

mysql_select_db($database_olivia, $olivia);
$query_Recordset1 = "SELECT * FROM guestBook ORDER BY id DESC";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1,
$startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $olivia) or
die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);

if (isset($_GET['totalRows_Recordset1'])) {
  $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
  $all_Recordset1 = mysql_query($query_Recordset1);
  $totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;

$queryString_Recordset1 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Recordset1") == false &&
        stristr($param, "totalRows_Recordset1") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Recordset1 = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s",
$totalRows_Recordset1, $queryString_Recordset1);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<table border="1" align="center">
  <tr>
    <td>id</td>
    <td>date</td>
    <td>time</td>
    <td>name</td>
    <td>email</td>
    <td>message</td>
    <td>location</td>
    <td>view</td>
  </tr>
  <?php do { ?>
    <tr>
      <td><a href="message_update.php?recordID=<?php echo
$row_Recordset1['id']; ?>"> <?php echo $row_Recordset1['id']; ?>&nbsp; </a>
</td>
      <td><?php echo $row_Recordset1['date']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['time']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['name']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['email']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['message']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['location']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['view']; ?>&nbsp; </td>
    </tr>
    <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
<br />
<table border="0">
  <tr>
    <td><?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
          <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, 0,
$queryString_Recordset1); ?>">First</a>
          <?php } // Show if not first page ?>
    </td>
    <td><?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
          <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage,
max(0, $pageNum_Recordset1 - 1), $queryString_Recordset1); ?>">Previous</a>
          <?php } // Show if not first page ?>
    </td>
    <td><?php if ($pageNum_Recor
Noelbaland - 29 Aug 2008 06:30 GMT
Hello,

I think this was answered before?  All you do is change all the paths in your
actionscript to relative.  Because of Flash's sandbox security feature some
servers don't allow access properly.

So instead of

"http://oliviacourtney.net/html/readGuestbook.php", "POST"

change it to

"html/readGuestbook.php", "POST"

Just a thought - if you want to be extra cautious then use the LoadVars
command instead of loadVariables.  LoadVars has a onLoad method that checks if
your data is going into Flash or not.  More secure and more reliable.
fargond - 14 Oct 2008 12:33 GMT
Good post. It was really helpful for me.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.