close ad
Install the LAtest Updates to Work with CC 2017 and CC 2018
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

How can I use two parameters for a URL?

Thread began 10/19/2016 9:34 pm by mrs | Last modified 10/24/2016 2:54 pm by Ray Borduin | 699 views | 4 replies |

mrs

How can I use two parameters for a URL?

I have set a link like so:

<a href="blog.php?id=<?php echo $row_rs_blog['blog_id']; ?>-<?php echo $row_rs_blog['blog_url']; ?>">

So, in the address bar it will look like this:

http://website.com/blog.php?=1-this_is_my_record_title

Is it possible to pass two variables into a recordset, and if so, how do I set the SELECT so I am using two variables? Currently I am getting: 'Query was empty'.

This is how I have set my recordset on the detail page, but obviously something is wrong:

$colname_rs_blog = "-1";
if (isset($_GET['id'])) {
$colname_rs_blog = $_GET['id'];
}
mysql_select_db($database_PowerCMSConnection, $PowerCMSConnection);
$query_rs_blog = sprintf("SELECT * FROM tbl_blog WHERE blog_id = %s AND blog_url = %s", GetSQLValueString($colname_rs_blog, "text"));
$rs_blog = mysql_query($query_rs_blog, $PowerCMSConnection) or die(mysql_error());
$row_rs_blog = mysql_fetch_assoc($rs_blog);
$totalRows_rs_blog = mysql_num_rows($rs_blog);

Sign in to reply to this post

mrs

Just having a play and came up with this recordset but it's still not working, however the page is not just erroring now. no record is being printed, but it is showing the page template now. Before I was just getting Query was empty. Here's my RS code:

$colname_rs_blog = "-1";
if (isset($_GET['id'])) {
$colname_rs_blog = $_GET['id'];
}
$urlTitle_rs_blog = "-1";
if (isset($_GET['title'])) {
$urlTitle_rs_blog = $_GET['title'];
}
mysql_select_db($database_PowerCMSConnection, $PowerCMSConnection);
$query_rs_blog = sprintf("SELECT * FROM tbl_blog WHERE blog_id = '".$colname_rs_blog."' AND blog_url = '".$urlTitle_rs_blog."'", GetSQLValueString($colname_rs_blog, "text"),GetSQLValueString($urlTitle_rs_blog, "text"));
$rs_blog = mysql_query($query_rs_blog, $PowerCMSConnection) or die(mysql_error());
$row_rs_blog = mysql_fetch_assoc($rs_blog);
$totalRows_rs_blog = mysql_num_rows($rs_blog);


And tried this as a URL:
<a href="blog.php?id=<?php echo $row_rs_blog['blog_id']; ?>-?title=<?php echo $row_rs_blog['blog_url']; ?>">

This is the result in the address bar:
website.com/blog.php?id=2-?title=cycling-tour-lejog-real-life-training

But, when I echo both $colname_rs_blog and $urlTitle_rs_blog to see what values are populating the variables, I am getting this:
-12-?title=cycling-tour-lejog-real-life-training. For some reason it has -1 in front of the id.

I actually think colname_rs_blog is defaulting to -1 and the record id is somehow tagging on to urlTitle_rs_blog when I echo the params, but why I don't know!

Any thoughts?

Sign in to reply to this post

Ray BorduinWebAssist

You should separate multiple parameters with &, so it would be:

php:
<a href="blog.php?id=<?php echo $row_rs_blog['blog_id']; ?>-&title=<?php echo $row_rs_blog['blog_url']; ?>">



The recordset you created has a SQL injection vulnerability. It should be:

$query_rs_blog = sprintf("SELECT * FROM tbl_blog WHERE blog_id = %s AND blog_url = %s", GetSQLValueString($colname_rs_blog, "text"),GetSQLValueString($urlTitle_rs_blog, "text"));

Sign in to reply to this post

mrs

Ooo... are you saying that my way of grabbing a parameter value is the vulnerability?

I.e.: blog_id = '".$colname_rs_blog."' AND blog_url = '".$urlTitle_rs_blog."'

AND, is this the case even if I am only doing a select? I am not doing an insert on this page.

Would that also apply if I did this?:

$b_url = $row_rs_blog['blog_url'];
$b_id = $row_rs_blog['blog_url'];

and then did this with the select:

blog_id = '".$b_url."' AND blog_url = '".$b_id."'

Sign in to reply to this post

Ray BorduinWebAssist

You are bypassing the GetSQLValueString() function and referencing a posted form value directly. That is the vulnerability. Any time you directly reference a value that is submitted in a form or passed through a url without scrubbing it, there is a potential exploit.

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...