Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql > Scripting e Risorse utili
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 27-12-08, 19:04   #61 (permalink)
ModSenior
 
L'avatar di Thedarkita
 
Data di registrazione: Aug 2006
Ubicazione: Messina
Messaggi: 6,474
Invia un messaggio tramite Skype a Thedarkita
Ciao Gigi991,

Non ho notato errori, sicuro che nella tabella sia presente l'utente con cui tenti di loggarti?
Thedarkita ora è in linea   Rispondi citando
Vecchio 27-12-08, 20:03   #62 (permalink)
User
 
Data di registrazione: Dec 2008
Ubicazione: Milano
Messaggi: 69
Neanche io trovavo errori, tant prima ho lasciato perdere prima di perderci la testa
Ho riegistrato anche 4-5 account, ogni volta li ho attivati con le varie email, ma niente dice sempre che username e password sono errati
E durante il log in comunque guardo nella tabella e i record ci sono..
Gigi991 non in linea   Rispondi citando
Vecchio 28-12-08, 15:08   #63 (permalink)
ModSenior
 
L'avatar di Thedarkita
 
Data di registrazione: Aug 2006
Ubicazione: Messina
Messaggi: 6,474
Invia un messaggio tramite Skype a Thedarkita
Ciao gigi991,

Prova a stampare la query:

Codice PHP:
<?php require('config.php'); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php
if(isset($_POST['login'])) {
    
$user_name = (isset($_POST['user_name'])) ? trim($_POST['user_name']) : '';
    
$user_password = (isset($_POST['user_password'])) ? trim($_POST['user_password']) : '';
    if(!
get_magic_quotes_gpc()) {
        
$user_name addslashes($user_name);
        
$user_password addslashes($user_password);
    }
    
$user_password md5($user_password);
echo 
"SELECT user_id,user_active FROM users WHERE user_name = '$user_name' AND user_password = '$user_password' LIMIT 1";
    
$query mysql_query("SELECT user_id,user_active FROM users WHERE user_name = '$user_name' AND user_password = '$user_password' LIMIT 1");
    if(
mysql_num_rows($query) == 1) {
        
$login mysql_fetch_array($query);
        if(
$login['user_active'] == '') {
            
$_SESSION['login'] = $login['user_id'];
            
header('Location: profilo.php');
            exit;
        }
        else {
            die(
'<b>L\'account non è ancora stato attivato</b><br>Per attivare l\'account clicca sul link che ti è stato inviato tramite mail.<br>Se non ti è arrivata la mail, contatta l\'amministratore.');
        }
    }
    else die(
'Nome Utente o Password errati');
}
?>
<html>
<head>
  <title>Login</title>
</head>
<body>
  <table align="center" border="1" width="680">
    <tr>
      <td border="1" width="180" align="center" valign="top">
        <b>Menu</b><br>
        <a href="index.php">Homepage</a><br><a href="profilo.php">Profilo</a><br><a href="login.php">Login</a><br><a href="registrati.php">Registrati</a><br>
      </td>
      <td border="1" width="500" align="center" valign="top">
        <form action="" method="post">
          <input name="user_name" type="text" id="user_name" value="Username" onfocus="if(this.value=='Username') this.value='';"><br>
          <input name="user_password" type="password" id="user_password" value="Password" onfocus="if(this.value=='Password') this.value='';"><br>
          <input name="login" type="submit" value="Login"><br>
        </form>
      </td>
    </tr>
  </table>
</body>
</html>
Thedarkita ora è in linea   Rispondi citando
Vecchio 28-12-08, 17:40   #64 (permalink)
User
 
Data di registrazione: Dec 2008
Ubicazione: Milano
Messaggi: 69
Niente.. mi esce:

SELECT user_id,user_active FROM users WHERE user_name = 'nomeregistrato' AND user_password = 'passwordregistrato' LIMIT 1Nome Utente o Password errati

L'errore sembra sempre quello, però stampa a video la query..
Gigi991 non in linea   Rispondi citando
Vecchio 28-12-08, 21:50   #65 (permalink)
ModSenior
 
L'avatar di Thedarkita
 
Data di registrazione: Aug 2006
Ubicazione: Messina
Messaggi: 6,474
Invia un messaggio tramite Skype a Thedarkita
Ciao Gigi991,

Infatti serve proprio a stampare la query, ora, se lanci la query ottenuta dal phpmyadmin cosa ti restituisce?
Thedarkita ora è in linea   Rispondi citando
Vecchio 29-12-08, 12:13   #66 (permalink)
User
 
Data di registrazione: Dec 2008
Ubicazione: Milano
Messaggi: 69
Inserendo quella query penso me lo trova, perchè mettendonome e password a caso mi da 0 righe trovate, mentre con quelli giusti mi da:


Visualizzazione record 0 - 0 (1 Totali, La query ha impiegato 0.0003 sec)
SELECT user_id, user_active
FROM users
WHERE user_name = 'nomegiusto'
AND user_password = 'passgiusta'
LIMIT 1

N.B. La password messa nella query è quella già criptata, presente nel database.
Se metto la password che digito nel form di login mi da:

MySQL ha restituito un insieme vuoto (i.e. zero righe). ( La query ha impiegato 0.0002 sec )
SELECT user_id, user_active
FROM users
WHERE user_name = 'nomegiusto'
AND user_password = 'passnoncriptata'
LIMIT 1


E' giusto se fa così?

Ultima modifica di Gigi991 : 29-12-08 12:31.
Gigi991 non in linea   Rispondi citando
Vecchio 29-12-08, 14:51   #67 (permalink)
ModSenior
 
L'avatar di Thedarkita
 
Data di registrazione: Aug 2006
Ubicazione: Messina
Messaggi: 6,474
Invia un messaggio tramite Skype a Thedarkita
Ciao Gigi991,

Se eseguendo la query stampata dal file php, ti viene restituito 1 record, il tuo script dovrebbe funzionare correttamente.
Se ti viene restituito un insieme vuoto significa che c'è qualche problema nella query.

Se la query ti restituisce 1 record, mi sembra strano, se non impossibile, che il controllo restituisca false
Thedarkita ora è in linea   Rispondi citando
Vecchio 29-12-08, 15:42   #68 (permalink)
User
 
Data di registrazione: Dec 2008
Ubicazione: Milano
Messaggi: 69
Si mi fa abbatere sto php
Facciamo così, entro oggi o domani appena ho tempo provo a rifarlo tutto, e ad ogni modifica provo tutto lo script dalla registrazione all'attivazine fino a login e logout.. Così spero di vedere cos'è che può creare il problema..
Poi vi faccio sapere..

Gigi991 non in linea   Rispondi citando
Vecchio 30-01-09, 12:34   #69 (permalink)
User
 
Data di registrazione: Jul 2007
Ubicazione: Napoli
Messaggi: 26
Salve, volevo chiedere, se non disturbo troppo, se è possibile avere un aiuto per creare due pagine riguardo questo ottimo script..la prima per modificare la password, e la seconda per eliminare l'account. E' possibile? Mi potete aiutare? Grazie mille in anticipo siete grandi
__________________
Mimmo
MimmoNapoli non in linea   Rispondi citando
Vecchio 30-01-09, 14:32   #70 (permalink)
ModSenior
 
L'avatar di Thedarkita
 
Data di registrazione: Aug 2006
Ubicazione: Messina
Messaggi: 6,474
Invia un messaggio tramite Skype a Thedarkita
Ciao MimmoNapoli,

Posta pure ciò che sei riuscito a fare, e vedremo di aiutarti.
Thedarkita ora è in linea   Rispondi citando
Vecchio 30-01-09, 16:39   #71 (permalink)
User
 
L'avatar di eretis
 
Data di registrazione: Jan 2009
Messaggi: 18
Ciao ragazzi, ho preso spunto da questo script per farmi il login del mio sito. All'inizio della pagina che devo proteggere ho inserito questo codice:

Codice PHP:
<?php 

include "connessione.php";

If (!isset(
$_SESSION['Nickname'])) {
die(
"non risulti loggato");
exit;

}

?>
c'è qualcosa che non va...ma lo script dovrebbe essere corretto....infatti se metto i dati di un utente registrato mi dice non risulti loggato, invece se uso dati sbagliati nella form mi da "nome utente o password errati".... ecco invece il login:

Codice PHP:
<?php

include "connessione.php";

session_start();

if(isset(
$_POST['Nickname'])) { 

$nicknametrim($_POST['Nickname']);
$passwordtrim($_POST['Password']);

$passwordmd5($password);

$querymysql_query("SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'");
$utente=mysql_num_rows($query);

if(
$utente==1) {
    
$_SESSION['Nickname'] = $nickname;

header("Location: frames.php");
    
}

else { 
die (
'Nickname o Password errati');

 
}

}

?>
Dove sbaglio stavolta?

Ultima modifica di eretis : 30-01-09 16:44.
eretis non in linea   Rispondi citando
Vecchio 30-01-09, 18:44   #72 (permalink)
User
 
L'avatar di eretis
 
Data di registrazione: Jan 2009
Messaggi: 18
Ragazzi, ho messo session_start (); nel file "connessione.php"... prima era in index.php (dove si effettua il login)...ora se metto i dati errati nella form, mi dice che sono tali...mentre se li metto giusti mi apre la pagina....frames.php ma mi resta bianca..da cosa può dipendere?

Scusate per il doppio post non mi faceva più editare

Ultima modifica di eretis : 30-01-09 18:56.
eretis non in linea   Rispondi citando
Vecchio 31-01-09, 23:26   #73 (permalink)
User
 
L'avatar di eretis
 
Data di registrazione: Jan 2009
Messaggi: 18
Ho risolto....c'ho sbattuto la testa un altro paio di orette Ma cosa sono questi magicquotes? Mai sentiti..
eretis non in linea   Rispondi citando
Vecchio 31-01-09, 23:38   #74 (permalink)
ModSenior
 
L'avatar di Thedarkita
 
Data di registrazione: Aug 2006
Ubicazione: Messina
Messaggi: 6,474
Invia un messaggio tramite Skype a Thedarkita
Ciao eretis,

Magic_quotes_gpc è un impostazione del config di php, che permette di filtrare autamicamente gli ' ricevuti in input tramite GET, POST e COOKIE, aggiungendo un escape.
Noi nello script abbiamo controllato se il php.ini è configurato per filtrarli ,altrimenti lo facciamo noi con la funzione addslashes, ciò impedisce che si verifichino SQL injection.
Thedarkita ora è in linea   Rispondi citando
Vecchio 04-02-09, 23:08   #75 (permalink)
User
 
L'avatar di eretis
 
Data di registrazione: Jan 2009
Messaggi: 18
Nooooooooo...ho reinstallato wm server tools perchè mi dava problemi....stessa versione e tutto...e stesso codice (avevo fatto il backup) perchè ora non mi partono di nuovo più le sessioni?
Mi dice Nickname o Password errati..

Riposto di nuovo...

Login:

Codice PHP:
<?php

include "config.php";

if(isset(
$_POST['Nickname'])) { 

$nicknametrim($_POST['Nickname']);
$passwordtrim($_POST['Password']);

$passwordmd5($password);

$querymysql_query("SELECT * FROM lista_utenti WHERE Nickname = '$nickname' AND Password = '$password'");
$utente=mysql_num_rows($query);

if(!
$utente==1) {

die(
'Nickname o Password errati');

}

else { 
    
$_SESSION['Nickname'] = $nickname;

header("Location: frames.php");
    
}

}

?>


in una privata:

Codice PHP:
<?php 

include "config.php";

If (!isset(
$_SESSION['Nickname'])) {
die(
"non risulti loggato");
exit;

}

?>
eretis non in linea   Rispondi citando
Rispondi
Tags: , , ,



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 20:21.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.