Jump to content

[SOLVED] Database search engine problems... PLEASE HELP


Recommended Posts

Hi everyone,

I know this is probably a simple problem but don't be mean..I am just a girl ??? j/k

OK. I have a page where you enter a userid and it queries my database and only displays exact matches. If there is more than one result it SHOULD display the userid, fname, lname, city, state for each result with the userid being the same but different fname, lname, etc if applicable. Instead, it displays the results but they are all identical to the first database entry (fname, lname, etc) even though the entries are supposed to be different.

Another problem is that if you press submit without putting anything in the search bar it displays the no results found instead of invalid search parameters or something.

And finally... I am being greedy here so you don't have to help me with this... I am trying to figure out a way that the person searching can email the user from the results with a default account (ie admin@mydomain.com) but not be able to see their email address. any suggestions would be GREATLY appreciated :-*

 

Here is the code:

 

<?php 

//connect to database 
$hostname="host";
$username="user";
$password="********";
$dbname="users";

//open database connection
mysql_connect($hostname,$username,$password);
mysql_select_db($dbname);

//specify how many results to display per page
$limit = 10;

// Get the search variable from URL
  $var = @$_GET['q'] ;

//only allow alphanumeric ***--> I probably screwed this up but it seems to work except it displays "no record of found" when submitted with nothing in the search bar
  if (ereg("^[A-z0-9]*[']?[A-z0-9]*$",$var)) 

//trim whitespace from the stored variable
  $trimmed = trim($var);
  
//separate key-phrases into keywords
  $trimmed_array = explode(" ",$trimmed); 

// check for an empty string and display a message.
if ($trimmed == "") {
  $resultmsg =  "<p><b>SEARCH ERROR</b></p><p>Only enter letters or numbers: no spaces, dashes or special characters</p>" ;
  }

// check for a search parameter
if (!isset($var)){
  $resultmsg =  "<p>Search Error</p><p>We don't seem to have a search parameter! </p>" ;
  }

// Build SQL Query for each keyword entered 
foreach ($trimmed_array as $trimm){
      
// EDIT HERE and specify your table and field names for the SQL query
     $query = "SELECT * FROM table_1 WHERE field_1 LIKE \"$trimm\" ORDER BY field_1   DESC" ; 

// Execute the query to  get number of rows that contain search kewords
     $numresults=mysql_query ($query);
     $row_num_links_main =mysql_num_rows ($numresults);

// next determine if 's' has been passed to script, if not use 0.
// 's' is a variable that gets set as we navigate the search result pages.
     if (empty($s)) {
         $s=0;
     }

      // now let's get results.
      $query .= " LIMIT $s,$limit" ;
      $numresults = mysql_query ($query) or die ( "Couldn't execute query" );
      $row= mysql_fetch_array ($numresults);

//store record id of every item that contains the keyword in the array we need to do this to avoid display of duplicate search result.
      do{

          $adid_array[] = $row[ 'field_1' ];
      }while( $row= mysql_fetch_array($numresults));
} 

//end foreach
if($row_num_links_main == 0 && $row_set_num == 0){
   $resultmsg = "no record of " . $trimmed . " found" ;
}

//delete duplicate record id's from the array. To do this we will use array_unique function ***--> I changed this to array_values because I want to allow duplicate results. The problem is that the results are identical when only field_1 is supposed to be the same.
   $tmparr = array_values($adid_array); 
   $i=0; 
   foreach ($tmparr as $v) { 
       $newarr[$i] = $v; 
       $i++; 
   } 

// now you can display the results returned. But first we will display the search form on the top of the page
?>

<form action="search1.php" method="get" name="search">
  <div align="center">
      <input name="q" type="text" value="<?php echo $q; ?>" size="15"> 
      <input name="search" type="submit" value="Search">
  </div>
</form>

<?php

// display what the person searched for.
if( isset ($resultmsg)){
  echo $resultmsg;
  exit();
}else{
  echo "a match for " . $var . " has been found";
}

foreach($newarr as $value){

// EDIT HERE and specify your table and field names for the SQL query
$query_value = "SELECT * FROM table_1 WHERE field_1 = '$value'";
$num_value=mysql_query ($query_value);
$row_linkcat= mysql_fetch_array ($num_value);
$row_num_links= mysql_num_rows ($num_value);

//now let's make the keywods bold. To do that we will use preg_replace function. 
//EDIT parts of the lines below that have fields names like $row_linkcat[ 'field1' ]
//This script assumes you are searching only 3 fields. If you are searching more fileds make sure that add appropriate line. 
  $serial = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_1' ] );
  $make = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_2' ] );
  $model = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_3' ] );
  $caliber = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_4' ] );
  $reward = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_5' ] );
  $email = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_6' ] );
  $phone = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_7' ] );

foreach($trimmed_array as $trimm){
    if($trimm != 'b' ){
//IF you added more fields to search make sure to add them below as well.
        $serial = preg_replace( "'($trimm)'si" , "<b>\\1</b>" , $userid);
        $make = preg_replace( "'($trimm)'si" , "<b>\\1</b>" , $fname);
        $model = preg_replace( "'($trimm)'si" , "<b>\\1</b>" , $lname);
$caliber = preg_replace( "'($trimm)'si" , "<b>\\1</b>" , $city);
        $reward = preg_replace( "'($trimm)'si" , "<b>\\1</b>" , $state);
        $email = preg_replace( "'($trimm)'si" ,  "<b>\\1</b>" , $email);
$phone = preg_replace( "'($trimm)'si" ,  "<b>\\1</b>" , $phone);  
     }
//end highlight
//***--> I am sure I am asking too much here but... how can I make it so the email is not displayed but you can click a link and send an anonymous email from a default account (i.e. admin@mydomain.com)?
?>
<p>
<?php echo "<b>Serial: </b>" . $userid; ?><br>
<?php echo "<b>Make: </b>" . $fname; ?><br>
<?php echo "<b>Model: </b>" . $lname; ?><br>
<?php echo "<b>Caliber: </b>" . $city; ?>
<?php echo "<b>Caliber: </b>" . $state; ?>

</p>

<?php 
}   //end foreach $trimmed_array 
   if($row_num_links_main > $limit){
   // next we need to do the links to other search result pages
      if ($s>=1) { // do not display previous link if 's' is '0'
        $prevs=($s-$limit);
         echo "<div align='left'><a href='$PHP_SELF?s=$prevs&q=$var&catid=$catid'>Previous " .$limit. "</a></div>";
      }
     // check to see if last page
     $slimit =$s+$limit;
       if (!($slimit >= $row_num_links_main) && $row_num_links_main!=1) {
     // not last page so display next link
          $n=$s+$limit;
           echo "<div align='right'><a href='$PHP_SELF?s=$n&q=$var&catid=$catid'>Next " .$limit. "</a></div>";
        }
    }
}  //end foreach $newarr
?>

No, I just changed the parts that didn't meet my requirements...or at least tried...I have only been using php for about two weeks now when I learned that you can't do everything with html :o I have been trying to figure it out on my own but I have been overwhelmed with the amount information out there. If you know of any specific resources that will help me with this I am willing to do the legwork. thanks

Sorry, I accidentally posted the first version I modified...that one didn't work.

Here is the one almost works ;D

<?php 

//connect to database 
$hostname="host";
$username="user";
$password="********";
$dbname="users";

//open database connection
mysql_connect($hostname,$username,$password);
mysql_select_db($dbname);

//specify how many results to display per page
$limit = 10;

// Get the search variable from URL
  $var = @$_GET['q'] ;

//only allow alphanumeric ***--> I probably screwed this up but it seems to work except it displays "no record of found" 

when submitted with nothing in the search bar
  if (ereg("^[A-z0-9]*[']?[A-z0-9]*$",$var)) 

//trim whitespace from the stored variable
  $trimmed = trim($var);
  
//separate key-phrases into keywords
  $trimmed_array = explode(" ",$trimmed); 

// check for an empty string and display a message.
if ($trimmed == "") {
  $resultmsg =  "<p><b>SEARCH ERROR</b></p><p>Only enter letters or numbers: no spaces, dashes or special characters</p>" 

;
  }

// check for a search parameter
if (!isset($var)){
  $resultmsg =  "<p>Search Error</p><p>We don't seem to have a search parameter! </p>" ;
  }

// Build SQL Query for each keyword entered 
foreach ($trimmed_array as $trimm){
      
// EDIT HERE and specify your table and field names for the SQL query
     $query = "SELECT * FROM table_1 WHERE field_1 LIKE \"$trimm\" ORDER BY field_1   DESC" ; 

// Execute the query to  get number of rows that contain search kewords
     $numresults=mysql_query ($query);
     $row_num_links_main =mysql_num_rows ($numresults);

// next determine if 's' has been passed to script, if not use 0.
// 's' is a variable that gets set as we navigate the search result pages.
     if (empty($s)) {
         $s=0;
     }

      // now let's get results.
      $query .= " LIMIT $s,$limit" ;
      $numresults = mysql_query ($query) or die ( "Couldn't execute query" );
      $row= mysql_fetch_array ($numresults);

//store record id of every item that contains the keyword in the array we need to do this to avoid display of duplicate 

search result.
      do{

          $adid_array[] = $row[ 'field_1' ];
      }while( $row= mysql_fetch_array($numresults));
} 

//end foreach
if($row_num_links_main == 0 && $row_set_num == 0){
   $resultmsg = "no record of " . $trimmed . " found" ;
}

//delete duplicate record id's from the array. To do this we will use array_unique function ***--> I changed this to 

array_values because I want to allow duplicate results. The problem is that the results are identical when only field_1 

is supposed to be the same.
   $tmparr = array_values($adid_array); 
   $i=0; 
   foreach ($tmparr as $v) { 
       $newarr[$i] = $v; 
       $i++; 
   } 

// now you can display the results returned. But first we will display the search form on the top of the page
?>

<form action="search1.php" method="get" name="search">
  <div align="center">
      <input name="q" type="text" value="<?php echo $q; ?>" size="15"> 
      <input name="search" type="submit" value="Search">
  </div>
</form>

<?php

// display what the person searched for.
if( isset ($resultmsg)){
  echo $resultmsg;
  exit();
}else{
  echo "a match for " . $var . " has been found";
}

foreach($newarr as $value){

// EDIT HERE and specify your table and field names for the SQL query
$query_value = "SELECT * FROM table_1 WHERE field_1 = '$value'";
$num_value=mysql_query ($query_value);
$row_linkcat= mysql_fetch_array ($num_value);
$row_num_links= mysql_num_rows ($num_value);

//now let's make the keywods bold. To do that we will use preg_replace function. 
//EDIT parts of the lines below that have fields names like $row_linkcat[ 'field1' ]
//This script assumes you are searching only 3 fields. If you are searching more fileds make sure that add appropriate 

line. 
  $userid = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_1' ] );
  $fname = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_2' ] );
  $lname = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_3' ] );
  $city = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_4' ] );
  $state = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_5' ] );
  $email = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_6' ] );
  $phone = preg_replace ( "'($var)'si" , "<b>\\1</b>" , $row_linkcat[ 'field_7' ] );

foreach($trimmed_array as $trimm){
    if($trimm != 'b' ){
//IF you added more fields to search make sure to add them below as well.
        $userid = preg_replace( "'($trimm)'si" , "<b>\\1</b>" , $userid);
        $fname = preg_replace( "'($trimm)'si" , "<b>\\1</b>" , $fname);
        $lname = preg_replace( "'($trimm)'si" , "<b>\\1</b>" , $lname);
$city = preg_replace( "'($trimm)'si" , "<b>\\1</b>" , $city);
        $state = preg_replace( "'($trimm)'si" , "<b>\\1</b>" , $state);
        $email = preg_replace( "'($trimm)'si" ,  "<b>\\1</b>" , $email);
$phone = preg_replace( "'($trimm)'si" ,  "<b>\\1</b>" , $phone);  
     }
//end highlight
//***--> I am sure I am asking too much here but... how can I make it so the email is not displayed but you can click a 

link and send an anonymous email from a default account (i.e. admin@mydomain.com)?
?>
<p>
<?php echo "<b>userid: </b>" . $userid; ?><br>
<?php echo "<b>fname: </b>" . $fname; ?><br>
<?php echo "<b>lname: </b>" . $lname; ?><br>
<?php echo "<b>city: </b>" . $city; ?>
<?php echo "<b>state: </b>" . $state; ?>

</p>

<?php 
}   //end foreach $trimmed_array 
   if($row_num_links_main > $limit){
   // next we need to do the links to other search result pages
      if ($s>=1) { // do not display previous link if 's' is '0'
        $prevs=($s-$limit);
         echo "<div align='left'><a href='$PHP_SELF?s=$prevs&q=$var&catid=$catid'>Previous " .$limit. "</a></div>";
      }
     // check to see if last page
     $slimit =$s+$limit;
       if (!($slimit >= $row_num_links_main) && $row_num_links_main!=1) {
     // not last page so display next link
          $n=$s+$limit;
           echo "<div align='right'><a href='$PHP_SELF?s=$n&q=$var&catid=$catid'>Next " .$limit. "</a></div>";
        }
    }
}  //end foreach $newarr
?>

O ok, well i modified this one so it similar (a bit) to mine.

 

<form action="search1.php" method="get" name="search">
  <div align="center">
      <input name="q" type="text" value="<?php echo $q; ?>" size="15">
      <input name="search" type="submit" value="Search">
  </div>
</form>
<p>
<?php 
//connect to database 
$hostname="host";
$username="user";
$password="********";
$dbname="users";

//open database connection
mysql_connect($hostname,$username,$password);
mysql_select_db($dbname);

//specify how many results to display per page
$limit = 10;

// Get the search variable from URL
if(isset($_GET['q']))
$var = $_GET['q'] ;//Removed the @ as this suppresses errors, better to use an if statment
else
echo "You must enter a search parameter";//message to print if there is no get var passed

//only allow alphanumeric ***--> I probably screwed this up but it seems to work except it displays "no record of found" when submitted with nothing in the search bar
if (!ereg("^[A-z0-9]*[']?[A-z0-9]*$",$var))
{
//trim whitespace from the stored variable
$trimmed = trim($var);
  
//separate key-phrases into keywords
$trimmed_array = explode(" ",$trimmed); 

// check for an empty string and display a message.
if (strlen($trimmed) == 0) 
	$resultmsg =  "<p><b>SEARCH ERROR</b></p><p>Only enter letters or numbers: no spaces, dashes or special characters</p>" ;

$row_count = 0;

// Build SQL Query for each keyword entered 
foreach ($trimmed_array as $trimm)
{
      
	// EDIT HERE and specify your table and field names for the SQL query
     $query = "SELECT * FROM table_1 WHERE field_1 LIKE '\"$trimm\"' ORDER BY field_1 DESC" ; 

	// Execute the query to  get number of rows that contain search kewords
     $numresults = mysql_query ($query) or die ("Couldn't execute query: Reason; ".mysql_error());
     $row_num_links_main =mysql_num_rows ($numresults);
	 $row_count += $row_num_links;

// next determine if 's' has been passed to script, if not use 0.
// 's' is a variable that gets set as we navigate the search result pages.
    if(!isset($s)) 
		$s=0;

    // now let's get results.
    $query .= " LIMIT $s,$limit" ;
	$numresults = mysql_query ($query) or die ("Couldn't execute query: Reason; ".mysql_error());
	while($row = mysql_fetch_array($numresults))
	{
		echo "<b>Serial: </b>" . $row['id'];//enter the proper row names
		echo "<b>Make: </b>" . $row['fname'];
		echo "<b>Model: </b>" . $row['model'];
		echo "<b>Caliber: </b>" . $row['city'];
		echo "<b>Caliber: </b>" . $row['state'];
	}
} 
//end foreach
?>
</p>

 

It might need some work, here is my search feature used on my site

 

	<div class="post">
		<h1 class="title">Search</h1>
		<div class="entry">
			<p>	
				<form id="searchform" method="get" action="">
						<input type="text" maxlength="20" name="query" id="s" size="15" value="<?php if(isset($_GET['query'])){echo $_GET['query'];}?>" >
						<br>
						<input type="submit" value="Search" id="x" >
				</form>
		</div>
	</div>
<?php
if(isset($_GET['query']))
{
$search = stripslashes($_GET['query']);
$search = mysql_real_escape_string($search);
$search = trim($search);
if(strlen($search) < 2)
	echo "<div class=\"entry\">Please enter two or more values to perform a search</div>";
else
{
	$sql = "SELECT COUNT(*) FROM djw_snippet WHERE `title` LIKE '%".$search."%'  OR `poster` LIKE '%".$search."%' OR `desc` LIKE '%".$search."%'";
	$result = mysql_query($sql);
	$r = mysql_fetch_row($result);
	$numrows = $r[0];

	// number of rows to show per page
	$rowsperpage = 10;
	// find out total pages
	$totalpages = ceil($numrows / $rowsperpage);

	// get the current page or set a default
	if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {
	   // cast var as int
	   $currentpage = (int) $_GET['currentpage'];
	} else {
	   // default page num
	   $currentpage = 1;
	} // end if

	// if current page is greater than total pages...
	if ($currentpage > $totalpages) {
	   // set current page to last page
	   $currentpage = $totalpages;
	} // end if
	// if current page is less than first page...
	if ($currentpage < 1) {
	   // set current page to first page
	   $currentpage = 1;
	} // end if
	if($totalpages > 1)
	echo "<div class=\"post\"><h2 class=\"title\">Page $currentpage out of $totalpages</h2></div>";

	// the offset of the list, based on current page 
	$offset = ($currentpage - 1) * $rowsperpage;


	// get the info from the db 
	$sql = "SELECT * FROM `djw_snippet` WHERE `title` LIKE '".$search."'  OR `poster` LIKE '%".$search."%' OR `tags` LIKE '%".$search."%'  ORDER BY time DESC LIMIT $offset, $rowsperpage";//removed OR `example` LIKE '%".$search."%' and OR `code` LIKE '%".$search."%'
	$result = mysql_query($sql);

	// while there are rows to be fetched...
		$snip_count = mysql_num_rows($result);
		if(strlen($search) > 30)
			$r = substr($search,0,30)."...";
		else
			$r = $search;
		if($snip_count == 1)
			$c = $snip_count." result found - ";
		else
			$c = $snip_count." results found - ";
		echo "<p class=\"byline\">".$c.$r."</p><div class=\"entry\">";
		if($snip_count == 0)
		{
			echo "<br>Sorry there are no results that match your criterea";
		}	
		else
		{	
			while($rows = mysql_fetch_assoc($result))
			{
				$tags = $rows['tags'];	

				if(substr_count(strtolower($tags),strtolower($search)) > 1)
				{
					$pos = stripos($tags,$search);
					$len = strlen($search);
					$tags = substr_replace($tags,"",$pos,$len);
				}

				$tags = str_replace(","," - ",$tags);
				$tags = str_ireplace($search,"<b style=\"color:#FFFFFF;\">".$search."</b>",$tags);	
				$title = ucfirst($rows['title']);

				echo "<br><a href=\"http://djw-webdesign.awardspace.com/code.php?snippet=".$rows['id']."\">".$title."</a> - Posted by ".ucfirst($rows['poster'])."<br>  Tags: ".$tags;
			}
		}
			echo "</div></div>";		


	/******  build the pagination links ******/
	// range of num links to show
	$range = 3;

	// if not on page 1, don't show back links
	if ($currentpage > 1) {
		if($totalpages > 2)
	   echo " <a href='{$_SERVER['PHP_SELF']}?query=$search&currentpage=1'><<</a> ";
	   // get previous page num
	   $prevpage = $currentpage - 1;
	   // show < link to go back to 1 page
	   echo " <a href='{$_SERVER['PHP_SELF']}?query=$search&currentpage=$prevpage'><</a> ";
	} // end if 

	// loop to show links to range of pages around current page
	for ($x = ($currentpage - $range); $x < (($currentpage + $range) + 1); $x++) {
	   // if it's a valid page number...
	   if (($x > 0) && ($x <= $totalpages)) {
	      // if we're on current page...
	      if ($x == $currentpage) {
			if($totalpages > 1)
	         echo " [<b>$x</b>] ";
	      // if not current page...
	      } else {
	         // make it a link
		 echo " <a href='{$_SERVER['PHP_SELF']}?query=$search&currentpage=$x'>$x</a> ";
	      } // end else
	   } // end if 
	} // end for

	// if not on last page, show forward and last page links	
	if ($currentpage != $totalpages) {
	   // get next page
	   $nextpage = $currentpage + 1;
	    // echo forward link for next page 
			if($totalpages > 1)		
	   echo " <a href='{$_SERVER['PHP_SELF']}?query=$search&currentpage=$nextpage'>></a> ";
	if($totalpages > 2)
	   echo " <a href='{$_SERVER['PHP_SELF']}?query=$search&currentpage=$totalpages'>>></a> ";
	} // end if
	/****** end build pagination links ******/
}	
}
?>

OK...I tried to figure this one out on my own but I am stumped. I used the following code and I am getting this error: Parse error: syntax error, unexpected $end in D:\Host\html\search1.php on line 74

 

<form action="search1.php" method="get" name="search">
  <div align="center">
      <input name="q" type="text" value="<?php echo $q; ?>" size="15">
      <input name="search" type="submit" value="Search">
  </div>
</form>
<p>
<?php 
//connect to database 
$hostname="host";
$username="username";
$password="*********";
$dbname="users";

//open database connection
mysql_connect($hostname,$username,$password);
mysql_select_db($dbname);

//specify how many results to display per page
$limit = 10;

// Get the search variable from URL
if(isset($_GET['q']))
$var = $_GET['q'] ;
else
echo "You must enter a search parameter";//message to print if there is no get var passed

//only allow alphanumeric
if (!ereg("^[A-z0-9]*[']?[A-z0-9]*$",$var))
{
//trim whitespace from the stored variable
$trimmed = trim($var);
  
//separate key-phrases into keywords
$trimmed_array = explode(" ",$trimmed); 

// check for an empty string and display a message.
if (strlen($trimmed) == 0) 
	$resultmsg =  "<p><b>SEARCH ERROR</b></p><p>Only enter letters or numbers: no spaces, dashes or special characters</p>" ;

$row_count = 0;

// Build SQL Query for each keyword entered 
foreach ($trimmed_array as $trimm)
{
      
	//specify the table and field names for the SQL query
     $query = "SELECT * FROM table_1 WHERE field_1 LIKE '\"$trimm\"' ORDER BY field_1 DESC" ; 

	// Execute the query to get number of rows that contain search kewords
     $numresults = mysql_query ($query) or die ("Couldn't execute query: Reason; ".mysql_error());
     $row_num_links_main =mysql_num_rows ($numresults);
	 $row_count += $row_num_links;

//if 's' has been passed to script, if not use 0.
// 's' is a variable that gets set as we navigate the search result pages.
    if(!isset($s)) 
		$s=0;

    //get results
    $query .= " LIMIT $s,$limit" ;
	$numresults = mysql_query ($query) or die ("Couldn't execute query: Reason; ".mysql_error());
	while($row = mysql_fetch_array($numresults))
	{
		echo "<b>User ID: </b>" . $row['field_1'];
		echo "<b>F Name: </b>" . $row['field_2'];
		echo "<b>L Name: </b>" . $row['field_3'];
		echo "<b>City: </b>" . $row['field_4'];
		echo "<b>State: </b>" . $row['field_5'];
	}
} 
?>
</p>

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.