Jump to content

Recording members who view profile


graham23s

Recommended Posts

Hi Guys,

 

i have this script, it's suppose to record members who view your profile and store it, into the database only i'm getting 2 errors:

 

Warning: explode() [function.explode]: Empty delimiter
Warning: Invalid argument supplied for foreach() 

 

the code:

 

if($member["id"] <> $profile["id"])
{
if(!preg_match("/".$member["id"]."/", $profile["lastvisitors"]))
{
// Update to add new member ID

$lines = explode($profile["lastvisitors"], "\n");
$done = false;

$new = "";

foreach($lines as $line)
{
if($done == false)
{
$done = true;
continue;
}

$new .= $line."\n";
}
}
}

// Removed the first row, now add this user's ID

$new .= $member["id"];

mysql_query("UPDATE `membership` SET `lastvisitors`='$new' WHERE `id`='{$profile['id']}';") or die(mysql_error());

 

i don't know what the problem is any help would be great

 

Graham

Link to comment
https://forums.phpfreaks.com/topic/51202-recording-members-who-view-profile/
Share on other sites

Hi Mate,

 

thanks for that the errors are now gone, this is the last part of the code:

 

if($profile["lastvisitors"] <> "")
{
$last = explode($profile["lastvisitors"], "\n");

foreach($last as $id)
{
$viewer_query = mysql_query("SELECT * FROM `membership` WHERE `id`='$id';") or die(mysql_error());
$viewer = mysql_fetch_array($viewer_query);

echo $viewer["name"]."<br />";
}
}	

 

this is suppose to echo out the name of the user/s who have visited your profile but i's blank nothing echoes out (even when i edit the database to put a name in) is there anything wrong here can you see at all mate?

 

cheers

 

Graham

 

 

<?php

if($profile["lastvisitors"] != "") {

$last = explode($profile["lastvisitors"], "\n");

foreach($last as $id) {

  $viewer_query = mysql_query("SELECT * FROM membership WHERE id = '$id'") or die(mysql_error());
  $viewer = mysql_fetch_array($viewer_query);
  echo $viewer["name"]."<br />";

}

}

?>

 

Try that.

<?php

if($profile["lastvisitors"] != "") {

$last = explode($profile["lastvisitors"], "\n");

foreach($last as $id) {

  $viewer_query = mysql_query("SELECT * FROM membership WHERE id = '$id'") or die(mysql_error());
  $viewer = mysql_fetch_array($viewer_query) or die(mysql_error());
  echo $viewer["name"]."<br />";

}

} else {

  echo "Query not run!";

}
?>

 

That has debugging :)

Well basically that means that none of the code in your first if statement (i.e. the query) isn't running because

if($profile["lastvisitors"] != "") is reutning false. Just before your if statement put this:

 

echo "<pre>";
print_r($profile);
echo "</pre>";

 

And let me know the output.

Hi Mate,

 

the thing is i got the script from another site i didn't fully understand it but i was thinking that my self, i don't know if this is any help but heres the full code to my profile page:

 

<?php
     // For register_global on PHP settings//////////////////////////////////////////////
     $member = $_COOKIE['member'];

     session_start(); // you must put this to read session variables/////////////////////

     if (empty($member) || !isset($member)) // fail to read the browser cookie///////////
     {
     // Try to read session...///////////////////////////////////////////////////////////
     if (empty($_SESSION['member']) || !isset($_SESSION['member']))
     {
           header("Location: login.php"); // redirect user to login//////////////////////
           exit;
     } else {
          $member = $_SESSION['member'];
  }
}
         //Includes... //////////////////////////////////////////////////////////////////
         include("includes/db_connection.php");
         include("includes/constants.php");
         include("includes/header.php");
         include("includes/loginnav.php");
         
         // Remember the users name...///////////////////////////////////////////////////
         $member = $_COOKIE['member']; 
         
         // Get the link info from the view_member_profiles.php /////////////////////////
         if(isset($_GET['id'])) { // this tells the page which id displayed e.g. view_members.php?id=1

         $id = $_GET['id'];
         
         ################################################################################
if($member["id"] <> $profile["id"])
{
if(!preg_match("/".$member["id"]."/", $profile["lastvisitors"]))
{
// Update to add new member ID

$lines = explode("\n", $profile["lastvisitors"]);
$done = false;

$new = "";

foreach($lines as $line)
{
if($done == false)
{
$done = true;
continue;
}

$new .= $line."\n";
}
}
}


// Removed the first row, now add this user's ID

$new .= $member["id"];

mysql_query("UPDATE `membership` SET `lastvisitors`='$new' WHERE `id`='{$profile['id']}';") or die(mysql_error());



      ################################################################################
if($profile["lastvisitors"] != "") {

$last = explode($profile["lastvisitors"], "\n");

foreach($last as $id) {

  $viewer_query = mysql_query("SELECT * FROM membership WHERE id = '$id'") or die(mysql_error());
  $viewer = mysql_fetch_array($viewer_query) or die(mysql_error());
  echo $viewer["name"]."<br />";

}

} else {

  echo "Query not run!";

}
echo "<pre>";
print_r($profile);
echo "</pre>";
      ################################################################################
         
         // this selects the info for that user from the db
         $member = mysql_query("SELECT * FROM membership where id = '$id'"); 
         $row = mysql_fetch_array($member) or die (mysql_error()); 
         
         // Age calculations...//////////////////////////////////////////////////////////
         $birthday = $row["birthday"]; 
         $birthmonth = $row["birthmonth"];
         $birthday = $row["birthyear"]; 
         $dobtimestamp = strtotime($birthday.$birthmonth.date('Y'));
         if($dobtimestamp < time()) {  //Birthday has not been reached.
         
          $age = (date('Y') - $birthday) -1;
          
         } else { //Birthday has been reached
         
          $age = date('Y') - $birthday;
          
         }
         
         // Make a query to see if the user has a 2nd photo...///////////////////////////
         $query_photo_2 = "SELECT photo2 FROM `membership` WHERE username='$member'";
         $result_photo_2 = mysql_query($query_photo_2);
         
         $photo_2 = $row['photo2'];
         
         // When the profile is viewed increment the database.../////////////////////////
         $sql_update = "UPDATE membership SET profile_views = profile_views+1 WHERE id='$id'"; 
         $result_update = mysql_query($sql_update);
         
         $profile_views = $row["profile_views"];
         
         // Make the date more readable...///////////////////////////////////////////////
         $date_format = $row["login"]; 
         $display_date = date("F j, Y, H:i a", strtotime($date_format));
         
         ################################################################################
         @$query_online = "SELECT name FROM useronline WHERE name ='$member'"; 
	  @$user_online = mysql_query($query_online);  
         ################################################################################
         
         // Define the variable for photo1...////////////////////////////////////////////
         $username = $row['username'];
         $marstatus = $row['marstatus'];
         $children = $row['children'];
         $height = $row['height'];
         $weight = $row['weight'];
         $hair = $row['hair'];
         $eye = $row['eye'];
         $smoking = $row['smoking'];
         $drinking = $row['drinking'];
         $hair = $row['hair'];
         $eye = $row['eye'];
         $birthyear = $row['birthyear'];
         $ethnicity = $row['ethnicity'];
         $sexuality = $row['sexuality'];
         $ethnicity = $row['ethnicity'];
         $country = $row['country'];
         $state = $row['state'];
         $iam2 = $row['iam2'];
         $rel_type = $row['rel_type'];
         $photo1 = $row["photo1"];
         $joindate = $row["join_date"];
         $login = $row["login"];
         $headline = $row['headline'];
         $description = $row['description'];
         $lookingfor = $row['lookingfor'];
         $occupation = $row['occupation'];
         $zodiac = $row['zodiac'];
         $avg_votes = $row['avg_votes'];
         $no_of_votes = $row['no_of_votes'];
         
         
         // NEW profile layout may 7th 2007...///////////////////////////////////////////
         echo "<br />
               <table width=\"80%\" border=\"1\" bordercolor=\"#000000\" cellspacing=\"0\" cellpadding=\"5\">
               <tr>
               <td colspan=\"2\" bgcolor=\"#FAAFBE\"><font color=\"#000000\"><b><p>$username</p></b></font></td>
               </tr>
               <tr>
               <td align=\"center\" bgcolor=\"#E2E2E2\">";
         if(empty($photo1)) {         
          echo "<img src='images/no_pic.jpg' />";           
         } else {            
          echo "<img src='members/$photo1' border='0' />"; 
         }                  
         echo "</td>
               </tr>
               </table>";        
               
         // end the first table...///////////////////////////////////////////////////////
         echo "<table width=\"80%\" border=\"1\" bordercolor=\"#000000\" cellspacing=\"0\" cellpadding=\"3\">
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Age:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$age Years Old</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Marital Status:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$marstatus</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>I Am Looking For A:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$iam2</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>For:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$rel_type</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Children:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$children</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Height:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$height</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Weight:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$weight</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Hair Color:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$hair</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Eye Color:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$eye</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Smoking Habits:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$smoking</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Drinking Habits:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$drinking</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Year Born:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$birthyear</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Zodiac Sign:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$zodiac</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Ethnicity:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$ethnicity</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Sexuality:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$sexuality</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Country:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$country</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>State:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$state</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Joined On:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$joindate</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Last Logged In:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p>$display_date</p></td>
               </tr>
               <tr>
               <td width=\"40%\" align=\"right\" bgcolor=\"#F8F7F1\"><p>Profile Views:</p></td><td bgcolor=\"#FAAFBE\" width=\"40%\ align=\"left\"><p><b>$profile_views</b></p></td>
               </tr>"; 
               
              echo "
               <tr>
               <td colspan=\"2\" bgcolor=\"#FAAFBE\"><font color=\"#000000\"><p>Headline</p></font></td>
               </tr>
               <table width=\"80%\" border=\"1\" bordercolor=\"1\" cellspacing=\"0\" cellpadding=\"5\">    
               <tr>
               <td align=\"center\" bgcolor=\"#F8F7F1\"><p>$headline</td>";
              echo "
               </tr>
               <tr>
               <td colspan=\"2\" bgcolor=\"#FAAFBE\"><font color=\"#000000\"><p>Occupation</p></font></td>
               </tr>
               <tr>
               <td align=\"center\" bgcolor=\"#F8F7F1\"><p>$occupation</td>";
              echo "
               </tr>
               <table width=\"80%\" border=\"1\" bordercolor=\"1\" cellspacing=\"0\" cellpadding=\"5\">
               <tr>
               <td colspan=\"2\" bgcolor=\"#FAAFBE\"><font color=\"#000000\"><p>Description</p></font></td>
               </tr>
               <tr>
               <td align=\"center\" bgcolor=\"#F8F7F1\"><p>$description</td>";
              echo "
               <table width=\"80%\" border=\"1\" bordercolor=\"1\" cellspacing=\"0\" cellpadding=\"5\">
               <tr>
               <td colspan=\"2\" bgcolor=\"#FAAFBE\"><font color=\"#000000\"><p>My Ideal Partner</p></font></td>
               </tr>
               <tr>
               <td align=\"center\" bgcolor=\"#F8F7F1\"><p>$lookingfor</td>
               </table>";               
         
         echo "<table width=\"80%\" border=\"1\" bordercolor=\"#000000\" cellspacing=\"0\" cellpadding=\"3\">
               <tr>
               <td colspan=\"2\" bgcolor=\"#FAAFBE\"><p>Options</p></td>
               </tr>
               <tr>
               <td width=\"40%\"><a href=\"message_user.php?id=$id\"><img src=\"images/msg_1.gif\" border=\"0\"> Send A Private Message</a></td bgcolor=\"#E2E2E2\"><td width=\"40%\" ><a href=\"report_user.php?id=$id\"><img src=\"images/member_icon.jpg\" border=\"0\"> Report This User</a></td>
               </tr>
               <tr>
               <td width=\"40%\"><a href=\"email_user.php?id=$id\"><img src=\"images/msg_1.gif\" border=\"0\"> E-Mail User</a></td><td><a href=\"view_pics.php?id=$id\">Has More Photos?</a>";
               if(empty($photo_2)) {
         
                echo " (<font color=\"red\"><b>No</b></font>)";
         
                } else {
         
                echo " (<font color=\"green\"><b>Yes</b></font>)";
         
                }   
         echo "</td>
               <tr>
               <td width=\"40%\" bgcolor=\"#FAAFBE\"><p>Rate This User:
               <form action=\"rate.php?id=$id\" method=\"POST\"> 
               <select name=\"rating\"> 
               <option value=\"1\">1</option> 
               <option value=\"2\">2</option> 
               <option value=\"3\">3</option> 
               <option value=\"4\">4</option> 
               <option value=\"5\">5</option>  
               <option value=\"6\">6</option> 
               <option value=\"7\">7</option> 
               <option value=\"8\">8</option> 
               <option value=\"9\">9</option> 
               <option value=\"10\">10</option> 
               </select> 
               <input type=\"submit\" value=\"Rate $username\">
               </form> 
               </td>
               <td bgcolor=\"#FAAFBE\"><p>Average Rating <h1>$avg_votes</h1><p>Profile Rated ($no_of_votes) Times.</td>
               </tr>
               </table>";               
         echo "<br />
               <hr />";
?>		
<?php
}
	$id = mysql_real_escape_string(trim($_GET['id'])); 
	if (empty($id)) {

	 echo "<br /><p>Sorry Invaid ID Or You Aren't Logged In!</p>";
	 echo "<meta http-equiv=\"refresh\" content=\"3;URL=login.php\">";	

	} 


	// Get Profile...//////////////////////////////////////////////////////////////// 
	$query = "SELECT * FROM `membership` where `id`='$id' limit 1"; 
	$result = mysql_query($query) or die(mysql_error()); 

	if (mysql_num_rows($result)==1) {

	$row = mysql_fetch_array($result); 

	$members_email = $row['email'];

	extract($row); 


	// Check Comments...///////////////////////////////////////////////////////////// 
	$query2 = mysql_query("SELECT * FROM `member_comments` WHERE `mid`='$id'") or die(mysql_error()); 		
	$id2 = $id; 		
	$count_comments = mysql_num_rows($query2); 

	$form = '<br /><hr /><br />
	         <table width="60%" border="1" bordercolor="black" cellpadding="2" cellspacing="0">
	         <form action="comment_post.php" method="POST">
	         <tr>
	         <td bgcolor="#E2E2E2"><p>Add A Comment To This Users Profile Below:</td>
	         <tr>
	         <td bgcolor="#E2E2E2"><textarea name="comments" cols="25" rows="10"></textarea></td>	         	         
	         <tr>
	         <td bgcolor="#E2E2E2"><input type="hidden" name="mid" value="'.$id2.'">
	         <input type="submit" value="Add A Comment">
	         </td>
	         </table>
	         </form>'; 
	         
	if ($count_comments != 1) { 

           echo "<p>No Comments Posted Yet On $username's Blog.<br />"; 
        
        } else { 
        
        }
        
        while ($row2=mysql_fetch_array($query2)) { 

        $id2_com = $row2[id]; 
        $quick_name = mysql_query("SELECT * FROM `membership` WHERE `id`='$row2[uid]' LIMIT 1") or die (mysql_error()); 

        while ($n=mysql_fetch_array($quick_name)){ 
        
        $mem_name = $n["username"]; 
        $photo1 = $n["photo1"];
        
        } 
        
        echo '<br /><table width="80%" bordercolor="black" border="1" cellspacing="0" cellpadding="2">
              <tr>
              <td bgcolor="#E2E2E2" width="10%"><img src="members/'.$photo1.'" width="50" height="50"/></td><td bgcolor="#E2E2E2" width="50%"><p>(<a href="profile.php?id='.$row2[uid].'">'.$mem_name.'</a>) On ('.$row2[posted].')</td>
              <tr>
              <td bgcolor="#E2E2E2" width="10%"><p>Comments:</td><td rowspan="2" bgcolor="#FAF8CC" width="50%"><p>'.$row2[comments].'</td>
              <tr rowspan="2">
              <td bgcolor="#E2E2E2" width="10%"><p>Post ID: '.$row2[id].'</td>
              </tr>
              </table>';                  
        } 
                 
        echo $form; 
        
        }     
?>   
<?php
     include("includes/google_ads.php");
     // Include the footer...
     include("includes/footer.php")
?>

 

if you don't see anything wrong mate that's cool i'll take the code out , i'm getting therew ith PHP but not that advanced yet lol

 

cheers mate

 

Graham

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.