2012-06-21 5 views
1

Je ne sais pas quoi faire, et je ne sais pas comment faire des recherches sur ce problème étrange. Voici est:Bizarre Variable/Mysql Numéro

Toute la connexion sur la page fonctionnent correctement, juste au cas où:

Je possède ce code pour mettre à jour un courriel sur la base de données

$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); 

Maintenant, le problème:

Cette requête ne met pas à jour le champ "E-mail" sur le BD. Cela rend le champ vide.

Si je fais l'écho du var $ sql, je reçois ceci: MISE À JOUR usuario SET email='[email protected] 'WHERE nom d'utilisateur = 'teste1' et senha = 'e10adc3949ba59abbe56e057f20f883e'

Si je couru manuellement ce requête sur le mySQL, il met à jour le champ comme je le veux.

Si je passe manuellement une valeur à la Femail $ var ($ Femail = "[email protected]"). Cela fonctionne très bien.

La seule façon de ne pas travailler est quand je prends la valeur du Form.

Est-ce que quelqu'un a la solution pour cela? D:

+0

Merci pour l'aide de vous deux. Ça marche maintenant! –

Répondre

3

Vous utilisez $_GET pour le nom d'utilisateur et mot de passe, et $_POST pour l'e-mail. Vérifiez votre méthode de soumission réelle form et corrigez la récupération de données pertinente.

+0

Mon formulaire Soumettre méthodes est POST. J'utilise obtenir les URL en raison frinedly du site: http://christinagrimmiebr.com/enviaemail/teste1/e10adc3949ba59abbe56e057f20f883e/ Ainsi, la première GET obtient la "teste1", et le second obtient le HASH. Et via POST, je reçois l'email. Est-ce possible/autorisé? –

+0

êtes-vous certain à ce sujet? et vérifiez votre attribut 'input'' name' et vérifiez qu'il s'agit bien de 'fEmail'. A part ça, rien d'autre ne peut interférer avec les résultats. Assurez-vous de ne pas avoir de fautes de frappe dans l'attribut 'name'. –

+0

Merci, je vais vérifier! :) –

1

Vous devez utiliser $_GET['fEmail'] si les données de formulaire sont envoyées via GET. $_POST['fEmail'] n'est pas défini dans ce cas, ce qui expliquerait le comportement que vous voyez.