Help? - Retrieve link post data problem

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
User avatar
mhouldridge
Forum Contributor
Posts: 267
Joined: Wed Jan 26, 2005 5:13 am

Help? - Retrieve link post data problem

Post by mhouldridge »

Hi,

I have two php pages. The first is called view.php which lists all of the asset numbers from my mysql database and displays them as a link. I also have a viewall.php page which takes the link post from view.php and uses this to display all of the data for that asset.

The problem is is that the data is not displayed. I have had this working with a form post, but not a link post.

Here is the code for the view.php page

Code: Select all

<?php
$db = mysql_connect("localhost","NOT INCLUDED","NOT INCLUDED") or die("Problem connecting");
mysql_select_db("audit") or die("Problem selecting database");
$query = "SELECT * FROM dedicated order by type";
$result = mysql_query($query) or die ("Query failed");
//let's get the number of rows in our result so we can use it in a for loop
$numofrows = mysql_num_rows($result);
echo "<TABLE BORDER=\"0\" table width=\"100%\">\n";
echo "<TR bgcolor=\"#cccccc\"><TD font colour=\"red\"><b>Asset</b></TD><TD><b>Title</b></TD><TD><b>Customer</b></TD><TD><b>Type</b></TD><TD><b>IP address</b></TD></TR>\n";
for($i = 0; $i < $numofrows; $i++) {
    $row = mysql_fetch_array($result); //get a row from our result set
    if($i % 2) { //this means if there is a remainder
        echo "<TR bgcolor=\"#ffff99\">\n";
    } else { //if there isn't a remainder we will do the else
        echo "<TR bgcolor=\"#ffffcc\">\n";
    }
    echo "<TD><font color=\"red\"><b><a href='viewall.php'?varl=".$row['asset'].">".$row['asset']."</a></b></font></TD><TD><font size=\"2\">".$row['title']."</TD><TD><font size=\"2\">".$row['customer']."</TD><TD><font size=\"2\">".$row['type']."</TD><TD><font size=\"2\">".$row['IP']."</TD>\n"; 
    echo "</TR>\n";
}
//now let's close the table and be done with it 
echo "</TABLE>\n";
?>

...And here is the code for the viewall.php page that shows the link data

Code: Select all

<?php
foreach($HTTP_POST_VARS as $varname => $value)
        $formVars[$varname]=$value;
$db = mysql_connect("localhost","",""); 
mysql_select_db ('audit'); 
$query="SELECT * FROM dedicated WHERE asset = \"".$_GET."\"";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
$formVars = array();
$formVars["title"]=$row["title"];
$formVars["customer"]=$row["customer"];
$formVars["type"]=$row["type"];
$formVars["serial"]=$row["serial"];
$formVars["os"]=$row["os"];
$formVars["oemfull"]=$row["oemfull"];
$formVars["oslicense"]=$row["oslicense"];
$formVars["IP"]=$row["IP"];
$formVars["location"]=$row["location"];
$formVars["processor"]=$row["processor"];
$formVars["memory"]=$row["memory"];
$formVars["motherboard"]=$row["motherboard"];
$formVars["software"]=$row["software"];
$formVars["software2"]=$row["software2"];
$formVars["software3"]=$row["software3"];
$formVars["software4"]=$row["software4"];
$formVars["software5"]=$row["software5"];
$formVars["software6"]=$row["software6"];
$formVars["software7"]=$row["software7"];
$formVars["software8"]=$row["software8"];
$formVars["software9"]=$row["software9"];
$formVars["software10"]=$row["software10"];
$formVars["software11"]=$row["software11"];
$formVars["software12"]=$row["software12"];
$formVars["software13"]=$row["software13"];
$formVars["software14"]=$row["software14"];
$formVars["software15"]=$row["software15"];
$formVars["disksize"]=$row["graphics"];
$formVars["networkcard"]=$row["networkcard"];
$formVars["graphics"]=$row["graphics"];
$formVars["license"]=$row["license"];
$formVars["license2"]=$row["license2"];
$formVars["license3"]=$row["license3"];
$formVars["license4"]=$row["license4"];
$formVars["license5"]=$row["license5"];
$formVars["license6"]=$row["license6"];
$formVars["license7"]=$row["license7"];
$formVars["license8"]=$row["license8"];
$formVars["license9"]=$row["license9"];
$formVars["license10"]=$row["license10"];
$formVars["license11"]=$row["license11"];
$formVars["license12"]=$row["license12"];
$formVars["license13"]=$row["license13"];
$formVars["license14"]=$row["license14"];
$formVars["license15"]=$row["license15"];
$formVars["asset"]=$row["asset"];
$formVars["value"]=$row["value"];
$formVars["value2"]=$row["value2"];
mysql_close($db);
?>
your help would be greatly appreciated.

regards,
mark
hame22
Forum Contributor
Posts: 214
Joined: Wed May 11, 2005 5:50 am

Post by hame22 »

you need to use GET rather than POST when using links
User avatar
mhouldridge
Forum Contributor
Posts: 267
Joined: Wed Jan 26, 2005 5:13 am

Post by mhouldridge »

Hi,

Here is the one which works with a form post, with the text box called UID;

Code: Select all

<?php
foreach($HTTP_POST_VARS as $varname => $value)
        $formVars[$varname]=$value;
$db = mysql_connect("localhost","giacom-admin","snooker"); 
mysql_select_db ('audit'); 
$query="SELECT * FROM dedicated WHERE asset = \"".$formVars["UID"]."\"";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
$formVars = array();
$formVars["title"]=$row["title"];
$formVars["customer"]=$row["customer"];
$formVars["type"]=$row["type"];
$formVars["serial"]=$row["serial"];
$formVars["os"]=$row["os"];
$formVars["oemfull"]=$row["oemfull"];
$formVars["oslicense"]=$row["oslicense"];
$formVars["IP"]=$row["IP"];
$formVars["location"]=$row["location"];
$formVars["processor"]=$row["processor"];
$formVars["memory"]=$row["memory"];
$formVars["motherboard"]=$row["motherboard"];
$formVars["software"]=$row["software"];
$formVars["software2"]=$row["software2"];
$formVars["software3"]=$row["software3"];
$formVars["software4"]=$row["software4"];
$formVars["software5"]=$row["software5"];
$formVars["software6"]=$row["software6"];
$formVars["software7"]=$row["software7"];
$formVars["software8"]=$row["software8"];
$formVars["software9"]=$row["software9"];
$formVars["software10"]=$row["software10"];
$formVars["software11"]=$row["software11"];
$formVars["software12"]=$row["software12"];
$formVars["software13"]=$row["software13"];
$formVars["software14"]=$row["software14"];
$formVars["software15"]=$row["software15"];
$formVars["disksize"]=$row["graphics"];
$formVars["networkcard"]=$row["networkcard"];
$formVars["graphics"]=$row["graphics"];
$formVars["license"]=$row["license"];
$formVars["license2"]=$row["license2"];
$formVars["license3"]=$row["license3"];
$formVars["license4"]=$row["license4"];
$formVars["license5"]=$row["license5"];
$formVars["license6"]=$row["license6"];
$formVars["license7"]=$row["license7"];
$formVars["license8"]=$row["license8"];
$formVars["license9"]=$row["license9"];
$formVars["license10"]=$row["license10"];
$formVars["license11"]=$row["license11"];
$formVars["license12"]=$row["license12"];
$formVars["license13"]=$row["license13"];
$formVars["license14"]=$row["license14"];
$formVars["license15"]=$row["license15"];
$formVars["asset"]=$row["asset"];
$formVars["value"]=$row["value"];
$formVars["value2"]=$row["value2"];
mysql_close($db);
?>

The top part is the bit I believe I need to change. Please could you suggest anything for me to get this working with a link instead of a form post?

Your help so far is much appreciated.
User avatar
JayBird
Admin
Posts: 4524
Joined: Wed Aug 13, 2003 7:02 am
Location: York, UK
Contact:

Post by JayBird »

try changing this line

Code: Select all

$query="SELECT * FROM dedicated WHERE asset = \"".$_GET."\"";
to

Code: Select all

$query="SELECT * FROM dedicated WHERE asset = \"".$_GET['var1']."\"";
On a side note, you shouldn't use $_GET or $_POST vars directly in your query, it can lead to serious SQL Injection security issues
hame22
Forum Contributor
Posts: 214
Joined: Wed May 11, 2005 5:50 am

Post by hame22 »

have u tried $_HTTP_GET_VARS rather than $HTTP_POST_VARS in your second page???????
User avatar
mhouldridge
Forum Contributor
Posts: 267
Joined: Wed Jan 26, 2005 5:13 am

Post by mhouldridge »

I get;

Undefined index: varl in F:\Auditwebsite\viewall.php on line 6

That being the line of;

Code: Select all

$query="SELECT * FROM dedicated WHERE asset = \"".$_GET["varl"]."\"";
Post Reply