salve,
tornando dopo un po' di tempo su un sito (in locale) che stavo ricostruendo, inserendo nome utente e password non riesco + ad accedervi.
Qualcuno sa sia possibile recuperare i dati di accesso?
Il recupero password non funzione e non so perchè
Per il sito in locale ho usato acquia
grazie
Ciao, puoi modificare temporaneamente il file index.php per impostare una tua password con lo script che ti ho appena creato. Ovviamente una volta usato cancella tutto.
Devi modificare l'attuale file index.php che si presenta così:
<?php
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
menu_execute_active_handler();
?>
In questo facendo attenzione a modificare i parametri che ti ho messo come variabile:
<?php
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
require_once 'includes/password.inc';
$new_psw = user_hash_password('mypassword');
$mail_admin = "admin_mail[AT]rednode.it";
$qb = db_select('users', 'u')
->fields('u')
->condition('mail', $mail_admin, '=')
->execute()
->fetchObject();
if(isset($qb->uid)){
db_update('users')
->fields(array(
'pass' => $new_psw,
)
)
->condition('uid', $qb->uid, '=')
->execute();
}
menu_execute_active_handler();
?>
Come puoi vedere devi modificare solamente 2 variabili:
$new_psw = user_hash_password('mypassword'); CAMBIA IL VALORE mypassword
$mail_admin = 'admin_mail[AT]rednode.it'; CAMBIA admin_mail@rednode.it con quella dell'amministratore
Una volta fatto il tutto collegati alla home e poi ripristina il file index.php originale. Da quel momento in poi puoi effetuare il login con la nuova password.
Per inciso bisogna sostituire il simbolo [AT] con la chiocciola, io non ho potuto inserire la @ perchè altrimenti il forum mi trasformava la mail in un link
REDNODE - Sviluppo siti web e cosulenze Drupal
PS: ci sono diversi modi di fare la stessa cosa..... DRUSH, direttamente su DB, da phpmyadmin...... questà è automatizzata e semplice da fare anche con un semplice accesso FTP.
REDNODE - Sviluppo siti web e cosulenze Drupal
ti ringrazio del consiglio, con phpmyadmin, mi sa che è la + comoda, devo agire sulla tabella user?
se ricordo bene ci avevo pensato, ma in user non trovai nulla
Gaetano
Si devi agire sulla tabella USERS ma ricordati che la password è HASH quindi devi prima ottenere il codice mediante la funzione
$new_psw = user_hash_password('mypassword');
REDNODE - Sviluppo siti web e cosulenze Drupal
uhm, all'interno di phpMyAdmin devo fare una query? con il rigo che mi hai indicato?
Gaetano
Ti ringrazio, ho provato il codice da inserire in index.php e funziona.
Solo per completezza d'informazione, potresti spiegarmi meglio come funziona il codice da usare in phpMyAdmin?
Io ho provato così ho selezionato il database, poi poi ho scelto qry ed inserito questo codice:
SELECT * FROM `users` WHERE 1
$new_psw = user_hash_password('mypassword');
print $new_psw;
ma senza successo.
Gaetano
la funzione user_hash_password è una funzione di drupal quindi non esiste al di fuori del mondo drupal.
prima devi inserire la riga user_hash_password('mypassword'); nel file index.php per recuperare il valore hashato della password, te lo copi e poi lo inserisci nella query di phpmyadmin.
Nel file index.php
<?php
require_once 'includes/password.inc';
$new_psw = user_hash_password('mypassword');
print $new_psw;
?>
Poi copi il risultato ovvero il valore del print di $new_psw; e poi la inserisci nella query mysql
UPDATE users
SET pass= 'IL VALORE DI $new_psw'
WHERE uid=1;
REDNODE - Sviluppo siti web e cosulenze Drupal
ti ringrazio, mi rendo conto che la mia conoscenza di drupal è ancora debole
Gaetano