Uso uno script per il login (Quadodo login script) che invia una mail di attivazione quando un nuovo utente si registra al sito, in questa mail ovviamente c'è il link di attivazione che termina con lo username dell'utente, tutto va bene finchè non c'è uno username che contiene spazi e il link si interrompe, come nell'esempio dopo il nome Beppe lasciando fuori il Bello, diventando inutilizzabile per l'attivazione, così
Come posso fare per poter consentire ai miei utenti di poter usare username con spazi e potersi attivare l'account da soli tramite mail? (lo scirpt non prevede ciò ho modificato io la regex per la creazione dello username)
Grazie
Di seguito il pezzo di codice che riguarda la creazione del link
Codice PHP:
// Is activation required?
if ($this->qls->config['activation_type'] == 0) {
$values[3] = 'yes';
$values[10] = time();
}
elseif ($this->qls->config['activation_type'] == 1) {
$headers = "From: {$email}\r\n";
// Email stuff...
if (substr($this->qls->config['cookie_domain'], 0, 1) == '.') {
if (substr($this->qls->config['cookie_path'], -1) == '/') {
$activation_link = "http://www{$this->qls->config['cookie_domain']}{$this->qls->config['cookie_path']}activate.php?code={$generated_code}&username={$username}";
}
else {
$activation_link = "http://www{$this->qls->config['cookie_domain']}{$this->qls->config['cookie_path']}/activate.php?code={$generated_code}&username={$username}";
}
}
else {
if (substr($this->qls->config['cookie_path'], -1) == '/') {
$activation_link = "http://{$this->qls->config['cookie_domain']}{$this->qls->config['cookie_path']}activate.php?code={$generated_code}&username={$username}";
}
else {
$activation_link = "http://{$this->qls->config['cookie_domain']}{$this->qls->config['cookie_path']}/activate.php?code={$generated_code}&username={$username}";
}
}
@mail($email, ACTIVATION_SUBJECT, sprintf(ACTIVATION_BODY, $activation_link), $headers);
}
else {
// Nothing to do 0.o
}
$this->qls->SQL->insert('users', $columns, $values);