J'ai créé cette inscription en compte script activation de mon propre, je l'ai vérifié encore et encore de trouver des erreurs, je ne vois pas une erreur particulière ...activation du compte PHP
Le domaine serait comme ça :
http://domain.com/include/register.php?key=true&p=AfRWDCOWF0BO6KSb6UmNMf7d333gaBOB
qui provient d'un e-mail, lorsqu'un utilisateur clique dessus, ils sont redirigés vers ce script:
if($_GET['key'] == true)
{
$key = $_GET['p'];
$sql = "SELECT * FROM users
WHERE user_key = '" . $key . "'";
$result = mysql_query($sql) or die(mysql_error());
if(mysql_affected_rows($result) > 0)
{
$sql = "UPDATE users
SET user_key = '', user_active = '1'
WHERE user_key = '" . $key . "'";
$result = mysql_query(sql) or die(mysql_error());
if($result)
{
$_SESSION['PROCESS'] = $lang['Account_activated'];
header("Location: ../index.php");
}
else
{
$_SESSION['ERROR'] = $lang['Key_error'];
header("Location: ../index.php");
}
}
else
{
$_SESSION['ERROR'] = $lang['Invalid_key'];
header("Location: ../index.php");
}
}
Il ne fonctionne même pas du tout, j'ai regardé dans la base de données avec l'utilisateur avec cette clé, ça correspond mais ça continue à monter comme une erreur qui m'ennuie énormément. La base de données est correcte, la table et la colonne sont correctes, rien ne cloche avec la base de données, c'est le script qui ne fonctionne pas.
Aidez-moi, les gars.
Merci :)
mysql_real_escape_string est votre ami . Vous devriez échapper à vos attributs paramétrés (par exemple, les attributs qui proviennent d'une URL). Dans ce cas, votre variable clé $. http://ar.php.net/manual/fr/fonction.mysql-real-escape-string.php – Lombo
Je le sais déjà, j'ai une fonction qui s'appelle safeClean() qui a inclus des fonctions pour assainir le données, mais je l'ai enlevé pour m'assurer que ce n'était pas ce qui affectait, donc il n'a pas et n'a pas utilisé le code précédent. L'échappement de MySQL est bien. – MacMac