2009-06-23 3 views
0

사이트의 다른 곳에서 작동하지만 지금은 나를 위해 일하지 않는 스크립트가있는 곳에서 문제가 발생합니다. 이 문제는 IE에서만 발생하며 Mozilla에서는 잘 작동합니다. 누군가가 내가 잘못는지 말해 수 있다면

<?php 

include('header.php'); 

$db->connect(); 

$table = 'general_image'; 

$page = 'general'; 

$region = $_SESSION['region']; 

$action = $secure->secure_string($_REQUEST['action']); 
$id = $secure->secure_string($_POST['id']); 

$max_active = 1; 

if($action == 'active_switch' || $action == 'delete'){ 

    $response = array(); 

    $response['action'] = $action; 
    $response['id'] = $id; 

    if($action == 'active_switch'){ 

     $query = 'SELECT * FROM general WHERE region = "' . $region . '"'; 

     $result = mysql_query($query); 

     if(!$result) { 

      $utility->fail($action, 'query error: ' . $query); 

     }else{ 

      $row = mysql_fetch_assoc($result); 

      $already_active = false; 

      $active = ''; 

      if($id == $row['fifi']){ 

       $already_active = true; 
      } 

      $active .= $row['fifi']; 

      $response['results'] = $active; 

      if(!$already_active){ 

       $update = ''; 
       $active = ''; 

       $update .= 'fifi="' . $id . '"'; 

       $active .= $id; 

       $query = 'UPDATE general SET ' . $update . ' WHERE region = "' . $region . '"'; 

       $response['results'] = $active; 

      }else{ 

        $utility->redirect($page . '.php'); 

      } 
     } 

    }elseif($action == 'delete') { 

     $query = "DELETE FROM $table WHERE id=" . $id; 
    } 

    echo $query . "hello"; 


    if(!mysql_query($query)) { 

     $utility->fail($action, 'query error: ' . $query); 
    } 

하는 것이 좋을 것 : 여기

<form class="element_form" action="general_image.php" method="post"> 

    <?php generate_input('hidden', '', 'id', $id);?> 
    <input type="image" src="../images/delete.gif" name="action" value="delete" class="button" /> 
    <input type="image" src="../images/tick.gif" name="action" value="active_switch" class="button" /> 

</form> 

작동하도록되어 코드입니다 : 아래의 양식입니다. 감사합니다

편집

$action = $secure->secure_string does the following: 

    function secure_string($string) 
    { 
     return (strip_tags(addslashes(mysql_real_escape_string(stripslashes($string))))); 
    } 
+0

이 기능은 무엇입니까 $ secure-> secure_string? –

+0

흥미로운이 포럼 스레드를 작성해 보겠습니다. http://www.webmasterworld.com/html/3342151.htm – balpha

답변

1

나는 가끔 그 다음 행동을위한 숨겨진 필드가 버튼이나 이미지를 제출하는 것이 좋습니다 것으로 나타났습니다. 누군가가 리턴 된 양식을 제출하기 위해 RETURN 또는 ENTER를 누르면?

+0

입력을 눌러 양식을 제출할 수 없습니다. 클릭 만합니다. – Drew

+0

이 경우 문제가 해결되면서 간단한 숨겨진 추가 필드와 두 가지 형태로 접근했습니다. 고마워 친구! – Drew

+0

죄송합니다. 이미지 필드의 경우 마우스 클릭의 x, y 좌표가 변수 이름에 추가되므로 $ _REQUEST [ 'action_x']가 아닌 'action '예상대로. http://nz.php.net/manual/en/faq.html.php#faq.html.form-image – bumperbox

-1

입력 [type = 'image']이 IE에서 깨졌습니다. 대신 [type = 'submit'] 버튼을 사용하십시오. name="submitP"value="Print"는 FORM 포스트 PHP에서

, 정말 사용 :

+0

내 대답이 왜 downvoted로 표시되는지 알지 못해서 '즉 입력 이미지 값'(http : //lmgtfy.com/?q=ie+input+image+value) 내 생각에 동의합니다. – anddoutoi

1

예를 들어, 버튼 이미지가

if(isset($_REQUEST['submitP']) || isset($_REQUEST['submitP_x'])) 
{ something.... 
} 

이 두 번째 절은 후 IE

0

가 있습니까 치료하는 경우 너 session_start();에 기억하고 있니?

관련 문제