Skip to main content
April 8, 2010
Question

php script needed to generate unique page

  • April 8, 2010
  • 1 reply
  • 1599 views

Thank you for your understanding, I hope I am in the right place.

I am trying to generate about 30 unique pages to be visited by recipients of a piece of mail.

I am planning to use .htaccess to redirect the visitor to the unique, shortened url.

I cannot figure out how to get this to all work together. Please help

This topic has been closed for replies.

1 reply

April 9, 2010

I think if you're a bit more specific about what you're trying to do you will get more help... your description is very vague.

April 9, 2010

I am trying to implement a personalized url (purl) to print on a mail piece. I have created a mysql database and a form that places some unique information about the visitor using php.

I have successfully linked the page to the database and I believe the scripts for mailing responses will work, based on earlier successes. I did the binding to link the correct field from the database to the url. But now what?

My problem is that I have never generated a unique page and I cannot figure out how to do that. I am thinking that I need some piece of php script to create the dynamic page.

April 10, 2010

Okay, I'll try to break it down. (Is this live on the net? Can you provide a link? That would help a lot.)

You will need to choose a field in your database to act as your primary key that you will use to select the record. In my example, I used "id" - that would require you to add a column to your db table called "id" and number each record 1, 2, 3, 4, etc... You could use some other column with unique data if you wanted... but generally speaking, you'll want all your tables to have some sort of unique identifier that auto-increments as you add new records.

Then, your recordset (on your page it looks like you're using the default name "Recordset1") should be worded something like this (you can type this in manually in the advanced pane):

SELECT *
FROM table_name

WHERE id=colname

Then, click the + button next to where it says "variables" and fill out the info like this:

Name: colname

Type: Interger

Default Value: -1

Runtime Value: $_GET['id']  (it's hard to see, but there are single quotes around 'id' inside the [brackets] .)

This is assuming that you use the id column in your database and in your URL. If you use a different column, replace 'id' with that.

Now, if you bind your dynamic text on the page to this recordset, you should be able to load each user's individual page by going to the URL with each person's id number in the URL, like:

http://www.mysite.com/my_page.php?id=1

http://www.mysite.com/my_page.php?id=2

http://www.mysite.com/my_page.php?id=3

etc...

See if you can that that much to work. Don't forget, to follow this example, you'll need to have a field in your database table called id... and the value of id should be 1, 2, 3, 4, etc. for each record (until you get to 30, or however many you have.)


Hi Michael:

I made some progress. I did create a field called "index" that used incremental values. I changed that field to"id" to work with your suggestions.

Thanks to you, there is progress.

When I type the address with this at the end "seeds.php?id=4". I get the information from the first record only. It does not matter which id number I use, I still get only the first record information.

This is a link to a default page without the variable personalized information. http://www.deansmailing.com/seeds/

This is the new beginning script:

<?php require_once('../Connections/seeds.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;
}
}

$id_Recordset1 = "-1";
if (isset($_GET['id'])) {
  $id_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_seeds, $seeds);
$query_Recordset1 = sprintf("SELECT * FROM seeds WHERE %s=%s", GetSQLValueString($id_Recordset1, "int"),GetSQLValueString($id_Recordset1, ""));
$Recordset1 = mysql_query($query_Recordset1, $seeds) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>