Multiple Submit Buttons On Form Difficulties
<p>I wonder whether someone may be able to help me please.</p>

<p>I've put together <a href="http://www.mapmyfinds.co.uk/development/test.php" rel="nofollow">this</a> form which, if you scroll to the bottom of the page, has multiple submission buttons. i.e 'Submit', 'Deleted selected image' and 'View Selected Image'.</p>

<p>I posted a query on this site yesterday <a href="http://stackoverflow.com/questions/8593109/multiple-submit-buttons-on-form">here</a>, about about how to go about dealing with multiple 'submission' buttons and received some great advice.</p>

<p>I've tried to implement the advice I was given, but I just can't seem to get this to work. As the guidance suggested, I've added a name to each button and tried to call that through the PHP script, but all that happens is the page refreshes as if submitting the whole page, rather, than for example, being able to view the selected file.</p>

<p>I just wondered whether someone could perhaps take a look at this please and let me know where I'm going wrong.</p>

<p><strong>Please find my PHP code &amp; Form script below</strong></p>

<pre><code> &lt;?php
    $db_host = 'host'; 
    $db_user = 'username';
    $db_pwd = 'password';

    $database = 'databasename';
    $table = 'images';
    // use the same name as SQL table

    if (!mysql_connect($db_host, $db_user, $db_pwd)) 
die("Can't connect to database"); 

if (!mysql_select_db($database)) 
die("Can't select database"); 

// This function makes usage of 
// $_GET, $_POST, etc... variables 
// completly safe in SQL queries 
function sql_safe($s) 
{ 
if (get_magic_quotes_gpc()) 
$s = stripslashes($s); 

return mysql_real_escape_string($s); 
} 

// If user pressed submit in one of the forms 
if ($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
if (!isset($_POST["action"])) 
{ 
// cleaning title field 
$title = trim(sql_safe($_POST['title'])); 

if ($title == '') // if title is not set 
$title = '(No Title Provided)';// use (empty title) string 

//print_r($_FILES);exit; 

if($_FILES["photo"]["error"] &gt;= 4)  {          
$msg = '&lt;b&gt;Error!&lt;/b&gt; - You &lt;b&gt; must &lt;/b&gt; select a file before clicking the &lt;b&gt; "Upload This Image" &lt;/b&gt; button. Please try again.';         
} 
else

if (isset($_FILES['photo'])) 
{ 
list($width, $height, $imtype, $attr) = getimagesize($_FILES['photo']['tmp_name']);

if ($imtype == 3) // cheking image type 
$ext="png"; // to use it later in HTTP headers 
elseif ($imtype == 2) 
$ext="jpeg"; 
elseif ($imtype == 1) 
$ext="gif"; 
else 
$msg = '&lt;b&gt; Error! &lt;/b&gt; - The image that you attempted to upload is not in the correct format. The file format &lt;b&gt; must &lt;/b&gt; be one of the following: &lt;b&gt; "gif", "jpeg" &lt;/b&gt; or &lt;b&gt; "png" &lt;/b&gt;. Please try again.'; 

if($_FILES["photo"]["size"]/1150000 &gt;= 1)  {          
$msg = '&lt;b&gt; Error! &lt;/b&gt; - The file that you are attempting to upload is greater than the prescribed &lt;b&gt; 1MB &lt;/b&gt; limit. Please try again.';         
} 

if (!isset($msg)) // If there was no error 
{ 
$data = file_get_contents($_FILES['photo']['tmp_name']); 
$data = mysql_real_escape_string($data); 
// Preparing data to be used in MySQL query 

mysql_query("INSERT INTO {$table} 
SET ext='$ext', title='$title', 
data='$data'"); 

$msg = '&lt;b&gt; Success! &lt;/b&gt; - Your image has been uploaded'; 
} 
} 
elseif (isset($_GET['title'])) // isset(..title) needed 
$msg = 'Error: file not loaded';// to make sure we've using 
// upload form, not form 
// for deletion 

if (isset($_POST['deleteimage'])) // If used selected some photo to delete 
{ // in 'uploaded images form'; 
$imageid = intval($_POST['del']); 
mysql_query("DELETE FROM {$table} WHERE imageid=$imageid"); 
$msg = 'The image which you selected has now been deleted!'; 
} 

if (isset($_POST['viewimage'])) // If used selected some photo to delete 
{ // in 'uploaded images form'; 
$imageid = intval($_POST['view']); 
mysql_query("SELECT ext, data FROM {$table} WHERE imageid=$imageid"); 

if(mysql_num_rows($result) == 1) 
{ 
$image = $row['myimage']; 
header("Content-type: image/gif"); // or whatever 
print $image; 
exit; 
} 
} 
} 
else 
{ 
$imageid = intval($_POST['del']); 

if ($_POST["action"] == "view") 
{ 
$result = mysql_query("SELECT ext, UNIX_TIMESTAMP(imagetime), data 
FROM {$table} 
WHERE imageid=$imageid LIMIT 1"); 

if (mysql_num_rows($result) == 0) 
die('no image'); 

list($ext, $imagetime, $data) = mysql_fetch_row($result); 

$send_304 = false; 
if (php_sapi_name() == 'apache') { 
// if our web server is apache 
// we get check HTTP 
// If-Modified-Since header 
// and do not send image 
// if there is a cached version 

$ar = apache_request_headers(); 
if (isset($ar['If-Modified-Since']) &amp;&amp; // If-Modified-Since should exists 
($ar['If-Modified-Since'] != '') &amp;&amp; // not empty 
(strtotime($ar['If-Modified-Since']) &gt;= $imagetime)) // and grater than 
$send_304 = true; // imagetime 
} 

if ($send_304) 
{ 
// Sending 304 response to browser 
// "Browser, your cached version of image is OK 
// we're not sending anything new to you" 
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $ts).' GMT', true, 304); 

exit(); // bye-bye 
} 

// outputing HTTP headers 
header('Content-Length: '.strlen($data)); 
header("Content-type: image/{$ext}"); 

// outputing image 
echo $data; 
exit(); 
} 
else if ($_POST["action"] == "delete") 
{ 
$imageid = intval($_POST['del']); 
mysql_query("DELETE FROM {$table} WHERE imageid=$imageid"); 
$msg = 'The image which you selected has now been deleted!'; 
} 
} 
} 
?&gt; 
    &lt;form action="&lt;?=$PHP_SELF?&gt;" method="post" enctype="multipart/form-data"&gt;
      &lt;div align="left"&gt;
        &lt;!-- This form is used for image deletion --&gt;
        &lt;?php 
$result = mysql_query("SELECT imageid, imagetime, title FROM {$table} ORDER BY imageid DESC"); 
if (mysql_num_rows($result) == 0) // table is empty 
echo '&lt;ul&gt;&lt;li&gt;You have no images loaded&lt;/li&gt;&lt;/ul&gt;'; 
else 
{ 
echo '&lt;ul&gt;'; 
while(list($imageid, $imagetime, $title) = mysql_fetch_row($result)) 
{ 
// outputing list 
echo "&lt;li&gt;&lt;input type='radio' name='del' title, value='{$imageid}' /&gt;"; 
echo "&amp;nbsp;&lt;small&gt;{$title}&lt;/small&gt;&amp;nbsp;&amp;nbsp"; 
echo "&lt;small&gt;{$imagetime}&lt;/small&gt;&lt;/li&gt;"; 
} 

echo '&lt;/ul&gt;'; 

echo '&lt;input type="submit" value="Delete Selected Image" onclick="document.getElementById(\'action\').value=\'delete\'" /&gt;'; 

echo '&lt;input type="submit" value="View Selected Image" onclick="document.getElementById(\'action\').value=\'view\'" /&gt;'; 
} 
?&gt;
        &lt;input type="hidden" name="action" id="action" /&gt;
        &lt;/div&gt;
    &lt;/form&gt;
</code></pre>

<p>Many thanks and kind regards</p>
