Cambia Password

valient13

Utente Attivo
6 Apr 2012
96
0
0
Sicilia
Sto creando un file per cambiare la password di un account solo che non mi da sempre password vecchia sbagliata:
PHP:
$id_utente = $_SESSION['id_utente'];
#metodo per cambiare la password
	if (isset($_POST["invia"])) {
		$oldpassword=$_POST['oldpassword'];
		$newpassword=$_POST['newpassword'];
		#controllo della password vecchia
		$query = @mysql_query("SELECT id_utente='$id_utente' FROM iscritti WHERE password='$oldpassword'") or die('Errore: ' . mysql_error()); 
		# controllo sulla presenza di una corrispondenza prodotta dal confronto
		$conta = @mysql_num_rows($query);
		# se il confronto genera una corrispondenza..
		if ($conta == 1) 
			{
			  # ..Viene cambiata la password con quella nuova
			  echo "<b>Password Giusta</b>";
			  return TRUE;
			}else{
			  # ..altrimenti l'esito sarà negativo
			  echo "<b>Password Vecchia Sbagliata</b>";
			  return FALSE;
		}
	}
 <!-- Content -->
  <div id="content">
  	<div id="conteiner">
  		<div align="center">
  			<h2>Cambia Password</h2>
  			<div id="profile">
	  			<form name="cambiapassword" method="post">
					  	<b>Vecchia Password:</b> <br />
					  	<input type="TEXT" name="oldpassword" class="tb11"><br>
						<b>Nuova Password:</b> <br />
						<input name="newpassword" id="newpassword" class="tb11" />
						<br />
						<button name="invia" class="tb12">Invia</button>
	  			</form>
  			</div>
  		</div>
  	</div>

EDIT:
Ci ho pensato ora, vero la password è criptata in MD5, come faccio a decriptarla e fargli fare il controllo?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ciao,

PHP:
$oldpassword=md5($_POST['oldpassword']);
 

valient13

Utente Attivo
6 Apr 2012
96
0
0
Sicilia
modificato in questo modo:
PHP:
<?php 
	# inizializzazione della sessione
	@session_start();
	# inclusione del file di funzione
	@include_once 'functions.php';
	# istanza della classe
	$obj = new Iscrizioni();
	# chiamata al metodo per la verifica della sessione
	if (!$obj->verifica_sessione())
	{
	  #redirect in caso di sessione non verificata
	  @header("location:errore2.php");
	}
	# identificativo univoco dell'utente
	$id_utente = $_SESSION['id_utente'];

	require_once 'header.php';

	
	#metodo per cambiare la password
	if (isset($_POST["invia"])) {
		$oldpassword=md5($_POST['oldpassword']);
		$newpassword=md5($_POST['newpassword']);
		#controllo della password vecchia
		$query = @mysql_query("SELECT id_utente='$id_utente' FROM iscritti WHERE password='$oldpassword'") or die('Errore: ' . mysql_error()); 
		# controllo sulla presenza di una corrispondenza prodotta dal confronto
		$conta = @mysql_num_rows($query);
		# se il confronto genera una corrispondenza..
		if ($conta == 1) 
			{
			  # ..Viene cambiata la password con quella nuova
			  echo "<b>Password Giusta</b>";
			  return TRUE;
			}else{
			  # ..altrimenti l'esito sarà negativo
			  echo "<b>Password Vecchia Sbagliata</b>";
			  return FALSE;
		}
	}
?>

  <!-- Content -->
  <div id="content">
  	<div id="conteiner">
  		<div align="center">
  			<h2>Cambia Password</h2>
  			<div id="profile">
	  			<form name="cambiapassword" method="post">
					  	<b>Vecchia Password:</b> <br />
					  	<input type="TEXT" name="oldpassword" class="tb11"><br>
						<b>Nuova Password:</b> <br />
						<input name="newpassword" id="newpassword" class="tb11" />
						<br />
						<button name="invia" class="tb12">Invia</button>
	  			</form>
  			</div>
  		</div>
  	</div>
    <?php require_once 'sidebar.php'; ?>
  </div>
  
<?php require_once 'footer.php'; ?>

ma niente.. mi da sempre la password sbagliata
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
vedo ora che la query è sbagliata :

non

PHP:
SELECT id_utente='$id_utente' FROM iscritti WHERE password='$oldpassword'

ma

PHP:
SELECT id_utente FROM iscritti WHERE  id_utente='$id_utente' && password='$oldpassword'
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Prova così; ho aggiunto parecchi commenti per farti capire dove sbagli:
PHP:
<?php
// è sconsigliato l'uso del cancelletto (#) per i commenti
// è sconsigliato l'uso dell'operatore silence (@)

session_start();

// usa require_once invece di include_once e specifica un percorso assolutp
require_once __DIR__ . '/functions.php';

// dai un nome sensato alle variabili di istanza
$iscrizioni = new Iscrizioni();

if (!$iscrizioni->verifica_sessione())
{
    // usa le virgolette solo se necessario, altrimenti gli apici
    header('Location: errore2.php');

    // interrompi lo script dopo un refresh per evitare il caricamento del
    // resto della pagina
    exit();
}

$id_utente = $_SESSION['id_utente'];

require_once __DIR__ . '/header.php';

// invece di controllare l'esistenza del pulsante di invio, controlla il metodo
// usato nella richiesta HTTP
if ('POST' === $_SERVER['REQUEST_METHOD']) {
    // nei nomi di variabile separa le diverse parole tramite underscore o
    // maiuscole
    $old_password = md5($_POST['old_password']);
    $new_password = md5($_POST['new_password']);
    
    $sql = sprintf("SELECT * FROM iscritti WHERE id_utente = %d AND password = '%s'", $id_utente, $old_password);
    $query = mysql_query($sql) or die(mysql_error());
    
    if (mysql_num_rows($query) > 0) {
        echo "<b>Password Giusta</b>";
    } else{
        echo "<b>Password Vecchia Sbagliata</b>";
    }
} else {
    echo <<<EOF
        <!-- Content -->
        <div id="content">
            <div id="conteiner">
                <div align="center">
                    <h2>Cambia Password</h2>
                    <div id="profile">
                        <form name="cambiapassword" method="post">
                            <b>Vecchia Password:</b><br>
                            <input type="text" name="old_password" class="tb11"><br>
                            
                            <b>Nuova Password:</b> <br>
                            <input name="newpassword" id="new_password" class="tb11" />
                            
                            <br>
                            
                            <button type="submit" class="tb12">Invia</button>
                        </form>
                    </div>
                </div>
            </div>
EOF;

    require_once __DIR__ . '/sidebar.php';

    echo <<<EOF
        </div>
EOF;
}

require_once __DIR__ . '/footer.php';
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
@alex
scusa solita domanda
ho notato che scrivi
PHP:
<?php
//....
$sql = sprintf("SELECT * FROM iscritti WHERE id_utente = %d AND password = '%s'", $id_utente, $old_password); 
//...
?>
che vantaggio c'è rispetto a
PHP:
<?php
//....
$sql = "SELECT * FROM iscritti WHERE id_utente = $id_utente AND password = '$old_password'"; 
//...
?>
?
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Problema con funzione cambia password PHP 5
L Sito realizzato, cliente non paga e cambia le password Discussioni Varie 14
R jquery che cambia css di un elemento non mi funziona sulla pagina caricata da ajax Ajax 5
V Mailchimp - box di testo: cambia da solo il testo inserito Email Marketing 2
S Testo scrolla su immagine che cambia HTML e CSS 0
F Opzione cambia aspetto del sito PHP 1
F [PHP] [HTML] Tabella cambia pagina responsive PHP 8
T PHP: variabile che cambia ogni 5 giorni... PHP 3
MrSab Nel tentativo di reinventarsi in un mondo che cambia.... Presentati al Forum 0
Shyson [CSS] Titolo del sito cambia dimensione HTML e CSS 2
R [MS Access] CONDIZIONE CHE CAMBIA PROPRIETA' DI UNA CONTROLLO MS Access 7
M [PHP] Tabella datagrid con icona di modifica che cambia in base a parametro PHP 0
G [ACCESS2007]: contare li ultimi record con lo stesso valore in un campo, finchè il valore non cambia MS Access 2
G L'interno della selezione non cambia Photoshop 1
otto9due Funzione cambia attributo input value non funziona.. Un aiutino :D Javascript 14
L Slideshow non cambia le foto Flash 7
A padding-top cambia in alcune pagine HTML e CSS 1
Shyson gif si sposta in basso se cambia l'anno Javascript 1
S Il sito cambia dimensioni e posizionamento componenti in diversi computer HTML e CSS 1
K Perché "session_start" mi cambia l'impaginazione su explorer? PHP 14
valient13 Formazione che cambia Javascript 7
S Cambia la posizione con jQuery jQuery 1
I onclick non cambia l'immagine invece onmouseOver e Out si Javascript 9
P rollOver su testo cambia jpg Javascript 2
D una pagina che cambia o più pagine diverse? PHP 4
B Cambia visualizzazione pagina se accedo con il cellulare. HTML e CSS 0
F che cosa cambia tra questi attributi? HTML e CSS 0
G funzione che cambia pagina al click Ajax 6
R Iframe che cambia con l'orario PHP 5
M Option che cambia un link dal pannello di controllo PHP 16
D PHP e l'if che cambia le carte in tavola... PHP 5
Ailinen Il pc cambia risoluzione Hardware 12
A Cambiando PC Cambia la velocità di connessione, HELP! Reti LAN e Wireless 0
W perchè il mio sito cambia aspetto? [css] HTML e CSS 15
F mysql e MS sql server: cosa cambia? MySQL 1
P Cambia Immagine HTML e CSS 4
G Immagine flash che si sposta e cambia... Flash 2
RePit Il Portale dei Nebrodi cambia faccia.... Presenta il tuo Sito 2
M [AS]Cambia colore font Flash 0
cerbero immagine ke cambia con mouse sopra Javascript 7
S Testo cambia colore HTML e CSS 1
S Immagine di sfondo che cambia ad ogni accesso Javascript 2
P tabella cambia sfondo al passagio del mouse HTML e CSS 1
I reset password PHP 1
I recupera password via mail salva pasword password_hash PHP 2
I resetta password via mail PHP 2
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
MarcoGrazia Creare una password Snippet Javascript 0
W Recupero password Classic ASP 16
gandalf1959 [PHP] Verifica password per accesso ad area riservata PHP 3

Discussioni simili