Pagina 1 di 1

login diretto

Inviato: 23/12/2004, 18:58
da cosmopsis
Vorrei mettere la pagina di login direttamente quando si carica l'index del sito; qualcuno sa come posso fare?
Grazie e buon natale a tutti!

Inviato: 24/12/2004, 14:50
da Puzzola
Il metodo più veloce è mettere un index.html nella root che rimanda su login.php

Inviato: 25/12/2004, 1:14
da cosmopsis
penso si risolvere mettendo le segg. righe all'inizio dell'index.php:


// if the customer is not logged on, redirect them to the login page
if (!tep_session_is_registered('customer_id')) {
$navigation->set_snapshot();
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
}

esattamente dopo il primo require.
comunque sia: volendomi loggare (da localhost) e mettendo:
---------------------------------------------------------------
email: root@localhost
password: d95e8fa7f20a009372eb3477473fcd34:1c
----------------------------------------------------------------
che è l'unico cliente (customers) inserito mi viene detto che i dati non solo corretti... per favore qualcuno sa dirmi dove sbaglio???
Buon natale a tutti!!

Inviato: 25/12/2004, 3:36
da Puzzola
Cosmopsis, la tua soluzione è corretta e più raffinata della soluzione che ti avevo proposto.
Il problema che riscontri nel login è dato dal fatto che la pass che inserisci è crittografata.....non è la pass reale....(infatti l'hai presa dal db mi immagino...)
Ora sono fuori...ma domani in caso ti spiego meglio....
Cmq...buon Natale a tutti!
:D

Inviato: 25/12/2004, 17:05
da cosmopsis
Puzzola ha scritto:Cosmopsis, la tua soluzione è corretta e più raffinata della soluzione che ti avevo proposto.
Il problema che riscontri nel login è dato dal fatto che la pass che inserisci è crittografata.....non è la pass reale....(infatti l'hai presa dal db mi immagino...)
Ora sono fuori...ma domani in caso ti spiego meglio....
Cmq...buon Natale a tutti!
:D
Grazie per l'interessamento. A presto! :)

Ecco come os controlla la pass

Inviato: 26/12/2004, 0:20
da Puzzola
Ecco come viene controllata la pass...
Questa funzione, contenuta nel file password_funcs.php, confronta la password inserita con quella del database.

function tep_validate_password($plain, $encrypted) {
if (tep_not_null($plain) && tep_not_null($encrypted)) {
// split apart the hash / salt
$stack =
explode(':', $encrypted);

if (sizeof($stack) != 2) return false;

if (md5($stack[1] . $plain) == $stack[0]) {
return true;
}
}

return false;
}

Ecco cosa fa explode:
manuale PHP rulez ha scritto: Explode

(PHP 3, PHP 4 , PHP 5)
explode -- Suddivide una stringa
Descrizione
array explode ( string separator, string string [, int limit])

Questa funzione restituisce una matrice di stringhe, ciascuna delle quali è una parte di string ottenuta dividendo la stringa originale utilizzando separator come separatore di stringa. Se si imposta limit la matrice restituita conterrà al massimo limit elementi di cui l'ultimo conterrà la parte restante di string.

Se il parametro separator è impostato ad una stringa vuota (""), la funzione explode() restituirà FALSE. Se separator contiene caratteri non presenti in string, allora explode() restituirà una matrice contenente string.

Sebbene implode() può, per ragioni storiche, accettare i parametri in entrambi gli ordini, explode() non può. Occorre accertarsi che il parametro separator sia antecedente al parametro string.

Nota: Il parametro limit è stato aggiunto dalla versione 4.0.1
Spero di esserti stato d'aiuto... :D

Inviato: 04/01/2005, 13:07
da cosmopsis
scusa per il ritardo ma le sante feste... ;)
Mille grazie per l'aiuto.
ci sentiamo prossimamente (sai le sante feste... ;))