Solved

HOw do i click on image to submit form that pass value to next page using php

Posted on 2007-11-18
7
196 Views
Last Modified: 2013-12-13
Not sure if anyone is out there this Sunday, but just  in case.  I have set up a search form that returns the number of matches from a db.  From that results page, I want to click an edit button(that is an image) that carries the value to the next page.  I can't seem to get this to work.  Any help would be appreciated..  Code  attached and example located here:
http://mywebgenius.net/one.htm
<html>
<?php
//searches using ID/username from db
   $dbname="northwind";
   $host="localhost";
   $port="1433";
   $user="root";
   $password="";
 
$_POST['txt_searchName'];
$viewDetail = $_POST['txt_viewDetail'];
echo "<br><br>view detail has:  ".$viewDetail."<br><br>";
 
/*if (!$txt_searchName)
{
echo "<p align=center><font color=#800000 size=5 face=Arial Black>You did not enter a search criteria.<br><br>Please Try Again.</font></p>";
exit;	
}*/
//echo $_POST['txt_searchName'];
$searchName  = addslashes(trim($_POST['txt_searchName']));
echo "<br><br>search name is:  ".$searchName."<br><br>";
 
$connection=mysql_connect($host,$user,$password) or Die("Unable to connect to " . $host);
  
   mysql_select_db($dbname);
    $qry = "select CustomerID, CompanyName, City from tblcustomers where CustomerID LIKE  '%".$searchName."%'";
    echo $qry;
    $result = mysql_query($qry);
	$num_results = mysql_num_rows($result);
	echo "<br><br><font face=Arial size=4 color=#000080><b>Total # of Users Found: " .$num_results."</b></font><br><br>";
 
echo "<table border=1 id=table1 width=50% style='border-collapse: collapse'>";
echo "<tr>";
echo "<td bgcolor=#BEBEBE><font color=#000080><p align=center><b>Customer ID</td>
	  <td bgcolor=#BEBEBE><font color=#000080><p align=center><b>Customer Name</td>
	  <td bgcolor=#BEBEBE><font color=#000080><p align=center><b>City</td>
	  <td bgcolor=#BEBEBE><font color=#000080><p align=center><b>Edit</td>";
	  
echo "</tr>";	
	
while ($row = mysql_fetch_array($result))
{
	echo "<tr><td>".$row['CustomerID']."</td><td>".$row['CompanyName']."</td><td>".$row['City']."</td><td>"."<input type=image src=Edit.jpg onClick=document.frmUserResults.txt_viewDetail.value=".$row["CustomerID"];document.frmUserResults.submit();">"." </td></tr>";
}
echo "</table>";
	
echo "<FORM method='post' action='userDetail_proc.php' NAME='frmUserResults'>";
	echo "<input type=hidden name=txt_viewDetail size=20>";
echo "</form>";
 
?>
</body>
</html>

Open in new window

0
Comment
Question by:justmelat
7 Comments
 
LVL 7

Expert Comment

by:dansoto
ID: 20308118

<input type="image" src="images/submit.jpg" value="Submit" alt="Submit">

Open in new window

0
 
LVL 1

Author Comment

by:justmelat
ID: 20308136
HI Dan
If you will notice on line 43 of my code I am using this:
echo "<tr><td>".$row['CustomerID']."</td><td>".$row['CompanyName']."</td><td>".$row['City']."</td><td>"."<input type=image src=Edit.jpg onClick=document.frmUserResults.txt_viewDetail.value=".$row["CustomerID"];document.frmUserResults.submit();">"." </td></tr>";
}
which I think is what you have.  It is just not submitting the form.  I get this error: Fatal error: Call to undefined function: submit() in
0
 
LVL 2

Expert Comment

by:LinuxCluster
ID: 20308151
You could pass the values in the href link part of the link and place the img into the href part and not use forms and javascript for it.

How about a link like this

<a href="userDetail_proc.php?txt_viewDetail=$row[CustomerID]"><img src="Edit.jpg" border=0></a>

Regards,
linuxcluster
0
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 
LVL 1

Author Comment

by:justmelat
ID: 20308196
Linux

this works, but i know my boss is not going to like that the url w/the info is viewable.
0
 
LVL 2

Expert Comment

by:LinuxCluster
ID: 20308328
Ok, you could hide the info by encrypting it etc.-  if it is not too sensible data a simple ROT13 should do and is easily implementable.

Or you create a single form for every "edit" link you place. That way you can pass the edit value in a hidden form field along with the submit button the way dansoto had written.

Regards,
linuxcluster

0
 
LVL 2

Expert Comment

by:LinuxCluster
ID: 20308516
Or you use the JS code below in your page and set via JS the value of the clicked image into the hidden form field.

(the code is not brushed to be echoed by php...)

Regards,
linuxcluster
<script language="javascript">
function imgSubmit(v)
{
document.FormName.txt_viewDetail=v
document.FormName.submit()
}
</script>
 
<form name="FormName">
<input type="hidden" name="txt_viewDetail" value="">
...
<img src="Edit.jpg" onclick="imgSubmit('$row[CustomerID]')" value="Submit" alt="Submit">
...
</form>

Open in new window

0
 
LVL 21

Accepted Solution

by:
nizsmo earned 125 total points
ID: 20308605
This should work. i think your image needs to be in between the <form> tags, you don't even need the onclick event to submit the form, it will do it by itself.

hope this helps.
<html>
<?php
//searches using ID/username from db
   $dbname="northwind";
   $host="localhost";
   $port="1433";
   $user="root";
   $password="";
 
$_POST['txt_searchName'];
$viewDetail = $_POST['txt_viewDetail'];
echo "<br><br>view detail has:  ".$viewDetail."<br><br>";
 
/*if (!$txt_searchName)
{
echo "<p align=center><font color=#800000 size=5 face=Arial Black>You did not enter a search criteria.<br><br>Please Try Again.</font></p>";
exit;   
}*/
//echo $_POST['txt_searchName'];
$searchName  = addslashes(trim($_POST['txt_searchName']));
echo "<br><br>search name is:  ".$searchName."<br><br>";
 
$connection=mysql_connect($host,$user,$password) or Die("Unable to connect to " . $host);
  
   mysql_select_db($dbname);
    $qry = "select CustomerID, CompanyName, City from tblcustomers where CustomerID LIKE  '%".$searchName."%'";
    echo $qry;
    $result = mysql_query($qry);
        $num_results = mysql_num_rows($result);
        echo "<br><br><font face=Arial size=4 color=#000080><b>Total # of Users Found: " .$num_results."</b></font><br><br>";
 
echo "<table border=1 id=table1 width=50% style='border-collapse: collapse'>";
echo "<tr>";
echo "<td bgcolor=#BEBEBE><font color=#000080><p align=center><b>Customer ID</td>
          <td bgcolor=#BEBEBE><font color=#000080><p align=center><b>Customer Name</td>
          <td bgcolor=#BEBEBE><font color=#000080><p align=center><b>City</td>
          <td bgcolor=#BEBEBE><font color=#000080><p align=center><b>Edit</td>";
          
echo "</tr>";   
echo "<FORM method='post' action='userDetail_proc.php' name='frmUserResults'>";
while ($row = mysql_fetch_array($result))
{
        echo "<tr><td>".$row['CustomerID']."</td><td>".$row['CompanyName']."</td><td>".$row['City']."</td><td>"."<input type='image' src='Edit.jpg' onClick=document.frmUserResults.txt_viewDetail.value=".$row["CustomerID"];">"." </td></tr>";
}
echo "</table>";
        
 
        echo "<input type=hidden name=txt_viewDetail size=20>";
echo "</form>";
 
?>
</body>
</html>

Open in new window

0

Featured Post

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
php convert date format 3 22
Php recording post 4 51
PHP not parsing ' character 12 40
Incorrect definition of table mysql.proc 7 18
Developers of all skill levels should learn to use current best practices when developing websites. However many developers, new and old, fall into the trap of using deprecated features because this is what so many tutorials and books tell them to u…
Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question