2012-01-24 1 views
0

나는 알아낼 수없는 미친 문제가 있습니다. 내 양식에는 두 개의 필드와 제출 버튼이 있습니다. 내가 제출 때 바르가 ... $ _POST 잘으로 제출 버튼의 값과 함께 나에게 기대 값으로 두 개의 필드를 제공

print('<div class=error>'); 
print_r($_POST); 
print('</div>'); 

을 전달받을.

어쨌든! 제출 버튼을 기반으로 처리 할 수 ​​있도록 다음 코드 줄을 추가하면 모든 데이터가 지워집니다. 게시물 배열이 비어 있습니다.

if ($_POST['submit'] == 'Submit') { 

데이터를 삭제합니다. 'Submit'에서 다른 것으로 값을 변경하면 vars은 여전히 ​​$ _POST에 표시되고 확인을 시도하면 삭제됩니다.

내가 여기서 잘못하고있는 아이디어가 있습니까? 여기

의 형식은 다음과 같습니다

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 
<? 
    if (isset($msg)) { 
    echo "$msg"; 
    } 
?> 
<input type=text name='email'><br> 
<br><input type=password name='password'> 
<br> 
<input type="submit" name="submit" value=Submit> 
</form> 

여기에 처리 코드입니다 : 내가 버튼 이외의 다른 값을 가진 제출 있는지 확인 때이 값을 변경하는 경우

if ($_POST['submit'] == 'Submit') { 
echo "<div class=error>made it here</div>"; 
$u = $_POST['email']; 
$p = $_POST['password']; 
$auth = mysql_query("Select * from member where email='$u' and password='$p'"); 
$auth = mysql_fetch_array($auth); 

if ($auth) { 
    $pid = $auth[id]; 

    echo "aa"; 
    sess_register("sess_msg"); 
    $sess_msg = null; 
    global $auth, $pid; 
} 
} 

Submit 버튼의 실제 값 - $ _POST에 전송 된 모든 변수를 지움

+0

'if'의 내용은 무엇입니까? – Ryan

+3

관련이없는 코드를 제거하고 테스트하십시오. –

+3

'$ _POST' 배열을 지우지 않았다면 정확한 코드를 보여줘야합니다. – FtDRbwLXw6

답변

1

클릭 한 제출 버튼을 확인하려면 해당 버튼을 확인하기 만하면됩니다. 이름은 배열 $_POST의 키입니다.

그래서 당신은 수행해야합니다

if (array_key_exists('submit', $_POST)) { 
    // your code 
} 

어린 조언을 : 쿼리로 퍼팅하기 전에하여 $ _POST 데이터를 더 나은 거라고 탈출! 체크 아웃 : http://php.net/manual/en/function.mysql-real-escape-string.php

0

게시물에서 코드가 $ _ POST 배열을 비워야합니다. 제가 생각할 수있는 유일한 것은 코드에서 실제로 '='기호 하나만 넣는 것입니다.

var_dump($_POST); 

if (isset($_POST['submit'])) { 
    var_dump($_POST); 
    echo "<div class=error>made it here</div>"; 
    $u = $_POST['email']; 
    $p = $_POST['password']; 
    $auth = mysql_query("Select * from member where email='$u' and password='$p'"); 
    $auth = mysql_fetch_array($auth); 

    if ($auth) { 
     $pid = $auth[id]; 

     echo "aa"; 
     sess_register("sess_msg"); 
     $sess_msg = null; 
     global $auth, $pid; 
    } 
} 

var_dump($_POST);