2012-06-21 3 views
1

나는 무엇을 해야할지 모르겠지만이 이상한 문제를 검색하는 방법을 모른다. 여기입니다 : 페이지에이상한 변수/MySQL의 문제

모든 연결이 단지의 경우, 제대로 작동 :

을 내가

$fUsername = mysql_real_escape_string($_GET['user']); 
$fPassword = mysql_real_escape_string($_GET['senha']); 
$fEmail = mysql_real_escape_string($_POST['fEmail']); 

$sql = "UPDATE usuario SET email='$fEmail ' WHERE username = '$fUsername' and senha = '$fPassword'"; 
$result=mysql_query($sql); 

이제 데이터베이스에 이메일을 업데이트하려면이 코드를 가지고, 문제 :

이 쿼리는 BD의 "전자 메일"필드를 업데이트하지 않습니다. 단지 필드를 비게합니다. teste1 '와 senha ='e10adc3949ba59abbe56e057f20f883e '

내가 수동으로 실행하는 경우'사용자 이름 = '는 업데이트 사용자 선호도의 SET email='[email protected] : 나는 $의 SQL var에 반향 경우

,이 얻을 mySQL에 대한 질의, 내가 원하는 것처럼 필드를 업데이트합니다.

내가 수동으로 $ fEmail의 VAR에 값 전달하면 ($ fEmail을 = "[email protected]"). 그것은 잘 작동합니다.

작동하지 않는 유일한 방법은 양식에서 값을 가져 오는 것입니다.

누구에게도 해결책이 있습니까? D :

+0

두 분 모두의 도움에 감사드립니다. 지금 일하고있어! –

답변

3

사용자 이름과 비밀번호는 $_GET이고 이메일은 $_POST입니다. form 실제 제출 방법을 확인하고 관련 데이터 가져 오기를 수정하십시오.

+0

내 양식 제출 방법은 POST입니다. http://christinagrimmiebr.com/enviaemail/teste1/e10adc3949ba59abbe56e057f20f883e/ 그래서 첫 번째 GET은 "teste1"를 얻는다, 두 번째는 HASH를 가져옵니다 나는 사이트의 Frinedly URL을지는 경우 사용합니다. POST를 통해 이메일을받습니다. 이것이 가능합니까/허락합니까? –

+0

확실한가요? 'input'' name' 속성을 검사하여 실제로'fmail '인지 확인하십시오. 그 이외에는 그 밖의 어떤 것도 결과를 방해 할 수 없습니다. 'name' 속성에 오타가 없는지 확인하십시오. –

+0

감사합니다. 나는 그것을 조사 할 것이다! :) –

1

양식 데이터가 GET을 통해 전송되는 경우 $_GET['fEmail']을 사용해야합니다. 이 경우에는 $_POST['fEmail']이 정의되어 있지 않으므로 표시되는 동작을 설명 할 수 있습니다.