我正在为我的新项目编写帐户验证系统。目前注册/连接页面没问题!只有帐户验证页面不起作用。确认邮件通过电子邮件发送到注册页面。WHERE子句中的空格?
,你可以在这里注册:http://protect.you-test.ch/inscription.php
您可以连接在这里:http://protect.you-test.ch/connexion.php
问题是,当用户名具有空间这就要求犯规的工作:
$sql = "SELECT user_key,verified_user FROM users WHERE login='".$login."'";
,但在没有空间,它的作品!
编辑:问题随机发生。有时它不适用(有空格)。
此问题只出现在此页面上,而不是连接页面!
当前代码:
<?php
include("mysql_connect.php");
$login = base64url_decode($_GET['login']);
$login = trim($login);
$login = mysql_real_escape_string($login);
echo '</br>'.$login.'</br>';
echo '</br>'.$user_key.'</br>';
$sql = "SELECT user_key,verified_user FROM users WHERE login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data['0'] == 0) {
$clebdd = $data['user_key'];
$actif = $data['verified_user'];
if($actif == '1') {
echo "Votre compte est déjà actif !";
} else {
if($user_key == $clebdd) {
$sql = 'UPDATE users SET verified_user = 1 WHERE login="'.$login.'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
echo "Votre compte a bien été activé !";
} else {
echo "Erreur ! Votre compte ne peut être activé ...1";
}
}
} else {
echo "Erreur ! Votre compte ne peut être activé ...2";
}
function base64url_encode($data) {
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}
function base64url_decode($data) {
return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));
}
?>
echo out'$ sql'它看起来像什么? – RMcLeod 2012-01-14 15:46:25
打印出不起作用的SQL,您将看到问题所在。提示:'mysql_real_escape_string'应该是你做的最后一件事。 – Jon 2012-01-14 15:47:05
echo $ sql; - > SELECT user_key,verified_user FROM users WHERE login ='TheTime 12' – TheTime 2012-01-14 15:48:50