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
mhouldridge
Forum Contributor
Posts: 267 Joined: Wed Jan 26, 2005 5:13 am
Post
by mhouldridge » Mon May 16, 2005 4:07 am
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 » Mon May 16, 2005 4:19 am
you need to use GET rather than POST when using links
mhouldridge
Forum Contributor
Posts: 267 Joined: Wed Jan 26, 2005 5:13 am
Post
by mhouldridge » Mon May 16, 2005 4:27 am
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.
JayBird
Admin
Posts: 4524 Joined: Wed Aug 13, 2003 7:02 am
Location: York, UK
Contact:
Post
by JayBird » Mon May 16, 2005 4:31 am
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 » Mon May 16, 2005 4:33 am
have u tried $_HTTP_GET_VARS rather than $HTTP_POST_VARS in your second page???????
mhouldridge
Forum Contributor
Posts: 267 Joined: Wed Jan 26, 2005 5:13 am
Post
by mhouldridge » Mon May 16, 2005 4:40 am
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"]."\"";